Solution for ORA-00600: Internal Error Code, Arguments: [4193] [2206} in Oracle
In this post we will see How to solve ORA-00600: Internal Error Code, Arguments: [4193] [2206], You can encounter this error in Multitenant Environment (CDB) if your Oracle Database machine was suddenly stopped without proper shutdown command due to some unavoidable problem like Power Failure, Power cable issue, etc.
You can receive ORA-00600 for CDB$ROOT or PDB. In the first section, we showed steps to fix this error in the CDB$ROOT container, and in the later section steps to fix this error in the PDB container.
Issue in CDB$ROOT container
When we tried to start the Oracle database we received ORA-00600 during DB startup.
[oracle@test-machine01 ~]$
[oracle@test-machine01 ~]$
[oracle@test-machine01 ~]$ sqlplus sys as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Sep 30 15:20:28 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Enter password:
Connected to an idle instance.
SQL>
SQL> startup mount
ORACLE instance started.
Total System Global Area 838858864 bytes
Fixed Size 9140336 bytes
Variable Size 792723456 bytes
Database Buffers 29360128 bytes
Redo Buffers 7634944 bytes
Database mounted.
SQL>
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-00603: ORACLE server session terminated by fatal error
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [4194], [20], [9], [], [], [], [],
[], [], [], [], []
Process ID: 12529
Session ID: 237 Serial number: 62242
SQL>
Step 1. Verify Local Undo Used: Startup database in mount state. and verify Local Undo is used by querying view database_properties and validate the current Undo tablespace name.
[oracle@test-machine01 ~]$
[oracle@test-machine01 ~]$ sqlplus sys as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Sep 30 15:27:45 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Enter password:
Connected to an idle instance.
SQL>
SQL> startup mount
ORACLE instance started.
Total System Global Area 838858864 bytes
Fixed Size 9140336 bytes
Variable Size 792723456 bytes
Database Buffers 29360128 bytes
Redo Buffers 7634944 bytes
Database mounted.
SQL>
SQL>
SQL> set lines 300
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
spfile string /u01/app/oracle/product/19.3.0/db_1/dbs/spfilecdb1.ora
SQL>
SQL>
SQL>
SQL> set lines 300
SQL> col PROPERTY_NAME for a50
SQL> col PROPERTY_VALUE for a50
SQL>
SQL>
SQL> SELECT property_name, property_value FROM database_properties WHERE property_name = 'LOCAL_UNDO_ENABLED';
PROPERTY_NAME PROPERTY_VALUE
-------------------------------------------------- --------------------------------------------------
LOCAL_UNDO_ENABLED TRUE
SQL>
SQL>
SQL> show parameter undo;
NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
temp_undo_enabled boolean FALSE
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL>
SQL>
Step 2. Change undo_management to manual: In order to open the database without ORA-600 change the parameter undo_management to manual at CDB level and restart the database with the force mount option. Verify parameter undo_management set to manual, and then open the database.
SQL>
SQL> Alter system set undo_management=manual scope=spfile;
System altered.
SQL> Show parameter undo_management
NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
undo_management string AUTO
SQL>
SQL> startup force mount
ORACLE instance started.
Total System Global Area 838858864 bytes
Fixed Size 9140336 bytes
Variable Size 792723456 bytes
Database Buffers 29360128 bytes
Redo Buffers 7634944 bytes
Database mounted.
SQL>
SQL> Show parameter undo_management
NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
undo_management string MANUAL
SQL>
SQL>
SQL> Alter database open ;
Database altered.
SQL>
Step 3. Create new undo tablespace: Create a new Undo tablespace with a different name and set this undo as Primary Undo in the init file with scope=spfile option and drop the existing Undo tablespace and restart the database.
SQL>
SQL> create undo tablespace UNDOTBS2 datafile '/u01/oradata/CDB1/undotbs02.dbf' size 100m autoextend on maxsize unlimited;
Tablespace created.
SQL> ALTER SYSTEM set UNDO_TABLESPACE='UNDOTBS2' scope=both;
ALTER SYSTEM set UNDO_TABLESPACE='UNDOTBS2' scope=both
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-30014: operation only supported in Automatic Undo Management mode
SQL>
SQL> ALTER SYSTEM set UNDO_TABLESPACE='UNDOTBS2' scope=spfile;
System altered.
SQL>
SQL> DROP tablespace UNDOTBS1 including contents and datafiles;
Tablespace dropped.
SQL>
SQL> Show parameter undo_management
NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
undo_management string MANUAL
SQL>
SQL> alter system set undo_management=Auto scope=spfile;
System altered.
SQL>
SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
Step 4. Change Undo Tablespace in init parameter file: DB startup command failed as DB still looking for old dropped undo tablespace. Create an init file from spfile and update the new undo tablespace name.
SQL>
SQL> startup
ORACLE instance started.
Total System Global Area 838858864 bytes
Fixed Size 9140336 bytes
Variable Size 780140544 bytes
Database Buffers 41943040 bytes
Redo Buffers 7634944 bytes
Database mounted.
ORA-00603: ORACLE server session terminated by fatal error
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-30012: undo tablespace 'UNDOTBS1' does not exist or of wrong type
Process ID: 44209
Session ID: 237 Serial number: 26535
SQL> create pfile from spfile;
ERROR:
ORA-03114: not connected to ORACLE
SQL>
SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
^[[A[oracle@test-machine01 ~]$
[oracle@test-machine01 ~]$ sqlplus sys as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sat Oct 1 00:03:47 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Enter password:
Connected to an idle instance.
SQL> create pfile from spfile;
File created.
SQL> !
[oracle@test-machine01 ~]$
[oracle@test-machine01 ~]$ cd $ORACLE_HOME
[oracle@test-machine01 db_1]$
[oracle@test-machine01 db_1]$
[oracle@test-machine01 db_1]$ cd dbs
[oracle@test-machine01 dbs]$
oracle@test-machine01 dbs]$
[oracle@test-machine01 dbs]$ ls -ltr *cdb1*
-rw-r-----. 1 oracle oinstall 2048 Nov 3 2020 orapwcdb1
-rw-r-----. 1 oracle oinstall 18726912 Aug 29 00:14 snapcf_cdb1.f
-rw-r-----. 1 oracle oinstall 3584 Oct 1 00:00 spfilecdb1.ora
-rw-rw----. 1 oracle oinstall 1544 Oct 1 00:01 hc_cdb1.dat
-rw-r--r--. 1 oracle oinstall 1228 Oct 1 00:03 initcdb1.ora
[oracle@test-machine01 dbs]$
[oracle@test-machine01 dbs]$ mv spfilecdb1.ora spfilecdb1.old
[oracle@test-machine01 dbs]$
[oracle@test-machine01 dbs]$ vi initcdb1.ora
[oracle@test-machine01 dbs]$
[oracle@test-machine01 dbs]$ cat initcdb1.ora |grep undo
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS2'
[oracle@test-machine01 dbs]$
[oracle@test-machine01 dbs]$ ps
PID TTY TIME CMD
11223 pts/0 00:00:00 bash
44328 pts/0 00:00:00 sqlplus
44336 pts/0 00:00:00 bash
44479 pts/0 00:00:00 ps
[oracle@test-machine01 dbs]$ exit
exit
SQL>
SQL>
SQL> startup mount
ORACLE instance started.
Total System Global Area 838858864 bytes
Fixed Size 9140336 bytes
Variable Size 780140544 bytes
Database Buffers 41943040 bytes
Redo Buffers 7634944 bytes
Database mounted.
SQL>
SQL> set lines 300
SQL>
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
temp_undo_enabled boolean FALSE
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS2
SQL>
SQL>
SQL>
SQL> alter database open;
Database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 MOUNTED
SQL>
Step 5. Open pluggable database: Now try to open PDB since we have TDE (Transparent Data Encryption) configuration enabled. So we need to open the wallet before PDB can be opened. Follow the below steps to open your wallet. Click here to read more about TDE.
SQL>
SQL> alter pluggable database PDB1 open;
alter pluggable database PDB1 open
*
ERROR at line 1:
ORA-28365: wallet is not open
SQL>
SQL> set pages 300
SQL> set lines 300
SQL> col WRL_PARAMETER for a50
SQL> select * from v$ENCRYPTION_WALLET;
WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR KEYSTORE FULLY_BAC CON_ID
-------------------- -------------------------------------------------- ------------------------------ -------------------- --------- -------- --------- ----------
FILE /u01/app/oracle/admin/cdb1/encryption_wallet//tde/ OPEN PASSWORD SINGLE NONE NO 1
FILE OPEN PASSWORD SINGLE UNITED NO 2
FILE CLOSED UNKNOWN SINGLE UNITED UNDEFINED 3
SQL>
SQL> alter session set container=PDB1;
Session altered.
SQL>
SQL> administer key management set keystore open identified by WelcomE#_1234 ;
keystore altered.
SQL> select * from v$ENCRYPTION_WALLET;
WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR KEYSTORE FULLY_BAC CON_ID
-------------------- -------------------------------------------------- ------------------------------ -------------------- --------- -------- --------- ----------
FILE OPEN PASSWORD SINGLE UNITED NO 3
SQL> alter database open ;
Database altered.
SQL>
SQL>
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 PDB1 READ WRITE NO
SQL>
SQL> alter session set container=CDB$ROOT;
Session altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
SQL>
SQL>
Issue in PDB container
Step 1. Change undo_management to manual: Set parameter undo_management to manual using scope=spfile option and restart the database with the force mount option. Verify parameter undo_management set to manual, and then open the database.
[oracle@test-machine01 ~]$
[oracle@test-machine01 ~]$ sqlplus sys as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Sep 30 15:37:53 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Enter password:
Connected to an idle instance.
SQL>
SQL> startup nomount
ORACLE instance started.
Total System Global Area 838858864 bytes
Fixed Size 9140336 bytes
Variable Size 780140544 bytes
Database Buffers 41943040 bytes
Redo Buffers 7634944 bytes
SQL>
SQL> Alter system set undo_management=manual scope=spfile;
System altered.
SQL> Startup force mount ;
ORACLE instance started.
Total System Global Area 838858864 bytes
Fixed Size 9140336 bytes
Variable Size 780140544 bytes
Database Buffers 41943040 bytes
Redo Buffers 7634944 bytes
Database mounted.
SQL>
SQL> set lines 300
SQL> Show parameter undo_management
NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
undo_management string MANUAL
SQL>
SQL> Alter database open ;
Database altered.
SQL>
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 MOUNTED
SQL>
SQL>
Step 2. Open PDB in restricted mode: Open PDB in restricted mode. Verify Local Undo is enabled and undo_management is set to manual.
QL>
SQL>
SQL> alter session set container=PDB1;
Session altered.
SQL>
SQL> alter pluggable database PDB1 open restricted;
Pluggable database altered.
SQL>
SQL> SELECT property_name, property_value FROM database_properties WHERE property_name = 'LOCAL_UNDO_ENABLED';
PROPERTY_NAME PROPERTY_VALUE
-------------------------------------------------- --------------------------------------------------
LOCAL_UNDO_ENABLED TRUE
SQL>
SQL> show parameter undo;
NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
temp_undo_enabled boolean FALSE
undo_management string MANUAL
undo_retention integer 900
undo_tablespace string
SQL>
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 PDB1 READ WRITE YES
SQL>
Step 3. Open PDB Wallet: we have TDE (Transparent Data Encryption) configuration enabled. So we need to open the wallet before tablespace can be added. Follow the below steps to open your wallet. Click here to read more about TDE.
SQL>
SQL> create undo tablespace UNDOTBS2 datafile '/u01/oradata/PDB1undotbs02.dbf' size 100m autoextend on maxsize unlimited;
create undo tablespace UNDOTBS2 datafile '/u01/oradata/PDB1undotbs02.dbf' size 100m autoextend on maxsize unlimited
*
ERROR at line 1:
ORA-28365: wallet is not open
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 PDB1 READ WRITE YES
SQL>
SQL> set pages 300
SQL> set lines 300
SQL> col WRL_PARAMETER for a50
SQL> select * from v$ENCRYPTION_WALLET;
WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR KEYSTORE FULLY_BAC CON_ID
-------------------- -------------------------------------------------- ------------------------------ -------------------- --------- -------- --------- ----------
FILE CLOSED UNKNOWN SINGLE UNITED UNDEFINED 3
SQL> administer key management set keystore open identified by WelcomE#_1234 container=all;
administer key management set keystore open identified by WelcomE#_1234 container=all
*
ERROR at line 1:
ORA-65040: operation not allowed from within a pluggable database
SQL> alter session set container=CDB$ROOT;
Session altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE YES
SQL>
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL>
SQL> administer key management set keystore open identified by WelcomE#_1234 container=all;
keystore altered.
SQL> select * from v$ENCRYPTION_WALLET;
WRL_TYPE WRL_PARAMETER STATUS WALLET_TYPE WALLET_OR KEYSTORE FULLY_BAC CON_ID
-------------------- -------------------------------------------------- ------------------------------ -------------------- --------- -------- --------- ----------
FILE /u01/app/oracle/admin/cdb1/encryption_wallet//tde/ OPEN PASSWORD SINGLE NONE NO 1
FILE OPEN PASSWORD SINGLE UNITED NO 2
FILE OPEN PASSWORD SINGLE UNITED NO 3
SQL>
Step 4. Create new undo tablespace: Create a new Undo tablespace with a different name and set this undo as Primary Undo in the init file with scope=spfile option and drop the existing undo tablespace. Close the PDB and restart the database.
SQL>
SQL> alter session set container=PDB1;
Session altered.
SQL> create undo tablespace UNDOTBS2 datafile '/u01/oradata/PDB1undotbs02.dbf' size 100m autoextend on maxsize unlimited;
Tablespace created.
SQL> alter system set undo_tablespace='UNDOTBS2' scope=both;
alter system set undo_tablespace='UNDOTBS2' scope=both
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-30014: operation only supported in Automatic Undo Management mode
SQL>
SQL> ALTER SYSTEM set UNDO_TABLESPACE='UNDOTBS2' scope=spfile;
System altered.
SQL>
SQL> DROP tablespace UNDOTBS1 including contents and datafiles;
Tablespace dropped.
SQL>
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 PDB1 READ WRITE YES
SQL>
SQL>
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ -------------------------------- ------------------------------
temp_undo_enabled boolean FALSE
undo_management string MANUAL
undo_retention integer 900
undo_tablespace string
SQL>
SQL> alter pluggable database PDB1 close;
Pluggable database altered.
SQL>
SQL> alter session set container=cdb$root;
Session altered.
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
SQL>
SQL> alter system set undo_management=Auto scope=spfile;
System altered.
SQL> Shutdown immediate ;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> SQL>
SQL>
Step 5. Open the database: Now open the database and try to open PDB. Since we have TDE we need to open the wallet.
[oracle@test-machine01 ~]$
[oracle@test-machine01 ~]$ sqlplus sys as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Fri Oct 7 15:29:54 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Enter password:
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 838858864 bytes
Fixed Size 9140336 bytes
Variable Size 780140544 bytes
Database Buffers 41943040 bytes
Redo Buffers 7634944 bytes
Database mounted.
Database opened.
SQL> SQL>
SQL>
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 MOUNTED
SQL>
SQL> alter pluggable database PDB1 open;
alter pluggable database PDB1 open
*
ERROR at line 1:
ORA-28365: wallet is not open
SQL> administer key management set keystore open identified by WelcomE#_1234 container=all;
keystore altered.
SQL> alter pluggable database PDB1 open;
alter pluggable database PDB1 open
*
ERROR at line 1:
ORA-28365: wallet is not open
SQL> alter session set container=PDB1;
Session altered.
SQL> administer key management set keystore open identified by WelcomE#_1234;
keystore altered.
SQL> alter database open;
Database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
3 PDB1 READ WRITE NO
SQL>
SQL>
Reference : MOS ORA-00600: Internal Error Code, Arguments: [4193], [2206], [51266], [], [], [] on PDB Open (Doc ID 2849388.1)
This document is only for learning purposes and always validate in the LAB environment first before applying it in the LIVE environment.
Hope so you like this article!
Please share your valuable feedback/comments/subscribe and follow us below and don’t forget to click on the bell icon to get the most recent update. Click here to know more about our pursuit.
Related Articles
- Oracle Critical Database Patch ID for October 2024 along with enabled Download Link
- Oracle Critical Database Patch ID for July 2024 along with enabled Download Link
- Oracle Critical Database Patch ID for April 2024 along with enabled Download Link
- Oracle Critical Database Patch ID for January 2024 along with enabled Download Link
- Oracle Critical Database Patch ID for October 2023 along with enabled Download Link