控制文件的通常恢复方法有:
1、从控制文件自动或二进制备份中恢复
2、从控制文件快照备份中恢复
3、控制文件trace文件备份中恢复
4、Oracle自动生成的控制文件脚本恢复
如下对相关的步骤及语法进行介绍:
2、从控制文件快照备份中恢复
对数据库进行一些改动:
SQL> insert into t select * from dba_users;
8 rows created.
SQL> alter system switch logfile;
System altered.
SQL> exit
[@more@]将控制文件通过OS的mv 或rm命令进行移动或删除;
[oracle@dbserv test]$ mv control01.ctl control02.ctl control03.ctl /opt/oracle/backups/
[oracle@dbserv test]$ ls
redo01.log redo02.log redo03.log sqlnet.log sysaux01.dbf system01.dbf temp01.dbf undotbs01.dbf users01.dbf
关闭数据库
SQL> shutdown immediate;
ORA-00210: cannot open the specified control file
ORA-00202: control file: '/opt/oracle/oradata/test/control01.ctl'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
SQL> shutdown force;
SP2-0717: illegal SHUTDOWN option
SQL> shutdown abort;
ORACLE instance shut down.
SQL>
oracle@dbserv ~]$ export ORACLE_SID=test
[oracle@xjtvpay ~]$ rman target /
Recovery Manager: Release 10.2.0.1.0 - Production on Fri Jun 15 19:33:42 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database (not started)
RMAN> startup nomount;
RMAN>
RMAN> set DBID=2083742440
executing command: SET DBID
RMAN> restore controlfile from '/opt/oracle/product/10.2.0/dbs/snapcf_test.f';
Starting restore at 15-JUN-12
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=154 devtype=DISK
channel ORA_DISK_1: copied control file copy
output filename=/opt/oracle/oradata/test/control01.ctl
output filename=/opt/oracle/oradata/test/control02.ctl
output filename=/opt/oracle/oradata/test/control03.ctl
Finished restore at 15-JUN-12
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
RMAN> restore database;
Starting restore at 15-JUN-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=154 devtype=DISK
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to /opt/oracle/oradata/test/system01.dbf
restoring datafile 00002 to /opt/oracle/oradata/test/undotbs01.dbf
restoring datafile 00003 to /opt/oracle/oradata/test/sysaux01.dbf
restoring datafile 00004 to /opt/oracle/oradata/test/users01.dbf
channel ORA_DISK_1: reading from backup piece /opt/backup/full/testfull_TEST_20120610_11
channel ORA_DISK_1: restored backup piece 1
piece handle=/opt/backup/full/testfull_TEST_20120610_11 tag=TESTDB
channel ORA_DISK_1: restore complete, elapsed time: 00:00:15
Finished restore at 15-JUN-12
RMAN> recover database;
Starting recover at 15-JUN-12
using channel ORA_DISK_1
starting media recovery
archive log thread 1 sequence 22 is already on disk as file /opt/backup/1_22_785596008.dbf
archive log thread 1 sequence 23 is already on disk as file /opt/backup/1_23_785596008.dbf
archive log thread 1 sequence 24 is already on disk as file /opt/backup/1_24_785596008.dbf
archive log thread 1 sequence 25 is already on disk as file /opt/backup/1_25_785596008.dbf
archive log thread 1 sequence 26 is already on disk as file /opt/backup/1_26_785596008.dbf
archive log thread 1 sequence 1 is already on disk as file /opt/oracle/oradata/test/redo02.log
archive log thread 1 sequence 2 is already on disk as file /opt/oracle/oradata/test/redo01.log
archive log filename=/opt/backup/1_22_785596008.dbf thread=1 sequence=22
archive log filename=/opt/backup/1_23_785596008.dbf thread=1 sequence=23
archive log filename=/opt/backup/1_24_785596008.dbf thread=1 sequence=24
archive log filename=/opt/backup/1_25_785596008.dbf thread=1 sequence=25
archive log filename=/opt/backup/1_26_785596008.dbf thread=1 sequence=26
archive log filename=/opt/oracle/oradata/test/redo02.log thread=1 sequence=1
archive log filename=/opt/oracle/oradata/test/redo01.log thread=1 sequence=2
media recovery complete, elapsed time: 00:00:35
Finished recover at 15-JUN-12
RMAN> alter database open resetlogs;
database opened
RMAN> exit
Recovery Manager complete.
[oracle@xjtvpay ~]$ sqlplus / as sysdba
SQL> select count(*) from t;
COUNT(*)
----------
16
SQL>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/18841027/viewspace-1058555/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/18841027/viewspace-1058555/