2024年6月15日发(作者:)
仅仅丢失一个普通用户数据文件的恢复A(联机恢复)
(例如,丢失D:)
准备工作, 通过下面的工作,如果完全恢复,应该可以看到;insert into test1 values(2);
SQL> conn lunar/lunar
SQL> select * from tab;
TESTBACKUP3 TABLE
SQL> create table test1 (a number);
SQL> insert into test1 values(1);
SQL> alter system switch logfile;
SQL> commit;
SQL> alter system switch logfile;
SQL> insert into test1 values(2);
SQL> commit;
SQL> alter system switch logfile;
SQL> conn internal
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 d:BACKUPDBarchive
最早的概要信息日志序列 3
下一个存档日志序列 5
当前日志序列 5
shutdown abort关闭例程,模拟数据文件丢失
SQL> shutdown abort
ORACLE 例程已经关闭。
Mount数据库
SQL> startup mount
数据库装载完毕。
使损坏的数据文件脱机
SQL> alter database datafile 'D:' offline;
打开数据库
SQL> alter database open;
拷贝刚才热备的数据文件()
恢复损坏的数据文件
SQL> recover datafile 'D:';
ORA-00279: ?? 424116 (? 10/20/2002 20:42:04 ??) ???? 1 ????
ORA-00289: ??: D:
ORA-00280: ?? 424116 ???? 1 ???? # 1 ???
指定日志: {
auto
1
ORA-00279: ?? 424125 (? 10/20/2002 20:44:14 ??) ???? 1 ????
ORA-00289: ??: D:
ORA-00280: ?? 424125 ???? 1 ???? # 2 ???
ORA-00278: ??????????? 'D:'
……………………..
已应用的日志。
完成介质恢复。
使恢复完成的数据文件联机
SQL> alter database datafile 'D:' online;
验证恢复的结果:完全恢复
SQL> select * from tab;
TNAME TABTYPE CLUSTERID
SQL> select * from test1;
说明:
1. shutdown abort关闭例程,模拟数据文件丢失
2. Mount数据库
3. 使损坏的数据文件脱机
4. 打开数据库
5. 拷贝刚才热备的数据文件()
6. 恢复损坏的数据文件
7. 使恢复完成的数据文件联机
2


发布评论