实验环境是在归档模式下,并且日志文件都在。步骤:1.全备数据库2.利用备份的控制文件进行恢复实验就把第一步省略了,直接开始第二步。首先,先打开数据库到归档
实验环境是在归档模式下,并且日志文件都在。
步骤:1. 全备数据库
2. 利用备份的控制文件进行恢复
实验就把第一步省略了,直接开始第二步。
首先,先打开数据库到归档模式下:SQL> startup mount
ORACLE instance started.
Total System Global Area 845348864 bytes
Fixed Size
1339796 bytes
Variable Size
599789164 bytes
Database Buffers
239075328 bytes
Redo Buffers
5144576 bytes
Database mounted.
SQL> alter database archivelog;
Database altered.
SQL> alter database open;
Database altered.
SQL> select open_mode,log_mode from v$database;
OPEN_MODE
LOG_MODE
---------------------------------------- ------------------------
READ WRITE
ARCHIVELOG
SQL> archive log list;
Database log mode
Archive Mode
Automatic archival
Enabled
Archive destination
/u01/app/oracle/product/11.2.0/db_1/ora_log
Oldest online log sequence
1
Next log sequence to archive 2
Current log sequence
2
开始备份控制文件:SQL> alter database backup controlfile to '/tmp/controlfile.bak';
Database altered.
把原来的控制文件都删除,有几个删除几个,可以show parameter control_files查看,再次启动数据库:SQL> startup
ORACLE instance started.
Total System Global Area 845348864 bytes
Fixed Size
1339796 bytes
Variable Size
599789164 bytes
Database Buffers
239075328 bytes
Redo Buffers
5144576 bytes
ORA-00205: error in identifying control file, check alert log for more info
控制文件丢失,启动报错了,拷贝控制文件到原来的地方,有几个拷贝几个cp /tmp/controlfile.bak $ORACLE_BASE/oradata/$ORACLE_SID/control01.ctl
再次启动数据库SQL> startup
ORACLE instance started.
Total System Global Area 845348864 bytes
Fixed Size
1339796 bytes
Variable Size
599789164 bytes
Database Buffers
239075328 bytes
Redo Buffers
5144576 bytes
Database mounted.
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
数据库已经挂载,但是没有打开,,接下来按提示操作:SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/u01/app/oracle/oradata/myorcl/system01.dbf'
SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
SQL> recover database using backup controlfile;
ORA-00279: change 1298791 generated at 01/09/2014 05:50:43 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/product/11.2.0/db_1/ora_log/1_25_835925739.dbf
ORA-00280: change 1298791 for thread 1 is in sequence #25
Specify log: {=suggested | filename | AUTO | CANCEL}
/u01/app/oracle/oradata/myorcl/redo01.log
Log applied.
Media recovery complete.
到这里,数据库已经提示恢复完成了,可以打开数据库了SQL> alter database open resetlogs;
Database altered.
SQL> select open_mode from v$database;
OPEN_MODE
----------------------------------------
READ WRITE
本文出自 “一片天地” 博客,请务必保留此出处