Late yesterday we released version 22.1.1 of Oracle REST Data Services. We picked up a new version of Jetty (for Standalone) and fixed a few bugs.

One of those was critical –

34092368 ORDS: OutOfMemoryError can occur when starting in standalone mode

This could present itself in a couple of different ways (fun Java error messages), but it was basically grabbing between 1-3 GB of RAM to get ORDS going in Standalone. That’s FIXED in this update.

Now, that being said, I had 22.1 going already. And now I’m ready to get 22.1.1.

UPGRADING ORDS

Haven’t done an ORDS install since 22.1 came out? Everything’s new/different/better. Please go catch up here, and then come back if you want to see what an upgrade looks like.

The old way, prior to version 22.1

  • download the zip, extract
  • java -jar ords.war
  • you would be prompted for the configdir
  • ORDS would see your defined Pools, and then go do an upgrade

The new way, 22.1 and higher

  • download the zip, extract
  • run the ‘install’ command
  • follow the prompts to do your upgrade

Let’s see what that looks like exactly. In my configuration, I have two pools:

  • default (first database)
  • orcl (second database)
ords --config /path/to/config install
I’m not adding any new pools, I just want to upgrade ORDS in my existing databases.

This option says, let’s go look at ORDS_METADATA and upgrade it if necessary.

But, I have two pools…

So I need to pick 1 or 2.

I’m going to upgrade both pools, so I’ll run this scenario twice.

Ok, we’re ready to go-go-go!

Starting ORDS

We use the ‘serve’ command, and either include the config on the CLI, or have the appropriate ENV variable set so ORDS can find its configuration folders.

ords --config /path/to/config serve

With ORDS running, I can launch SQL Developer Web and see that’s it’s running 22.2.1. now.

Cool.
Author

I'm a Distinguished Product Manager at Oracle. My mission is to help you and your company be more efficient with our database tools.

19 Comments

  1. Hello,

    I’ve also installed Oracle REST Data Services 23.2.0.r1770931 in a Oracle 19.20 database and have the invalid package body ORDS_SELF_SERVICE_SCHEMA with the ORA-00600 message.

    @Donna, did you make a sr and have you already recieve an answer?

    • Also with te latest version, Oracle REST Data Services 23.2.2.r2081534, I recieved this error…

    • The ORA-600 needs sorted by Support, by the database team.

      Have you started an SR yet? I can help get it prioritized.

    • Yes, I’ve made a SR by Support.

      I’ve already determined that de problem doesn’t exist with version 23.1.4.r1501808, but all de 23.2.x versions give me this error.

    • yeah because that package didn’t exist in those older versions

      the problem isn’t our plsql, the problem is in the db that’s being triggered by our valid plsql code, hence the ORA-600 – that’s a database bug

    • Hi Jeff.
      Just I’ve already mentioned I made a SR for the ORA-00600. It’s already recognized as a bug and they told me the solution will be delivered with ORDS version 23.7.2.1. But it will take time to release this version.
      In my option this can be a security issue, because at this moment we can’t update ORDS to version 23.2.x. That could be a security risk, beacuse there are no separate security patches. When there is a new ORDS version, it’s include solutions for bugs, new functionality, but also fixes for possible security leaks. So we want always run with the latest version of all components, but that isn’t possible when the solution doesn’t released on short term.

    • There is no ORDS 23.7.2.1, and it’s a database bug, not an ORDS bug.

      I have no idea what you mean about security issues and ords updates – feel free to email me at [email protected]

  2. We did an uninstall of 23.2 and installed 22.3 instead to get around the ora-600 error.

  3. Here is the error:
    Package Body ORDS_SELF_SERVICE_SCHEMA compiled

    LINE/COL ERROR
    ——— ————————————————————-
    1686/7 PL/SQL: SQL Statement ignored
    1702/41 PL/SQL: ORA-00600: internal error code, arguments: [qctbyt : bfc], [65535], [18446744073709551615], [1], [
    873], [1], [1], [0], [], [], [], []
    Errors: check compiler log
    [*** script: ords_database_roles.sql]

    • Ugh, 600…can you check the database Alert Log. to see if there’s a corresponding message there? I may need you to open a Service Request with My Oracle Support as it sounds like we have a database issue.

    • Through analysis, I identified the root cause of the error “ORA-00600:[qctbyt : bfc] “as the type T_ORDS_VCHAR_TAB, defined as:

      CREATE OR REPLACE TYPE ORDS_METADATA.”T_ORDS_VCHAR_TAB” IS TABLE OF VARCHAR2(32767);

      Our database uses the parameter NLS_LENGTH_SEMANTICS=CHAR at the database level, which led to encountering Oracle bug 30874084 , as described in Oracle Support Note Doc ID 2972860.1.

      I tested various workarounds and found that if I change the Oracle T_ORDS_VCHAR_TAB type to “BYTE” semantic before the upgrade, the upgrade process completes without errors:

      CREATE OR REPLACE TYPE ORDS_METADATA.”T_ORDS_VCHAR_TAB” IS TABLE OF VARCHAR2(32767 BYTE);

  4. Hi Jeff, would you recommend ORDS 23.2.2, the latest ORDS version? We ran into an issue: ORA-06512: at “ORDS_METADATA.VALIDATE_ORDS”, line 472. We have already upgraded Apex to the latest version – 23.1. ORDS_SELF_SERVICE_SCHEMA package body is invalid, it is causing the ORDS install/upgrade to fail. Any tips to offer? Many thanks!

    • Can you run the install, again?

      Then share the log? It should have the plsql errors attached if it doesn’t work.

    • Christian

      same error during installation on a NON-CDB 19.17 with the newest ORDS Version (ORDS: Release 23.2)

      Package Body ORDS_SELF_SERVICE_SCHEMA compiled

      LINE/COL ERROR
      ——— ————————————————————-
      1686/7 PL/SQL: SQL Statement ignored
      1702/41 PL/SQL: ORA-00600: internal error code, arguments: [qctbyt : bfc], [65535], [18446744073709551615], [1], [873], [1], [1], [0], [], [], [], []
      Errors: check compiler log

  5. can’t start when
    ExecStart=/usr/bin/bash -c ‘/etc/init.d/ords start’
    but no problem with
    ExecStart=/usr/bin/bash -lc “/opt/ords/bin/ords –config /etc/ords/config serve”

Write A Comment