数据库恢复实例

作为一个dba,最重要的工作莫过于保证数据库中数据的安全,当一个数据库down掉之后,恢复旧变成了至关重要的事情。能否成功的恢复,并不在于数据库down掉时采取的恢复策略,要保证数据的万无一失,一套完整的备份方案是必须的。但作为dba,还应该了解和掌握各种情况下应该采取哪些恢复措施,并且清楚的指导每一种恢复方式的会产生什么样的结果。以下是几种常用的的备份和恢复方式的具体示例,是入门的dba必须掌握的。

实例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条记录。 

至此,整个使用归档日志对完整的数据库冷备份进行完全恢复的模拟成功完成。 


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。