备份有效性验证操作手册
通常情况下,我们在系统运行期间,不停地进行备份,但是我们无法知道该备份的有效性。所谓备份的有效性就是指在得到所有备份(包括备份数据、归档日志等等)的情况下,如何将数据库恢复。只有验证了备份的有效性,我们才敢断定将来发生灾难事件时,我们的备份能真正起作用。
一般情况下,不允许我们在生产和开发系统中进行备份有效性验证,所以只能在另外一台测试机器上进行验证。
本文只探讨在oracle9.2.0.4版本,red hat linux advanced server3.0操作系统的情况下的恢复操作,不保证其他情况下继续适用。
备份有效性验证分为以下几个方面:
从备份方式来看,有以下几种对应的恢复方案:
1. 冷备份(全备份)
2. 热备份(全备份)
3. 逻辑备份
从备份介质来看,有以下几种:
1. 硬盘
2. 磁带
热备份的恢复验证:
假定原来的数据库instance_name:ORA9,db_name:ORA9
1. 获得热备份和归档日志
2. 在测试机器上安装一个新的数据库instance_name:test,db_name:test,假定数据文件安装目录为$ORACLE_BASE/oradata/test。
3. 关闭test数据库,将$ORACLE_BASE/oradata/test下的所有文件移出(或删除),将全热备份的数据文件、控制文件全部拷贝到$ORACLE_BASE/oradata/test目录下。
4. 由于拷贝过去的controlfile只有一个control01.ctl,需要根据inittest.ora文件中control_files参数指定的位置将其多拷贝几份(使用操作系统的cp命令)。
5. 运行以下命令:sqlplus ‘/ as sysdba’,startup mount。可能会出现错误:ORA-01991: invalid password file '/gxlifesys/ora9/product/9.2.0.4/dbs/orapwtest'。这是由于test数据库的密码文件与ORA9的sys用户不一致造成的。可以先删除原密码文件orapwtest',再使用命令:orapwd file=orapwtest password= 6. Shutdown数据库,再次startup mount,这时应用可以正常mount数据库了。 7. 修改数据文件的指向,alter database rename file ‘filename1’ to ‘filename2’。 使用查询:select name from v$datafile;获得所有需要改变路径的数据文件,如/gxsys/oracle/oradata/ORA9/system01.dbf/gxlifedata/oracle/oradata/test/system01.dbf。 要 改 变 为 8. 修改redo log文件的指向,使用查询:select * from v$logfile;获得数据库ORA9的在线日志路径。需要将该路径,指向test数据库的数据文件安装路径上。如:alter database rename file '/gxsys/oracle/oradata/ORA9/redo01.log' to '/gxlifedata/oracle/ora9/oradata/ora9/redo01.log'; 9. 倒入归档日志,并修改归档路径。在inittest.ora初始化文件中,增加如下几项:log_archive_dest='/gxlifedata/arch' , log_archive_start=true , log_archive_format=\"%t_%s.arc\",要求和原来的ORA9数据库的log_archive_format一样。 10. 使用命令recover database using backup controlfile;当出现Specify log: { 11. 这时可以再使用recover database using backup controlfile until cancel命令,输入cancel,应该会有Media recovery cancelled的提示,表示恢复成功,但要注意这是一个不完全恢复过程。如果要使用完全恢复,则可以将ORA9数据库shutdown,直接应用在线的那个日志,将把数据库完全恢复。 12. 使用命令alter database open resetlogs,重新生成在线日志文件。 逻辑备份的恢复验证: 因篇幅问题不能全部显示,请点此查看更多更全内容