How to Show the Current State of the Oracle Data Dictionary
To check the state of the Oracle Data Dictionary for diagnosing upgrades and migrations, use one of three methods.
Example 7-1 Run a SQL Query on DBA_REGISTRY
To show the current state of the dictionary, perform a SQL query similar to the following example:
SQL> spool /tmp/regInvalid.out
SQL> set echo on
-- query registry
SQL> set lines 80 pages 100
SQL> select substr(comp_id,1,15) comp_id,substr(comp_name,1,30)
      comp_name,substr(version,1,10) version_full,status
from dba_registry order by comp_id;
Example 7-2 Run SQL Queries to Check for Invalid Objects
To check for invalid objects, you can perform SQL queries, similar to the following examples:
- 
                        
                        This query list all the invalid objects in the database: SQL> select owner, object_name, object_type from dba_invalid_objects order by owner, object_type, object_name;
- 
                        
                        After you have upgraded the database, and you have run utlrp.sql, Oracle-maintained objects should be valid.To check to ensure Oracle-maintained objects are valid, enter the following query: SQL> select owner, object_name, object_type from sys.dba_invalid_objects where oracle_maintained='Y';
- 
                        
                        To list any invalid application objects in the database, enter the following query: SQL> select owner, object_name, object_type from sys.dba_invalid_objects where oracle_maintained='N';
Example 7-3 Run the dbupgdiag.sql Script
                  
(Optional) If you want to obtain further information about the
                        upgrade, you can choose to run the dbupgdiag.sql script.
                        The dbupgdiag.sql script collects diagnostic
                        information about the status of the database, either before or after the
                        upgrade. Download the script from My Oracle Support note 556610, and run the
                        script as the database SYS user. The script generates the
                        diagnostic information in a readable format, in a log file with the name
                        file db_upg_diag_sid_timestamp.log, where
                                    sid is the
                        Oracle system identifier for the database, and timestamp is the time that the file is
                        generated. 
                  
For example, where you download and place the script in the
                        directory /u01/dbupgdiag-script:
                  
/u01/dbupdiag-script/ $ sqlplus / as sysdba
sql> alter session set nls_language='American';
sql> @dbupgdiag.sql
sql> exitYou can run the script in SQL*Plus both before the upgrade on the source database, and after the upgrade on the upgraded database. For more information about the script, refer to the instructions and the output example file in My Oracle Support Note 556610.1.
Related Topics
Parent topic: Postupgrade Tasks for Oracle Database