Purpose

The purpose of this page is to identify the invalid objects.

In the PL/SQL analysis log files, we can find the following warning :

Object 'XX_YY_ZZ' is found as invalid - Please check your code and recompile it if necessary.

Applicable in CAST Version
Release
Yes/No
8.3.x(error)
8.2.x(error)
8.1.x(error)
8.0.x (tick) 
7.2.x(tick)
7.1.x(tick)
7.0.x(error)
Applicable RDBMS
RDBMS
Yes/No
Oracle Server(tick)
Microsoft SQL Server(tick)
CSS3(error)
CSS2(tick)
CSS1(error)
Action Plan

The SQL Analyzer does not analyze objects that are marked as invalid in the Oracle Server system catalog.

Invalid objects are still visible in CAST Enlighten (with the property "Object is invalid") but no links will be created from or to these objects.

The objects might come as deleted/modified in this case as its not extracted and analyzed properly.

This means that the object XX_YY_ZZ is tagged as invalid in ORACLE Extraction output.

  1. To check if the object XX_YY_ZZ is invalid, open the uax file that is in the extraction folder corresponding to this object.
  2. To find where the object is defined, check the "DatabaseExtraction.uaxdirectory" file that is in the extraction folder and search the XX_YY_ZZ object, it is associated to its uax file.
    For instance: <uaxFile path="PB.88.uax" name="XX_YY_ZZ" type="CAST_Oracle_PackageBody"/>
    Open the PB.88.uax and check the invalid status of this object : <CAST_Oracle_InvalidObject isInvalid="1"/> --> If the status = 1, then the object is invalid.
  3. In the PL/SQL Extraction folder, search for all objects having the status "CAST_Oracle_InvalidObject isInvalid" set to 1 by targeting the .uax files.,using Notepad++
  4. Also check in the Oracle schema that has been extracted, what the invalid objects are.
    1. To identify all the invalid objects in the Oracle Schema, run the following query :

      SELECT owner,
       object_type,
                    object_name,
                    status
       FROM dba_objects
       WHERE status = 'INVALID'
                    and owner = '<YOUR SCHEMA NAME>'
       ORDER BY owner, object_type, object_name
  5. If objects are invalid, recompile them, To recompile Oracle schema, you can follow the links: Recompiling Invalid Schema Objects and Oracle: Recompile Invalid Objects Mostly,there are two processes:
    • DBMS_UTILITY.COMPILE_SCHEMA.
    • Two procedures in UTL_RECOMP.
  6. Extract the schema again

    Note that as it is indicated in the DMT help online : CAST Delivery Manager Tool - Help > Interface - an explanation of each page > Source Code Package page > Where is your source code > Database > Oracle CAST extractor for Oracle or Oracle 8i:

    In order to carry out an extraction of the required schemas, the person in charge of the extraction must use an Oracle user with the following privileges:
    SYSTEM or other user with DBA equivalent privileges (when the extractor is executed, it will query the DBA_* tables).

  7. Then run analysis.
Notes/comments

 

Related Pages