6 Replies Latest reply on Feb 12, 2019 1:04 AM by partlycloudy

    ORA-22922: nonexistent LOB value

    partlycloudy

      APEX 18.2

       

      One of our Exadata PDB is throwing  this error when rendering an APEX page. All other apps on that PDB work fine.

       

      But the same application works fine on another PDB on the same Exadata.

       

      Any ideas? Here is a LEVEL9 debug

       

      ... get_component -> APEX_APPLICATION_PAGES Status Summary
      Error: Error processing request.
      - additional_info: Contact your application administrator.
      Details about this incident are available via debug id "81930".
      - display_location: ON_ERROR_PAGE
      - is_internal_error: true
      - apex_error_code: APEX.UNHANDLED_ERROR
      - ora_sqlcode: -22922
      - ora_sqlerrm: ORA-22922: nonexistent LOB value
      - error_backtrace: ORA-06512: at "APEX_180200.WWV_FLOW_UTILITIES", line 8058
      ORA-06512: at "APEX_180200.WWV_FLOW_META_DATA", line 749
      ORA-06512: at "APEX_180200.WWV_FLOW", line 4242
      
      
      - component: APEX_APPLICATION_PAGES Status Summary (222000000009)
      ...Show Error on Error Page
      ......Performing rollback
      

       

      Update:  I took a full export of the app (f222.sql) from one PDB1 and did the following on the other PDB2

       

      begin
         apex_application_install.set_application_id(222);
         apex_application_install.generate_offset;
         @f222.sql
      end;
      

       

      Now it works fine! I am not sure I understand why Lines 2 & 3 are suddenly needed but it works now. Yes, I ran the same steps back on PDB1 as well so that our deployment procedures can stay the same.

       

      If I were to guess, this looks like a strange issue with the internal component IDs used by APEX. Using generate_offset does some magic to bump all the internal IDs.

       

      Just to be clear, I have never needed to do this before, exporting from one database and importing into another has always worked.

       

      joelkallman-Oracle Any ideas on what may be going on here?

       

      GENERATE_OFFSET Procedure

      This procedure generates the offset value used during application import. Use the offset value to ensure that the metadata for the Application Express application definition does not collide with other metadata on the instance. For a new application installation, it is usually sufficient to call this procedure to have Application Express generate this offset value for you.