数据库的完全恢复是指将数据库恢复到最近的一致状态。数据库关闭时所有已经提交的数据都不会丢失。
关闭状态的恢复是全库恢复或SYSTEM表空间恢复的唯一方式。
首先保证数据库处于关闭状态,如果数据库无法正常关闭,可以使用SHUTDOWN ABORT方式将数据库关闭。
SQL> CONN /@TEST AS SYSDBA
已连接。
SQL> SHUTDOWN ABORT
ORACLE 例程已经关闭。
第二步,确定需要进行恢复的文件。应该仅仅利用备份去恢复那些受损的文件,而不要去恢复没有问题的数据文件和联机日志文件。
然后就是问题数据文件的还原,这里模仿全部数据文件损坏的还原。如果备份文件无法恢复到原始位置,需要修改数据文件的名称。
SQL> HOST COPY F:ORACLEBACKUPTEST20060219*.DBF F:ORACLEORADATATEST
SQL> STARTUP MOUNT
ORACLE 例程已经启动。
Total System Global Area 76619308 bytes
Fixed Size 454188 bytes
Variable Size 50331648 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
SQL> COL NAME FORMAT A50
SQL> SELECT NAME, STATUS FROM V$DATAFILE;
NAME STATUS
-------------------------------------------------- -------
F:ORACLEORADATATESTSYSTEM01.DBF SYSTEM
F:ORACLEORADATATESTUNDOTBS01.DBF ONLINE
F:ORACLEORADATATESTINDX01.DBF ONLINE
F:ORACLEORADATATESTTOOLS01.DBF ONLINE
F:ORACLEORADATATESTUSERS01.DBF ONLINE
F:ORACLEORADATATESTYANGTK01.DBF ONLINE
已选择6行。
查询数据文件状态,保证除了正常脱机的表空间或只读表空间下的数据文件,其他所有的数据文件都处于联机状态,如果数据文件处于脱机状态,使用ALTER DATABASE DATAFILE filename ONLINE命令将其联机。
下面根据需要恢复对象的不同,选择进行全库恢复、表空间恢复还是数据文件的恢复:
SQL> RECOVER AUTOMATIC DATABASE
完成介质恢复。
SQL> ALTER DATABASE OPEN;
数据库已更改。
这个例子中采用自动恢复,避免各种恢复提示的显示。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/235507/viewspace-548680/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/235507/viewspace-548680/