Oracle Study之案例--重建数据库控制文件
2015-03-31 12:11
495 查看
Oracle Study之案例--重建数据库控制文件
系统环境:操作系统: Linux RH6数据库: Oracle 11gR2 案例分析:
数据库中所有的控制文件被意外破坏,非归档的库,在有trace备份的情况下,重建控制文件。
1、控制文件trace脚本
本文出自 “天涯客的blog” 博客,请务必保留此出处http://tiany.blog.51cto.com/513694/1600356
系统环境:操作系统: Linux RH6数据库: Oracle 11gR2 案例分析:
数据库中所有的控制文件被意外破坏,非归档的库,在有trace备份的情况下,重建控制文件。
1、控制文件trace脚本
$ cat crctr.sql CREATE CONTROLFILE REUSE DATABASE ]2、启动Instance到nomount,重建controlfile---至此,通过trace脚本,重建控制文件成功!10:59:05 SYS@ test3 >startup nomount; 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 10:59:41 SYS@ test3 >@/home/oracle/crctr.sql Control file created.3、告警日志3、查看数据库状态11:00:03 SYS@ test3 >select status from v$instance; STATUS ------------ MOUNTED 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 3333654、打开数据库$ sqlplus '/as sysdba' SQL*Plus: Release 11.2.0.1.0 Production on Wed Jan 7 11:02:12 2015 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: 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 ------------------------------------------------------------------------------------------------------------------------ /u01/app/oracle/oradata/test3/redo01a.log /u01/app/oracle/oradata/test3/redo02a.log 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. ---恢复完成! 11:02:46 SYS@ test3 >alter database open; alter database open * ERROR at line 1: 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. ---Database open成功!
查看告警日志:
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:
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 (0x3b11689d)
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
本文出自 “天涯客的blog” 博客,请务必保留此出处http://tiany.blog.51cto.com/513694/1600356
相关文章推荐
- Oracle Study之案例--重建数据库控制文件
- Oracle 重建控制文件(在丢失控制文件的情况下,如何恢复数据库)
- Oracle Study之--Oracle RAC重建控制文件
- Oracle Study之--Oracle RAC重建控制文件
- [案例]Oracle控制文件损坏导致数据库故障(转载)
- oracle数据恢复案例 - 控制文件损坏,无备份
- Oracle重建控制文件的问题
- 控制文件损坏或者丢失的Oracle 10g数据库恢复控制文件一例
- 每天两道oracle笔试题+第九天:1、比较truncate和delete命令的区别?2、如果必须利用备份恢复数据库,但此时没有控制文件,如何应对?
- 重建控制文件的案例(RESETLOGS模式和NORESETLOGS模式)
- ORACLE控制文件的重建
- Oracle 重建控制文件 对 只读表空间 和 临时表空间 影响 测试
- oracle 恢复学习 案例1 一个数据文件丢失 完全恢复数据库
- Oracle recreate controlfile - 无任何备份重建控制文件
- Oracle 11g ORA-03113故障,重建控制文件
- Oracle控制文件的重建
- ORACLE只有表空间文件通过重建控制文件进行不完全恢复
- oracle之物理数据库结构概述(数据文件、重做日志文件,控制文件等各种数据库文件)
- 重建Oracle控制文件的命令(Helloblock写作)
- Oracle控制文件恢复案例