首页 / 数据库 / MySQL / Oracle 11g 利用泠备份恢复standby库
Oracle 11g 利用泠备份恢复standby库1 开始在备库上进行泠备份
先查好控制文件、redo、undo文件、数据文件的路径1.1 先关闭主库的归档日志传输
SQL> ALTER system SETlog_archive_dest_state_2 ="DEFER"; System altered.SQL>1.2 先关闭standby库
SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL>SQL>1.3 开始进行泠备份
#建立一个泠备份目录mkdir /data/oracle_cold/开始泠备份控制文件cp /data/oracle_cold/cp /home/oradata/orcl/control01.ctlcontrol01.ctlcp /oracle/app/oracle/flash_recovery_area/orcl/control02.ctlcontrol02.ctl开始泠备份redo、undo文件mkdir orcl_2cp -r /home/oradata/orcl/*.log orcl_2开始泠备份数据文件cp -r /home/oradata/orcl/*.dbf orcl_22开始使用泠备份进行db恢复
2.1,停止掉standby库
SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL>SQL>2.2,将泠备中的控制文件覆盖当前的控制文件
查看原来的控制文件目录[oracle@localhost oracle_cold]$ morecontrolfile.logSQL> SELECT name FROMv$controlfile;NAME--------------------------------------------------------------------------------/home/oradata/orcl/control01.ctl/oracle/app/oracle/flash_recovery_area/orcl/control02.ctlSQL>开始复制覆盖[oracle@localhost oracle_cold]$ cpcontrol02.ctl /oracle/app/oracle/flash_recovery_area/orcl/control02.ctl[oracle@localhost oracle_cold]$ cpcontrol01.ctl /home/oradata/orcl/control01.ctl[oracle@localhost oracle_cold]$2.3,将泠备中的redo、undo文件覆盖到以前的目录中
查看以前的redo、undo文件路径[oracle@localhost oracle_cold]$ morelogfile.logSQL> select member from v$logfile;MEMBER--------------------------------------------------------------------------------/home/oradata/orcl/redo03.log/home/oradata/orcl/redo02.log/home/oradata/orcl/redo01.log/home/oradata/orcl/redo_dg_01.log/home/oradata/orcl/redo_dg_02.log/home/oradata/orcl/redo_dg_03.log6 rows selected.SQL>开始覆盖redo、undo文件[oracle@localhost oracle_cold]$ cp orcl_2/*.log/home/oradata/orcl/[oracle@localhost oracle_cold]$2.4,将泠备中的数据文件覆盖到以前的目录中
查看以前的数据文件目录[oracle@localhost oracle_cold]$ moredatafile.logSELECT name FROM v$datafile;1 /home/oradata/orcl/system01.dbf2 /home/oradata/orcl/sysaux01.dbf3 /home/oradata/orcl/undotbs01.dbf4 /home/oradata/orcl/users01.dbf5 /home/oradata/orcl/orclk01.dbf6 /home/oradata/orcl/plas01.dbf7 /home/oradata/orcl/pl01.dbf8 /home/oradata/orcl/help01.dbf9 /home/oradata/orcl/adobelc01.dbf10 /home/oradata/orcl/sms01.dbf11 /home/oradata/orcl/plcrm01.dbf[oracle@localhost oracle_cold]$开始覆盖以前的数据文件目录[oracle@localhost oracle_cold]$ cp orcl_2/*.dbf/home/oradata/orcl/[oracle@localhost oracle_cold]$2.5 启动数据库
SQL> startupORACLE instance started.Total System Global Area 5344731136 bytesFixed Size 2213136 bytesVariable Size 3355446000 bytesDatabase Buffers 1946157056 bytesRedo Buffers 40914944 bytesDatabase mounted.Database opened.SQL>2.6 去主库上开启归档日志传输
SQL> ALTER system SET log_archive_dest_state_2="enable"; System altered.SQL>2.7 然后备库启动应用
select sequence#,applied fromv$archived_log order by sequence# asc;SQL> alter database recovermanagedstandby database disconnect from session; Database altered.SQL>SQL> select open_modefromv$database;OPEN_MODE--------------------READ ONLY WITH APPLYSQL>更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址