Case Study of Oracle 12C redo exception recovery

Source: Internet
Author: User
Tags error code session id

Record the restoration of the ORACLE 12C CDB database when the current redo is lost. ORACLE 12C redo exception recovery test-some pdb are not open normally
In order to verify the restoration of the ORACLE 12C CDB database when redo is lost, a small experiment was conducted. Three sessions were operated to execute a delete statement in root pdb without submitting the statement; the delete record of another session in user pdb is not submitted; the last session directly abort the database, and then restore the database to verify whether the database can be open normally (all pdb)
Session 1 (actions in root pdb)
CDB_CDB $ ROOT @ SYS> show pdbs;

CON_ID CON_NAME OPEN MODE RESTRICTED
------------------------------------------------------------
2 PDB $ SEED READ ONLY NO
3 PDB READ WRITE NO

CDB_CDB $ ROOT @ SYS> show con_name

CON_NAME
------------------------------
CDB $ ROOT

CDB_CDB $ ROOT @ SYS> create table t_oracleplus as select * from dba_objects;

The table has been created.

CDB_CDB $ ROOT @ SYS> delete from t_oracleplus;

91032 rows have been deleted.

CDB_CDB $ ROOT @ SYS>
Session 2 (operations in user pdb)
CDB_CDB $ ROOT @ SYS> show con_name

CON_NAME
------------------------------
PDB

CDB_CDB $ ROOT @ SYS> drop table t_oracleplus purge;

The table has been deleted.

CDB_CDB $ ROOT @ SYS> create table t_oracleplus as select * from dba_objects;

The table has been created.

CDB_CDB $ ROOT @ SYS> delete from t_oracleplus;

91144 rows have been deleted.
Session 3 (direct abort database)
CDB_CDB $ ROOT @ SYS> shutdown abort;
The ORACLE routine has been disabled.
Delete online database logs
E: \ app \ oracleplus \ oradata \ cdb> dir redo *. log
The volume in drive E is a local disk.
The serial number of the volume is 000C-3B41.

E: \ app \ oracleplus \ oradata \ cdb Directory

52,429,312 REDO01.LOG
52,429,312 REDO02.LOG
52,429,312 REDO03.LOG
52,432,896 REDO04.LOG
52,432,896 REDO05.LOG
52,432,896 REDO06.LOG
6 files in 314,586,624 bytes
0 directories, 21,359,374,336 available bytes

E: \ app \ oracleplus \ oradata \ cdb> del redo *. log

E: \ app \ oracleplus \ oradata \ cdb> dir redo *. log
The volume in drive E is a local disk.
The serial number of the volume is 000C-3B41.

E: \ app \ oracleplus \ oradata \ cdb Directory

File Not Found
1. Startup database reports ORA-00313 error
Idle> startup
The ORACLE routine has been started.

Total System Global Area 521936896 bytes
Fixed Size 2404552 bytes
Variable Size 205524792 bytes
Database Buffers 306184192 bytes
Redo Buffers 7823360 bytes
The database has been loaded.
ORA-00313: unable to open a member of log Group 6 (for thread 1)
ORA-00312: online log 6 thread 1: 'E: \ APP \ oracleplus \ ORADATA \ CDB \ redo06.log'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) the system cannot find the specified file.
2. Use the _ allow_resetlogs_uption parameter to try the open Database.
Idle> shutdown abort
The ORACLE routine has been disabled.
Idle> startup pfile = 'd:/pfile.txt 'Mount
The ORACLE routine has been started.

Total System Global Area 521936896 bytes
Fixed Size 2404552 bytes
Variable Size 205524792 bytes
Database Buffers 306184192 bytes
Redo Buffers 7823360 bytes
The database has been loaded.
Idle> show parameter resetlogs;

NAME TYPE VALUE
-----------------------------------------------------------------------------
_ Allow_resetlogs_upload uption boolean TRUE
Idle> recover database until cancel;
ORA-00279: change 12696935641735 (generated at 22:38:52) for thread 1
Is required
ORA-00289: recommended:
E: \ APP \ oracleplus \ FAST_RECOVERY_AREA \ CDB \ ARCHIVELOG \ 2014_03_20 \ o%mf_%872_9lozsk9
X_.ARC
ORA-00280: change 12696935641735 (for thread 1) in sequence #872


Specified log: {= suggested | filename | AUTO | CANCEL}
Cancel
ORA-01547: Warning: RECOVER successful but open resetlogs will see the following error
ORA-01194: file 1 requires more recovery to maintain consistency
ORA-01110: data file 1: 'E: \ APP \ oracleplus \ ORADATA \ CDB \ system01.dbf'


ORA-01112: Media recovery not started


Idle> alter database open resetlogs;
Alter database open resetlogs
*
Row 3 has an error:
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [2662], [2956], [1012314778],
[2956], [1012314903], [268435600], [], [], [], [], [], []
ORA-00600: internal error code, arguments: [2662], [2956], [1012314777],
[2956], [1012314903], [268435600], [], [], [], [], [], []
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [2662], [2956], [1012314768],
[2956], [1012314903], [268435600], [], [], [], [], [], []
Process ID 9268
Session ID: 92 Serial Number: 3
Ora-600 [2662] is very familiar with, the file header scn is smaller than the csn of a block in the file, through bbed and other tools to modify the file scn, try to start the database
CDB_CDB $ ROOT @ SYS> SHUTDOWN ABORT
The ORACLE routine has been disabled.
CDB_CDB $ ROOT @ SYS> STARTUP
The ORACLE routine has been started.

Total System Global Area 521936896 bytes
Fixed Size 2404552 bytes
Variable Size 205524792 bytes
Database Buffers 306184192 bytes
Redo Buffers 7823360 bytes
The database has been loaded.
The database has been opened.
Try open user pdb
CDB_CDB $ ROOT @ SYS> alter session set container = pdb;

The session has been changed.

CDB_CDB $ ROOT @ SYS> alter database open;
Alter database open
*
Row 3 has an error:
ORA-00600: Internal error code, parameter: [kcvfdb_pdb_set_clean_scn: cleanckpt], [3], [2956], [1012312995], [2956], [1012334778], [2], [], [], [], [], []
Query mos to get the conclusion:
Bug 16784143 ORA-600 [kcvfdb_pdb_set_clean_scn: cleanckpt] with PDBs
Fix the issue in 12.2/12.1.0.2/12.1.0.1.1 and try patch later for further recovery.

Test result proof


1. There is no major difference between the open process of root pdb and the database of previous versions, but it is difficult to promote the scn. The previous event and implicit parameter methods are invalid.
2. user pdb checks again because the bug cannot be opened, and subsequent verification will continue.
3.12.1 The base version may have a lot of problems, so be cautious in production.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.