I am writing this blog because I could not find the solution of this issue online or on MOS.
Issue: I received this ORA-00600 error after I upgrade PDB from 12c to 19c.
ORA-00600: internal error code, arguments: [4000], [447], [1], [1], [], [], [], [], [], [], [], []
This error occurs when I run some SQL's on this PDB and I also can see this in alert log file.
Cause: Actually this is 12c bug and there is no fix for this except the workaround.
Workaround: The workaround is to switch to shared undo and then switch back to local undo, unfortunately this can only be performed at CDB level
Steps:
1) connect to CDB as sysdba
connect / as sysdba
SQL> alter system set cluster_database=false scope=spfile;
System altered.
2)Stop all the database instances
srvctl stop database -d DB_NAME
3) Connect with sqlplus to one of the instances and execute
SQL> startup upgrade;
ORACLE instance started.
Total System Global Area 7953271232 bytes
Fixed Size 9157056 bytes
Variable Size 4731174912 bytes
Database Buffers 2936012800 bytes
Redo Buffers 276926464 bytes
Database mounted.
Database opened.
SQL> alter database local undo off;
Database altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.
Total System Global Area 7953271232 bytes
Fixed Size 9157056 bytes
Variable Size 4731174912 bytes
Database Buffers 2936012800 bytes
Redo Buffers 276926464 bytes
Database mounted.
Database opened.
SQL>
SQL> ALTER PLUGGABLE DATABASE ALL OPEN;
Pluggable database altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup upgrade;
ORACLE instance started.
Total System Global Area 7953271232 bytes
Fixed Size 9157056 bytes
Variable Size 4731174912 bytes
Database Buffers 2936012800 bytes
Redo Buffers 276926464 bytes
Database mounted.
Database opened.
SQL> alter database local undo on;
Database altered.
SQL> alter system set cluster_database=true scope=spfile;
System altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
4) Start the database normally and open all the pdbs if neededsrvctl start database -d DB_NAME
Now connect to the PDB and run the SQL again and we won't see the error.
Hope this helps!
No comments:
Post a Comment