恢复之还原数据文件

发布时间:2020-08-11 07:29:02 作者:达芬奇的梦
来源:ITPUB博客 阅读:126

利用备份恢复的第一步就是从备份中还原数据文件。


还原数据文件的动作很简单,就是利用操作系统命令将备份的数据文件拷贝到数据文件的位置。需要注意的是这个动作的准备动作。

首先需要确定哪些数据文件需要还原,然后确定合适的备份,这个备份一般是最近的备份,但也有可能需要从以前的备份恢复。

在下面的步骤中,为了模拟数据库打开状态下数据文件的损坏,使用Ultraedit修改了USERS表空间的数据文件。

SQL> SELECT COUNT(*) FROM TEST;
SELECT COUNT(*) FROM TEST
*
ERROR 位于第 1 行:
ORA-00376: 此时无法读取文件 5
ORA-01110: 数据文件 5: 'F:ORACLEORADATATESTUSERS01.DBF'

首先查询V$RECOVER_FILE视图,这个视图中会包括需要恢复的数据文件的名称,已经数据文件的错误类型。注意,从备份中恢复的控制文件或通过CREATE CONTROLFILE重新创建的控制文件不会包含损坏的数据文件的信息。

SQL> SELECT * FROM V$RECOVER_FILE;

FILE# ONLINE ONLINE_ ERROR CHANGE# TIME
---------- ------- ------- -------------------- ---------- -------------------
5 OFFLINE OFFLINE CORRUPT HEADER 1109606706 2006-02-08 02:05:11

然后确定该数据文件的物理位置:

SQL> SELECT D.NAME, T.NAME AS TABLESPACE_NAME
2 FROM V$DATAFILE D, V$TABLESPACE T
3 WHERE T.TS# = D.TS#
4 AND D.FILE# = 5;

NAME TABLESPACE_NAME
---------------------------------------- ------------------------------
F:ORACLEORADATATESTUSERS01.DBF USERS

由于数据库处于打开状态,首先将表空间脱机:

SQL> ALTER TABLESPACE USERS OFFLINE IMMEDIATE;

表空间已更改。

SQL> HOST COPY F:ORACLEBACKUPTEST20060207USERS01.DBF F:ORACLEORADATATESTUSERS01.DBF

SQL> RECOVER TABLESPACE USERS;
完成介质恢复。
SQL> ALTER TABLESPACE USERS ONLINE;

表空间已更改。

SQL> SELECT COUNT(*) FROM TEST;

COUNT(*)
----------
6288

推荐阅读:
  1. Redis之-aof恢复
  2. Oracle数据文件物理删除后的恢复

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

恢复 数据 文件

上一篇:查看Oracle SQL执行计划方法比较、分析

下一篇:ORA-27102: out of memory解决办法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》