Summary of Oracle8i UNDO tablespace corruption (ORA-01092 and ORA-00600 [4193]) in the case of database Incomplete recovery experience, oracle8iora-01092
The recovery directory library of the backup production environment cannot be started due to a server power failure restart, prompting the Ora-01092 routine to terminate. Force disconnect
View the trace log:
Wed Jan 10 08:41:37 2018
Errors in file d: \ Oracle \ admin \ l3bckdb \ bdump \ l3bckdbSMON. TRC:
ORA-00600: internal error code, arguments: [4193], [1836], [1844], [], [], [], [], [], []
Wed Jan 10 08:41:39 2018
Errors in file d: \ Oracle \ admin \ l3bckdb \ bdump \ l3bckdbSNP1. TRC:
ORA-00600: internal error code, arguments: [4193], [1926], [1934], [], [], [], [], [], []
Recovery of Online Redo Log: Thread 1 Group 3 Seq 15 Reading mem 0
Mem #0 errs 0: D: \ ORACLE \ ORADATA \ L3BCKDB \ REDO01.LOG
Wed Jan 10 08:41:42 2018
Recovery of Online Redo Log: Thread 1 Group 3 Seq 15 Reading mem 0
Mem #0 errs 0: D: \ ORACLE \ ORADATA \ L3BCKDB \ REDO01.LOG
Wed Jan 10 08:41:42 2018
SMON: terminating instance due to error 600
Instance terminated by SMON, pid = 2744
Find relevant information and find the meaning of the 2 argument errors for the RA-600 [4913], which belongs to the kernel undo transaction Module
[1, 1836] Undo record seq number
[1, 1844] Redo record seq number
An error occurs because the UNDO sequence and REDO sequence are inconsistent.
Solution: perform the following steps to recreate the UNDO tablespace:
C:/> set nls_lang = american_america.zhs16gbk
C:/> sqlplus "/as sysdba"
SQL * Plus: Release 8.1.7.0.0-Production on Wednesday January 10 11:28:47 2018
(C) Copyright 2000 Oracle Corporation. All rights reserved.
Connect:
Oracle8i Enterprise Edition Release 8.1.7.0.0-Production
With the Partitioning option
JServer Release 8.1.7.0.0-Production
SQL> select file #, name from v $ datafile where file # = 2;
FILE # NAME
--------------------------------------------------
2 D:/ORACLE/ORADATA/BCCHECK/RBS01.DBF
SQL> shutdown immediate
ORA-01109: the database is not open.
The database has been detached.
The ORACLE routine is disabled.
Comment out the ROLLBACK_SEGMENTS initialization parameter in the init. ora file and MOUNT the database in Restricted mode.
# Rollback_segments = (RBS0, RBS1, RBS2, RBS3, RBS4, RBS5, RBS6)
SQL> startup restrict mount
The ORACLE routine has been started.
Total System Global Area 219895052 bytes
Fixed Size 70924 bytes
Variable Size 75116544 bytes
Database Buffers 144629760 bytes
Redo Buffers 77824 bytes
The database has been loaded.
Drop corrupted rbs data files online and try again to open the database
SQL> drop tablespace rbs including contents;
Drop tablespace rbs including contents
*
ERROR Row 1:
ORA-01548: active rollback segment 'rbs0' found, terminate dropping tablespace
-- Error ORA-01548, indicating active rollback segments
SQL> select segment_name, tablespace_name, status from dba_rollback_segs;
SEGMENT_NAME TABLESPACE_NAME STATUS
----------------------------------------------------------------------------
SYSTEM ONLINE
RBS0 RBS NEEDS RECOVERY
RBS1 RBS NEEDS RECOVERY
RBS2 RBS NEEDS RECOVERY
RBS3 RBS NEEDS RECOVERY
RBS4 RBS NEEDS RECOVERY
RBS5 RBS NEEDS RECOVERY
RBS6 RBS NEEDS RECOVERY
8 rows selected
SQL> shutdown immediate
-- Normally close the database and add the implicit function _ javasupted_rollback_segments. Modify the parameter file and add the implicit parameter.
_ Uploupted_rollback_segments = (RBS0, RBS1, RBS2, RBS3, RBS4, RBS5, RBS6) and then open the database in restricted mode
SQL> startup restrict
SQL> select segment_name, tablespace_name, status from dba_rollback_segs;
SEGMENT_NAME TABLESPACE_NAME STATUS
----------------------------------------------------------------------------
SYSTEM ONLINE
RBS0 RBS NEEDS RECOVERY
RBS1 RBS NEEDS RECOVERY
RBS2 RBS NEEDS RECOVERY
RBS3 RBS NEEDS RECOVERY
RBS4 RBS NEEDS RECOVERY
RBS5 RBS NEEDS RECOVERY
RBS6 RBS NEEDS RECOVERY
8 rows selected
SQL> drop tablespace rbs including contents;
Drop tablespace rbs including contents
*
ERROR Row 1:
ORA-01548: active rollback segment 'rbs0' found, terminate dropping tablespace
Force Delete the required rollback segments
After deleting the tablespace that contains the corrupted rollback segment, create the tablespace of the rollback segment.
Query rollback segment status
Close the database normally, comment out the implicit parameter _ uploupted_rollback_segments In the parameter file, and add ROLLBACK_SEGMENTS to all rollback segments.
Start the database normally