ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 恢复之数据库关闭时的完全恢复

恢复之数据库关闭时的完全恢复

原创 Linux操作系统 作者:zhengbao_jun 时间:2009-02-11 14:08:46 0 删除 编辑

数据库的完全恢复是指将数据库恢复到最近的一致状态。数据库关闭时所有已经提交的数据都不会丢失。

关闭状态的恢复是全库恢复或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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-08

  • 博文量
    209
  • 访问量
    871144