分类: 服务器与存储
2008-06-14 13:49:11
实例1:归档的数据库,完整的数据库全库备份,完整的归档备份,此时数据库down掉,只留下控制文件和日志文件可用。
1:安全关闭当前数据库。(确保当前数据库处于归档模式下)。
2:copy所有的数据文件,日志文件和控制文件到一个目录下。
3:打开数据库,建新用户user1
create user user1 identified by aaaaaa;
grant dba to user1;
connect user1/aaaaaa;
4:在user1 下建表T1,向T1中插入10000条数据。
Begin
For I in 1……100000 loop
Insert into t1 values(i);
End loop;
Commit;
End;
5:切换几次日志,使所有日志都已经归档。
Alter system switch log file;
6:正常关闭数据库。Shutdown immediate;
7:恢复:
把当前数据库所有文件移动到一个临时文件夹里,模拟数据库损坏。
8:COPY最初复制的数据库的所有文件,但控制文件和日志文件要使用目前数据库的。
9:启动数据库 startup
mount 后会提示SYSTEM表空间需要恢复。并给出恢复使用的归档日志文档。
确定归档日志位置正确后,输入auto.
ORACLE将一个一个的应用归档文档。直至提示完全恢复成功。
10:打开数据库 alter database open;
11:查看user1用户及t1表中是否有刚才插入的10000条记录。
至此,整个使用归档日志对完整的数据库冷备份进行完全恢复的模拟成功完成。
实例2:上面的例子,并且在线日志online redo也丢失,在这种情况下,只能做不完全恢复。前8步同上。
9:startup mount;
10:步完全恢复:
recover database until cance;
o mount 后会提示SYSTEM表空间需要恢复。并给出恢复使用的归档日志文档。
确定归档日志位置正确后,回车,一个个应用归档日志,直至最后提示的归档日志用完后下一个归档日志时输入cancel.