您的位置:首页 > 数据库 > Oracle

Oracle归档模式下恢复-数据库完全恢复方法3

2017-09-27 15:50 197 查看
恢复没有备份的数据文件:
情形:

1、所需恢复的数据文件不属于系统表空间、还原表空间

2、磁介质的损坏或用户错误导致数据文件的丢失,但是这个数据文件从来就没有备份过。

3、从这个数据文件创建以来所有的归档日志文件都完好无损。

重建数据结构的命令:

1、alter database create datafile "原文件名":该命令重建与原来数据文件同名的数据文件。

2、alter database create datafile "原文件名" as "新文件名";该命令重建的数据文件名

   与原来的数据文件名不同。这可能是原来文件所在的硬盘损坏了,因此数据文件无法恢复到

   原来磁盘所在的位置。

步骤:

1、如果数据库是在打开的状态,使用数据字典dba_data_files获取要恢复的数据文件与所对应

   的表空间及他们的状态信息。

2、如果数据库是在打开的状态,使用数据字典dba_tablespace获取要恢复的表空间是处在脱机

   还是联机状态,也可以使用数据字典v$datafile 确认要恢复的数据文件是处在脱机还是联机

   状态。

3、如果表空间处在联机状态,要先将该表空间设为脱机状态。也可以将数据文件设置为脱机。

   如果已经处再脱机状态。随后,使用 alter database datafile"数据文件名" offline;命令

   将出现问题的数据文件设为脱机。最后,使用alter database open ;将数据库打开。

4、 使用数据字典v$recover_file查看数据文件的恢复状态,此时error列的显示应该为:

    filenotfound,change#列的显示为0,而time列应该没有显示输出。

5、使用alter database create datafile 命令重建数据文件的结构。

6、使用数据字典v$recover_file 确认数据文件的恢复状态,此时error列应该没有显示输出,

    change#列和time列的显示都有了新值。

7、使用recover命令将所有提交的数据从归档日志文件和重做日志文件重新写入已经修复的数据

   文件。在这里既可以使用recover tablespace"表空间名" 也可以使用recover datafile"数据文件名"

   命令。

8、当恢复完成后使用alter tablespace 或alter database 命令将表空间或数据文件重新设置联机状态。

9、使用数据字典dba_data_files获取要恢复的数据文件与所对应的表空间及他们的状态信息。

10、使用数据字典dba_tablespaces 获取要恢复的表空间是否处在联机状态,也可以使用数据字典

   v$datafile确认要恢复的数据文件是否处在联机状态。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: