数据库迁移过程中使用热备份进行分时恢复

第五阅读网 FiveRead.com  2008年05月14日  赛迪网 Darren

  一个大型数据库的迁移过程中,一般只会有很短的停机时间,对于DBA来说,压力可想而之。本文将着重介绍一个缩短停机时间的好方法,详细内容请参考下文。

  注:本文中的示例适用于同平台、同版本数据库的迁移。

  解决方法如下:

  在工作环境中,我们可以通过一个热备份,应用归档恢复数据库到一致的状态,这时数据库可以被只读(read only)打开。

  然后我们可以继续应用归档来进行恢复,最后只需要短时间的停机,复制原数据库中的在线日志及归档日志、控制文件到新库中进行恢复,这时只需要极短的时间就可完成恢复。

  这个方法可以极大缩短割接时间。下文是一个参考示例的具体步骤:

  1.首先,启动数据库

  查询归档情况:

  

SQL> select name from v$archived_log;NAME-------------------------------------------E:/Oracle/ORADATA/EYGLE/REDO01.LOGE:/ORACLE/ORADATA/EYGLE/REDO02.LOGE:/ORACLE/ORADATA/EYGLE/REDO03.LOGE:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00001.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00002.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00003.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00004.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00005.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00006.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00001.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00002.001NAME--------------------------------------------E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00003.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00004.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00005.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00006.001已选择15行。

  归档当前的日志:

  

SQL> alter system switch logfile;系统已更改。

  

  

  2.备份数据库

  备份脚本:

  

alter tablespace system begin backup;host copy E:/ORACLE/ORADATA/EYGLE/SYSTEM01.DBF e:/oracle/orabak/SYSTEM01.DBFalter tablespace system end backup;alter tablespace undotbs1 begin backup;host copy E:/ORACLE/ORADATA/EYGLE/UNDOTBS01.DBF e:/oracle/orabak/UNDOTBS01.DBFalter tablespace undotbs1 end backup;alter tablespace eygle begin backup;host copy E:/ORACLE/ORADATA/EYGLE/EYGLE01.DBF  e:/oracle/orabak/EYGLE01.DBF alter tablespace eygle end backup;

  

  执行备份:

  

SQL> @e:/a.sql表空间已更改。已复制         1 个文件。表空间已更改。表空间已更改。已复制         1 个文件。表空间已更改。表空间已更改。已复制         1 个文件。表空间已更改。数据库已更改。

文章评论

发表您的评论 查看完整内容