recover database的四条语句区别

1 recover database using backup controlfile
2 recover database until cancel
3 recover database using backup controlfile until cancel;
4 recover database until cancel using backup controlfile;

结果如下:
如果控制文件丢失,restore备份的控制文件后,则必须使用using backup controlfile选项。而until cancel则是不完全恢复,即current/active redo丢失,或者从restore数据库后某个归档文件缺失,则终止。

结论:
1、适用于restore旧的控制文件,且归档日志和cuurrent/active redo都没有丢失情况。如果一切归档日志和在线日志完好,可以不丢失数据。类似于recover database
2、当前控制文件未丢失(不需要restore旧的控制文件),此时有归档日志或者current/active log有丢失情况下,则终止。最大可能恢复数据
3、4:我在oracle 10.2.0.4环境下测试效果是相同的,即适用于restore旧的控制文件,在恢复到控制文件备份那刻后,系统会提示应用控制文件备份后的归档日志,如果没有则停止。也是最大可能的恢复数据。

可以得出结果,如果有旧的数据库备份,在归档日志和在线日志全部保存完好的情况下,使用recover database或recover database using backup controlfile。则不丢失数据
如果存在备份数据文件restore后,归档日志或者在线日志(active、current)丢失情况下,则可以恢复到丢失的前一个归档日志

until cancel就是不完全恢复
需要alter database open resetlogs
数据库打开后需要理解做一个全库备份

在线日志文件丢失:

如果正常关闭数据库,然后启动时报错:

SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员
ORA-00312: 联机日志 1 线程 1:
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'


SQL> alter database open resetlogs;
alter database open resetlogs
*
第 1 行出现错误:
ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效


SQL> recover database until cancel;
完成介质恢复。
SQL> alter database open resetlogs;

数据库已更改。

此时不会有数据丢失

 

### Oracle 编号为2的数据文件恢复方法 当遇到编号为2的数据文件需要恢复的情况时,可以按照以下方式操作: #### 1. 确认数据文件的状态 首先确认数据文件的具体状态以及是否存在坏块等问题。可以通过查询 `v$datafile` 和 `v$recover_file` 视图获取更多信息。 ```sql SELECT * FROM v$datafile WHERE file#=2; SELECT * FROM v$recover_file WHERE file#=2; ``` 如果发现该文件存在错误或者未完全恢复,则需进一步处理[^1]。 --- #### 2. 使用RECOVER命令尝试恢复 对于尚未完成恢复的文件,可以直接执行恢复命令以修复其一致性问题。假设目标文件位于指定路径下,可运行如下语句: ```sql RECOVER DATAFILE 'D:\ORACLE\ORADATA\GARNETT\UNDOTBS01.DBF'; ``` 此命令会提示输入归档日志的位置并应用必要的重做记录来使数据文件达到一致状态[^5]。 --- #### 3. 如果文件丢失或损坏 假如上述步骤失败且原文件已不可用(如物理损坏),则考虑重建或重新创建对应的数据文件。具体做法包括但不限于以下两种情况之一: ##### (a) 利用ALTER DATABASE CREATE DATAFILE指令 如果有足够的元信息支持,可通过修改控制文件的方式新增缺失部分: ```sql ALTER DATABASE CREATE DATAFILE '被删除数据文件名及路径' AS '新位置和名称'; ``` 注意替换占位符为实际值后再提交给实例解析器解释执行[^4]。 ##### (b) 基于表空间特性调整策略 针对某些特殊类型的存储单元比如临时段落所在区域(undo tablespace),可能还需要额外配置参数确保兼容性良好之后再继续其他常规流程[^2]。 --- #### 4. 验证恢复后的完整性 最后一步非常重要——验证整个过程结束后所有组件均处于健康可用状况之下。这通常涉及再次检查视图表定义、测试关键业务逻辑等功能点是否正常运作无误为止。 ```sql ALTER DATABASE OPEN RESETLOGS; ``` 以上即完成了对特定索引编号代表对象实施紧急救援措施全过程概述说明[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值