|
Oracle备份与恢复案例(5) 3、 v$recover_file与v$recovery_log 这是两个动态性能视图,可以在mount下查看,通过这两个视图,你可以了解详细的需要恢复的数据文件与需要使用到的归档日志。
第四章. 数据库恢复案例 4.1非归档模式下的备份与恢复
备份方案:采用OS冷备份 1. 连接数据库并创建测试表 SQL> connect internal/password as sysdba; Connected. SQL> create table test(a int); Table created SQL> insert into test values(1); 1 row inserted SQL> commit; Commit complete 2. 备份数据库 SQL> @coldbak.sql 或在DOS下 svrmgrl @coldbak.sql 3. 再插入记录 SQL> insert into test values(2); 1 row inserted SQL> commit; Commit complete SQL> select * from test; A ------------------- 1 2 4. 关闭数据库 SQL> shutdown immediate; Database closed. Database dismounted. Oracle instance shut down. 5. 毁坏一个或多个数据文件,如删除user01.dbf C:\>del D:\Oracle\ORADATA\TEST\USERS01.DBF 模拟媒体毁坏。 6. 重新启动数据库,会发现如下错误 SQL> startup Oracle instance started. Total System Global Area 102020364 bytes Fixed Size 70924 bytes Variable Size 85487616 bytes Database Buffers 16384000 bytes Redo Buffers 77824 bytes Database mounted. ORA-01157: cannot identify/lock data file 3 - see DBWR trace file ORA-01110: data file 3: 'D:\Oracle\ORADATA\TEST\USERS01.DBF' 在报警文件中,会有更详细的信息 Errors in file D:\Oracle\admin\test\bdump\testDBW0.TRC: ORA-01157: cannot identify/lock data file 3 - see DBWR trace file ORA-01110: data file 3: 'D:\Oracle\ORADATA\TEST\USERS01.DBF' ORA-27041: unable to open file OSD-04002: unable to open file O/S-Error: (OS 2) 系统找不到指定的文件。 7. 拷贝备份复原到原来位置(restore过程) C:\>xcopy d:\database\*.* d:\Oracle\oradata\test/H/R/S 8. 打开数据库,检查数据 SQL> alter database open; Database altered. SQL> select * from test; A --------------------------------------- 1 这里可以发现,数据库恢复成功,但在备份之后与崩溃之前的数据丢失了。
说明: 1、非归档模式下的恢复方案可选性很小,一般情况下只能有一种恢复方式,就是数据库的冷备
|