实验三:通过重新生成控制文件来恢复redo
前面的都一样,只是处理方法不一样SQL>; startup ORACLE instance started.
Total System Global Area 353862792 bytes
Fixed Size 730248 bytes
Variable Size 285212672 bytes
Database Buffers 67108864 bytes
Redo Buffers 811008 bytes Database mounted.
ORA- 00313: open failed for members of log group 1 of thread 1 ORA-00312: online log 1 thread 1: '/T3/ORACLE/oradata/ORA9/redo01.log'
SQL>; alter database backup controlfile to trace;
Database altered.
SQL>; shutdown immediate ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL>
2、 修改一下刚才生成的那个文件
CREATE CONTROLFILE REUSE DATABASE "ORA9" RESETLOGS ARCHIVELOG―― SET STANDBY TO MAXIMIZE PERFORMANCE MAXLOGFILES 50 MAXLOGMEMBERS 5 MAXDATAFILES 100 MAXINSTANCES 1 MAXLOGHISTORY 226 LOGFILE GROUP 1 '/T3/ORACLE/oradata/ORA9/redo01.log' SIZE 100M,GROUP 2 '/T3/ORACLE/oradata/ORA9/redo02.log' SIZE 100M,GROUP 3 '/T3/ORACLE/oradata/ORA9/redo03.log' SIZE 100M―― STANDBY LOGFILE DATAFILE '/T3/ORACLE/oradata/ORA9/system01.dbf','/T3/ORACLE/oradata/ORA9 /undotbs01.dbf','/T3/ORACLE/oradata/ORA9/cwmlite01.dbf','/T3/ORACLE /oradata/ORA9/drsys01.dbf','/T3/ORACLE/oradata/ORA9/example01.dbf','/T3 /ORACLE/oradata/ORA9/indx01.dbf','/T3/ORACLE/oradata/ORA9/odm01.dbf',' /T3/ORACLE/oradata/ORA9/tools01.dbf','/T3/ORACLE/oradata/ORA9 /users01.dbf','/T3/ORACLE/oradata/ORA9/xdb01.dbf','/T3/ORACLE/oradata /ORA9/test01.dbf' CHARACTER SET ZHS16GBK;
另存为一个脚本,运行他
SQL> @clone.sql Control file created.
SQL>; alter database open resetlogs;
Database altered.
SQL>;搞定……………
结论:这种方法的关键是重新创建控制文件,后面的步骤和前面的道理一样的
前面的三种方法都是假设db是正常关闭的,数据已经写入数据库文件中,所以不会由数据存在redo种,所以clear的话也不会有数据丢失[@more@]
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/18921899/viewspace-1017275/
,如需转载,请注明出处,否则将追究法律责任。