咨询微信: dbservice1234 7 x 24 在线支持!

ORA-00600 4194: internal error code, arguments: [4194]

ORA-00600 4194: internal error code, arguments: [4194]

 

If you cannot recover data by yourself, ask Parnassusdata, the professional ORACLE database recovery team for help.

Parnassusdata Software Database Recovery Team

Service Hotline:  +86 13764045638 E-mail: service@parnassusdata.com

 

 
Hi! Our Oracle Database often crashed. I looked into the alert log and found that it suffered an error as the title. And I searched the error in the community and got a step-by-step way to fix it. At the 5th step, the status is not 'OFFLINE','PARTLY AVAILABLE' or 'NEEDS RECOVERY', but 'ONLINE'. Please help! Thank you! 
 
 
SYMPTOMS 
 
The following error is occurring in the alert.log right before the database crashes. 
 
ORA-00600: internal error code, arguments: [4194], [#], [#], [], [], [], [], [] 
 
This error indicates that a mismatch has been detected between redo records and rollback (undo) records. 
 
ARGUMENTS: 
 
Arg [a] - Maximum Undo record number in Undo block 
Arg [b] - Undo record number from Redo block 
 
Since we are adding a new undo record to our undo block, we would expect that the new record number is equal to the maximum record number in the undo block plus one. Before Oracle can add a new undo record to the undo block it validates that this is correct. If this validation fails, then an ORA-600 [4194] will be triggered. 
 
CHANGES 
 
This issue generally occurs when there is a power outage or hardware failure that initially crashes the database. On startup, the database does the normal roll forward (redo) and then rollback (undo), this is where the error is generated on the rollback. 
 
CAUSE 
 
This also can be cause by the following defect 
 
Bug 8240762 Abstract: Undo corruptions with ORA-600 [4193]/ORA-600 [4194] or ORA-600 [4137] after SHRINK 
 
Details: 
Undo corruption may be caused after a shrink and the same undo block may be used 
for two different transactions causing several internal errors like: 
ORA-600 
 
 
 
 
 
 
SQL> select tablespace_name, status, segment_name from dba_rollback_segs where status != 'OFFLINE'; 
 
TABLESPACE_NAME STATUS SEGMENT_NAME 
-------------------- ------------------------------------------------ -------------------- 
SYSTEM ONLINE SYSTEM 
 
 
 
Please donot use any Underscore parameter or unsupported parameters.(Ensure you remove them if you have used them) 
 
Please upload me the steps you have followed. 
 
The Best option to resolve Ora-00600[4194] is listed in document 
 
Basic Steps to be Followed While Solving ORA-00600 [4194]/[4193] Errors Without Using Unsupported parameter ( Doc ID 281429.1 ) 
 
 
 
This is the content of the pfile. We need the parameters with underscore. 
orcl.__db_cache_size=171966464 
orcl.__java_pool_size=4194304 
orcl.__large_pool_size=4194304 
orcl.__oracle_base='/u01/ora11203'#ORACLE_BASE set from environment 
orcl.__pga_aggregate_target=159383552 
orcl.__sga_target=269098752 
orcl.__shared_io_pool_size=0 
orcl.__shared_pool_size=180355072 
orcl.__streams_pool_size=0 
*._row_cr=FALSE 
*.audit_file_dest='/u02/orcl/oradata/adump' 
*.audit_trail='db' 
*.compatible='11.2.0.0.0' 
*.control_files='/u02/orcl/oradata/orcl/control01.ctl','/u02/orcl/oradata/orcl/control02.ctl' 
*.db_block_size=8192 
*.db_domain='' 
*.db_name='orcl' 
*.diagnostic_dest='/u01/ora11203' 
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)' 
*.open_cursors=300 
*.pga_aggregate_target=157286400 
*.processes=150 
*.remote_login_passwordfile='EXCLUSIVE' 
*.sga_max_size=367001600 
*.sga_target=367001600 
*.undo_tablespace='UNDOTBS1' 
undo_management = manual 
event = '10513 trace name context forever, level 2' 
 
I have done the flowing step. 
1. Shutdown the instance 
 
2. set the following parameters in the pfile 
undo_management = manual 
event = '10513 trace name context forever, level 2' 
 
3. >startup restrict pfile=<initsid.ora> 
 
4. >select tablespace_name, status, segment_name from dba_rollback_segs where status != 'OFFLINE'; 
 
 
 
The underscore parameter you have set are fine(_row_cr) . 
 
Please comment out event 10513 not required for ora-00600[4194] 
 
Regarding your query 
 
SQL> select tablespace_name, status, segment_name from dba_rollback_segs where status != 'OFFLINE'; 
 
TABLESPACE_NAME STATUS SEGMENT_NAME 
-------------------- ------------------------------------------------ -------------------- 
SYSTEM ONLINE SYSTEM 
 
 
This is fine because you have set undo management to Manual so the only rollback segment available is in SYSTEM tablespace. 
 
 
You can follow the document I have given. 
 
Also run 
 
SQL>Select * from v$recover_file ; 
 
Ensure you open your database using alter database open (Donot use resetlogs)