ORA-00600 [qcisSetPlsqlCtx:tzi init] - out of place patching - Golden Home
'Golden Home" methodology:
Golden Home is a very simple process for Oracle Software consolidation and maintenance process ( patching, upgrades etc.) this is suitable for environment with a lot of databases by using pre-defined home ( cloned oracle software ), Oracle Home is prepared with all necessary patches in order to speed-up patching activities and avoid complexity by just switching from old home with old patch level to a new home with new PSU or any other patch levels.
This process will be presented very soon in the blog by some of my colleagues
In my case, we face an issue with ORA-00600 [qcisSetPlsqlCtx:tzi init] - related to time zone files which are missing in the new home location due to the fact that in case of huge environment you should be aware of all specifics :)
If you try to start the database from the new Oracle Home with new PSU version during the open face database reporting error - ORA-00600 [qcisSetPlsqlCtx:tzi init]
How to fix the issue ( two cases ):
First case
SQL> startup nomount;
SQL> alter database mount; SQL> alter database open; in such case you should performe the below steps (Apply fix) and start database in open stage |
Second case
SQL> startup nomount;
SQL> alter database mount; SQL> alter database open; SQL> @?/rdbms/admin/catbundle.sql psu apply PL/SQL procedure successfully completed. Function created. Function created. DECLARE * ERROR at line 1: ORA-00600: internal error code, arguments: [qcisSetPlsqlCtx:tzi init], [], [], [], [], [], [], [], [], [], [], [] # this is the point where catbundle failed # REM Determine the names of interesting directories and create them if ########### in such case you should performe the below steps (Apply fix) and execute again catbundle SQL> @?/rdbms/admin/catbundle.sql psu apply PL/SQL procedure successfully completed. Function created. Function created. PL/SQL procedure successfully completed. PL/SQL procedure successfully completed. Generating apply and rollback scripts... Check the following file for errors: |
In our case
Old home - /u01/app/db/11.2.0/db1 New Home - /u01/app/db/11.2.0/db2 |
Apply fix
The best and very easy way to fix the issue is to copy all time zone files from old home to new home
cd /u01/app/db/11.2.0/db1/oracore/zoneinfo/ mkdir –p /u01/app/db/11.2.0/db2/oracore/zoneinfo/ cp -Rp zoneinfo/* /u01/app/db/11.2.0/db2/oracore/zoneinfo/ |
How to check time zone version and file used
SQL> select * from v$timezone_file; FILENAME VERSION SQL> SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value PROPERTY_NAME DST_SECONDARY_TT_VERSION DST_UPGRADE_STATE
TZ_VERSION |
have fun! |