创建数据文件:恢复一个备份中没有的数据文件

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 备份恢复

如果数据文件丢失或损坏了,而且还没有任何备份,它可以通过重做日志和控制文件中的记录恢复,前提是满足一下条件:
自该数据文件创建后的所有重做日志文件都可用。
包含该数据文件的信息(名称和大小等)的控制文件可用或者可以重建。
首先用ALTER DATABASE CREATE DATAFILE 创建一个新的空的数据文件以替换丢失的数据文件,然后在该数据文件上通过命令RECOVER DATAFILE 应用重做日志,从数据文件创建的时间起到丢失或损坏的那一刻为止。当期间的所有重做日志都应用后,该数据文件就跟丢失前的那一刻状态一致了。这个方法对恢复最近创建的数据文件且没有相应备份的情形很有用。不过SYSTEM表空间的原始数据文件不能用这个方法恢复,因为在数据库创建的时候还没有相应的重做日志保存下来。


基本步骤:
alter database datafile 6 offline;
alter database create datafile '/u01/app/oracle/oradata/bxdb/tp5.dbf';
select * from t5;
recover datafile 6;
alter database datafile 6 online;

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
Oracle 关系型数据库 数据库
4、数据文件的备份与恢复
数据文件的备份与恢复
157 0
|
SQL Oracle 关系型数据库
[20171225]没有备份数据文件的恢复.txt
[20171225]没有备份数据文件的恢复.txt --//别人问的问题,增加了数据文件没有备份,如何恢复,实际上很简单,因为当前控制文件有记录建立时间只要从建立数据文件开始的 --//归档日志都存在恢复是没有任何问题的.
918 0
|
Oracle 关系型数据库 数据库管理
[20161101]rman备份与数据文件变化7.txt
[20161101]rman备份与数据文件变化7.txt --//想象一下,如果备份文件时间很长,而这个时候数据文件大小发生了变化,oracle的备份如何解决这个问题呢? --//去年已经测试了建立备份集的情况,一直想做一次image copy的测试,一直脱,主要原因自己不想做这个测试.
1196 0