*仅仅丢失一个普通用户数据文件的恢复A(联机恢复) 数据库的备份和恢复是个比较常见的问题,咱们系统的讨论一下,如何 我先来一个:D *仅仅丢失一个普通用户数据文件的恢复A(联机恢复) (例如,丢失D:/BACKUPDB/USERS01.DBF) 准备工作 通过下面的工作,如果完全恢复,应该可以看到;insert into test1 values(2); SQL> conn lunar/lunar 已连接。 SQL> select * from tab; TESTBACKUP3 TABLE 已选择 1 行。 SQL> create table test1 2 (a number); 表已创建。 SQL> insert into test1 values(1); 已创建 1 行。 SQL> alter system switch logfile; 系统已更改。 SQL> commit; 提交完成。 SQL> alter system switch logfile; 系统已更改。 SQL> insert into test1 values(2); 已创建 1 行。 SQL> commit; 提交完成。 SQL> alter system switch logfile; 系统已更改。 SQL> conn internal 已连接。 SQL> archive log list 数据库日志模式 存档模式 自动存档 启用 存档终点 d:/BACKUPDB/archive 最早的概要信息日志序列 3 下一个存档日志序列 5 当前日志序列 5 SQL> shutdown abort关闭例程,模拟数据文件丢失 SQL> shutdown abort ORACLE 例程已经关闭。 Mount数据库 SQL> startup mount ORACLE 例程已经启动。 Total System Global Area 25856028 bytes Fixed Size 75804 bytes Variable Size 8925184 bytes Database Buffers 16777216 bytes Redo Buffers 77824 bytes 数据库装载完毕。 使损坏的数据文件脱机 SQL> alter database datafile 'D:/BACKUPDB/USERS01.DBF' offline; 数据库已更改。 打开数据库 SQL> alter database open; 数据库已更改。 SQL> 拷贝刚才热备的数据文件(USERS01.DBF) 恢复损坏的数据文件 SQL> recover datafile 'D:/BACKUPDB/USERS01.DBF'; ORA-00279: ?? 424116 (? 10/20/2002 20:42:04 ??) ???? 1 ???? ORA-00289: ??: D:/BACKUPDB/ARCHIVE/BACKUPT001S00001.ARC ORA-00280: ?? 424116 ???? 1 ???? # 1 ??? 指定日志: { =suggested | filename | AUTO | CANCEL} auto ORA-00279: ?? 424125 (? 10/20/2002 20:44:14 ??) ???? 1 ???? ORA-00289: ??: D:/BACKUPDB/ARCHIVE/BACKUPT001S00002.ARC ORA-00280: ?? 424125 ???? 1 ???? # 2 ??? ORA-00278: ??????????? 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00001.ARC' ORA-00279: ?? 424135 (? 10/20/2002 21:55:35 ??) ???? 1 ???? ORA-00289: ??: D:/BACKUPDB/ARCHIVE/BACKUPT001S00003.ARC ORA-00280: ?? 424135 ???? 1 ???? # 3 ??? ORA-00278: ??????????? 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00002.ARC' 已应用的日志。 完成介质恢复。 SQL> 使恢复完成的数据文件联机 SQL> alter database datafile 'D:/BACKUPDB/USERS01.DBF' online; Database altered. 验证恢复的结果:完全恢复 SQL> select * from tab; TNAME TABTYPE CLUSTERID ------------------------------ ------- ---------- TEST1 TABLE TESTBACKUP3 TABLE SQL> select * from test1; A ---------- 1 2 说明: 1. shutdown abort关闭例程,模拟数据文件丢失 2. Mount数据库 3. 使损坏的数据文件脱机 4. 打开数据库 5. 拷贝刚才热备的数据文件(USERS01.DBF) 6. 恢复损坏的数据文件 7. 使恢复完成的数据文件联机 |
http://www.cnoug.org/viewthread.php?tid=85&highlight=%2Blunar