--不完全恢复-redo损坏
--逻辑备份
1. exp/imp
2. expdp/impdp
3. sqlldr
恢复
1. 完全恢复 --能恢复到失败那一刻
2. 不完全恢复 --主动,被动的,不能恢复到终点
--===
恢复的起点
select file#,checkpoint_change# from v$datafile_header 1578538
恢复的终点
select file#,checkpoint_change# from v$datafile 1586492
set time on
select * from v$log
select * from v$logfile
alter database add logfile member 'C:\oradata\test\autolog\redo01.log' to group 1 --增加重做日志镜像
alter database drop logfile member 'C:\oradata\test\REDO01.log'; --删除重做日志镜像
alter database drop logfile group 2; --当非当前的重做日志损坏,在启动数据库报错可以直接删除,但是重做日志不能小于两组
alter database add logfile --增加重做日志,自动增加最小的group
archive log list --查看当前日志序列 118
select * from v$archived_log
select sequence#,first_change#,next_change#,next_time from v$archived_log --117的next_change# 1585827,此为当前用归档日志能恢复到的点
--通过归档日志能恢复 1585827
--恢复的终点 1586492
recover database until cancel --不完全恢复 直到找不到文件,cancel
SQL> recover database until cancel;
ORA-00279: 更改 1585827 (在 10/07/2013 14:43:30 生成) 对于线程 1 是必需的
ORA-00289: 建议:
C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\2013_10_07\O1_MF_1_
118_%U_.ARC
ORA-00280: 更改 1585827 (用于线程 1) 在序列 #118 中
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
cancel --oracle控制文件中会有记录
alter database open resetlogs; --scn截断了
--此时,提交的没有被归档的信息没有被恢复,也就是因为当前重做日志损坏而丢失了数据
--当前redo.log损坏,恢复后该log中信息丢失
S1. shutdown imediate
S2. recover database utill cancel
S3. cancel --此时没有到恢复终点取消,因为log损坏也恢复不到终点
S4. alter database open resetlogs --因为没有恢复到终点,用resetlogs 来截断scn号,此时数据恢复到最后归档日志的时间,但是scn不再是最后归档的SCN
不完全恢复-redo损坏
最新推荐文章于 2022-09-09 17:40:45 发布