Oracle Study case -- rebuilding Database Control Files

Source: Internet
Author: User

Oracle Study case -- rebuilding Database Control Files

System Environment:

Operating System: Linux RH6

Database: Oracle 11gR2

Case Analysis:

All control files in the Oracle database are accidentally damaged. Non-archive databases rebuild control files when trace backup is available.

1. Control File trace script

[Oracle @ rh6 ~] $ Cat crctr. SQL
Create controlfile reuse database "TEST3" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 10
MAXLOGMEMBERS 5
MAXDATAFILES 300
MAXINSTANCES 1
# MAXLOGHISTORY 292
LOGFILE
GROUP 1'/u01/app/oracle/oradata/test3/redo01a. log' SIZE 100 m blocksize 512,
GROUP 2 '/u01/app/oracle/oradata/test3/redo02a. log' SIZE 100 m blocksize 512
-- STANDBY LOGFILE
DATAFILE
'/U01/app/oracle/oradata/test3/system01.dbf ',
'/U01/app/oracle/oradata/test3/sysaux01.dbf ',
'/U01/app/oracle/oradata/test3/undotbs01.dbf ',
'/U01/app/oracle/oradata/test3/users01.dbf'
Character set ZHS16GBK;

2. Start Instance to nomount and recreate controlfile

10:59:05 SYS @ test3> startup nomounted;
ORACLE instance started.
Total System Global Area 313860096 bytes
Fixed Size 1336232 bytes
Variable Size 213912664 bytes
Database Buffers 92274688 bytes
Redo Buffers 6336512 bytes
 
At 10:59:41 SYS @ test3> @/home/oracle/crctr. SQL
Control file created.

3. alarm logs

......
Create controlfile reuse database "TEST3" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 10
MAXLOGMEMBERS 5
MAXDATAFILES 300
MAXINSTANCES 1
# MAXLOGHISTORY 292
LOGFILE
GROUP 1'/u01/app/oracle/oradata/test3/redo01a. log' SIZE 100 m blocksize 512,
GROUP 2 '/u01/app/oracle/oradata/test3/redo02a. log' SIZE 100 m blocksize 512
-- STANDBY LOGFILE
DATAFILE
'/U01/app/oracle/oradata/test3/system01.dbf ',
'/U01/app/oracle/oradata/test3/sysaux01.dbf ',
'/U01/app/oracle/oradata/test3/undotbs01.dbf ',
'/U01/app/oracle/oradata/test3/users01.dbf'
Character set ZHS16GBK
WARNING: Default Temporary Tablespace not specified in create database command
Default Temporary Tablespace will be necessary for a locally managed database in future release
Wed Jan 07 11:00:02 2015
Successful mount of redo thread 1, with mount id 991126251
 
Completed: create controlfile reuse database "TEST3" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 10
MAXLOGMEMBERS 5
MAXDATAFILES 300
MAXINSTANCES 1
# MAXLOGHISTORY 292
LOGFILE
GROUP 1'/u01/app/oracle/oradata/test3/redo01a. log' SIZE 100 m blocksize 512,
GROUP 2 '/u01/app/oracle/oradata/test3/redo02a. log' SIZE 100 m blocksize 512
-- STANDBY LOGFILE
DATAFILE
'/U01/app/oracle/oradata/test3/system01.dbf ',
'/U01/app/oracle/oradata/test3/sysaux01.dbf ',
'/U01/app/oracle/oradata/test3/undotbs01.dbf ',
'/U01/app/oracle/oradata/test3/users01.dbf'
Character set ZHS16GBK
Wed Jan 07 11:00:59 2015
......

3. view the database status

11:00:03 SYS @ test3> select status from v $ instance;
STATUS
------------
MOUNTED
 
At 11:00:27 SYS @ test3> select file #, name, checkpoint_change # from v $ datafile;
FILE # NAME CHECKPOINT_CHANGE #
------------------------------------------------------------------------------
1/u01/ app/oracle/oradata/test3/system01.dbf 333365
2/u01/app/oracle/oradata/test3/sysaux01.dbf 333365
3/u01/app/oracle/oradata/test3/undotbs01.dbf 333365
4/u01/app/oracle/oradata/test3/users01.dbf 333365
 
11:00:46 SYS @ test3> select file #, name, checkpoint_change # from v $ datafile_header;
FILE # NAME CHECKPOINT_CHANGE #
------------------------------------------------------------------------------
1/u01/ app/oracle/oradata/test3/system01.dbf 333365
2/u01/app/oracle/oradata/test3/sysaux01.dbf 333365
3/u01/app/oracle/oradata/test3/undotbs01.dbf 333365
4/u01/app/oracle/oradata/test3/users01.dbf 333365

4. Open the database

11:00:54 SYS @ test3> alter database open;
Alter database open
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/u01/app/oracle/oradata/test3/system01.dbf'
 
--- An error is reported when the database is opened. media recovery is required"
 
Execute media recovery:
Because this database is not in archive mode, it can only be restored through current redolog.
 
View the current log group:
[Oracle @ rh6 ~] $ Sqlplus '/as sysdba'
SQL * Plus: Release 11.2.0.1.0 Production on Wed Jan 7 11:02:12 2015
Copyright (c) 1982,200 9, Oracle. All rights reserved.
Connected:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0-Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
 
11:02:12 SYS @ test3> select member from v $ logfile;
 
MEMBER
Bytes ------------------------------------------------------------------------------------------------------------------------
/U01/app/oracle/oradata/test3/redo01a. log
/U01/app/oracle/oradata/test3/redo02a. log
 
At 11:02:22 SYS @ test3> select group #, sequence #, status from v $ log;
 
GROUP # SEQUENCE # STATUS
------------------------------------
2 12 INACTIVE
1 13 CURRENT
 
 
11:00:59 SYS @ test3> recover database until cancel;
ORA-00279: change 333365 generated at 01/07/2015 10:30:26 needed for thread 1
ORA-00289: suggestion:/u01/app/oracle/product/11.2.0/db_1/dbs/arch1_13_868275293.dbf
ORA-00280: change 333365 for thread 1 is in sequence #13
11:01:42 Specify log: {<RET> = suggested | filename | AUTO | CANCEL}
/U01/app/oracle/oradata/test3/redo01a. log
Log applied.
Media recovery complete.
--- Recovery completed!
 
11:02:46 SYS @ test3> alter database open;
Alter database open
*
ERROR at line 1:
The ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
Elapsed: 00:00:00. 01
 
11:02:52 SYS @ test3> alter database open resetlogs;
Database altered.
 
--- The Database is open successfully!

View alarm logs:

Alter database open
Errors in file/u01/app/oracle/diag/rdbms/test3/test3/trace/test3_ora_3294.trc:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/u01/app/oracle/oradata/test3/system01.dbf'
ORA-1113 signalled during: alter database open...
Wed Jan 07 11:01:40 2015
Alter database recover database until cancel
Media Recovery Start
Serial Media Recovery started
ORA-279 signalled during: alter database recover database until cancel...
Wed Jan 07 11:02:44 2015
Alter database recover logfile '/u01/app/oracle/oradata/test3/redo01a. Log'
Media Recovery Log/u01/app/oracle/oradata/test3/redo01a. log
Incomplete recovery applied all redo ever generated.
Recovery completed through change 334001 time 01/07/2015 10:51:13
Media Recovery Complete (test3)
Completed: alter database recover logfile '/u01/app/oracle/oradata/test3/redo01a. Log'
Alter database open
Errors in file/u01/app/oracle/diag/rdbms/test3/test3/trace/test3_ora_3294.trc:
The ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
ORA-1589 signalled during: alter database open...
Wed Jan 07 11:03:04 2015
Alter database open resetlogs
RESETLOGS after complete recovery through change 334001
Resetting resetlogs activation ID 990996637 (0x3b000089d)
Errors in file/u01/app/oracle/diag/rdbms/test3/test3/trace/test3_ora_3294.trc:
ORA-00367: checksum error in log file header
ORA-00322: log 1 of thread 1 is not current copy
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/test3/redo01a. Log'
Wed Jan 07 11:03:05 2015
Errors in file/u01/app/oracle/diag/rdbms/test3/test3/trace/test3_m000_3336.trc:
ORA-00316: log 1 of thread 1, type 0 in header is not log file
ORA-00312: online log 1 thread 1: '/u01/app/oracle/oradata/test3/redo01a. Log'
Errors in file/u01/app/oracle/diag/rdbms/test3/test3/trace/test3_ora_3294.trc:
ORA-00367: checksum error in log file header
ORA-00322: log 2 of thread 1 is not current copy
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/test3/redo02a. Log'
Errors in file/u01/app/oracle/diag/rdbms/test3/test3/trace/test3_m000_3336.trc:
ORA-00316: log 2 of thread 1, type 0 in header is not log file
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/test3/redo02a. Log'
Wed Jan 07 11:03:18 2015
Setting recovery target incarnation to 2
Wed Jan 07 11:03:20 2015
Checker run found 4 new persistent data failures
Wed Jan 07 11:03:21 2015
Assigning activation ID 991126251 (0x3b1362eb)
Thread 1 opened at log sequence 1
Current log #1 seq #1 mem #0:/u01/app/oracle/oradata/test3/redo01a. log
Successful open of redo thread 1
Wed Jan 07 11:03:22 2015
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Wed Jan 07 11:03:23 2015
SMON: enabling cache recovery
Successfully onlined Undo Tablespace 2.
Dictionary check beginning
Tablespace 'tempts1' #3 found in data dictionary,
But not in the controlfile. Adding to controlfile.
Dictionary check complete
Verifying file header compatibility for 11g tablespace encryption ..
Verifying 11g file header compatibility for tablespace encryption completed
SMON: enabling tx recovery
**************************************** *****************************
WARNING: The following temporary tablespaces contain no files.
This condition can occur when a backup controlfile has
Been restored. It may be necessary to add files to these
Tablespaces. That can be done using the SQL statement:

Alter tablespace <tablespace_name> ADD TEMPFILE

Alternatively, if these temporary tablespaces are no longer
Needed, then they can be dropped.
Empty temporary tablespace: TEMPTS1
**************************************** *****************************
Database Characterset is ZHS16GBK
No Resource Manager plan active
Replication_dependency_tracking turned off (no async multimaster replication found)
Starting background process QMNC
Wed Jan 07 11:03:27 2015
QMNC started with pid = 19, OS id = 3341
LOGSTDBY: Validating controlfile with logical metadata
LOGSTDBY: Validation complete
Completed: alter database open resetlogs
Wed Jan 07 11:13:27 2015
Starting background process SMCO
Wed Jan 07 11:13:27 2015
SMCO started with pid = 22, OS id = 3382

--- At this point, the control file is successfully rebuilt through the trace script!

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.