前言
请不要随意激活standby database ,除非发生紧急情况。因为一旦standby数据库被激活,就成为一个普通的数据库,对外提供服务,此时不能再reply log,并且不能再回到standby模式。如果你想验证一个standby database是否被正确的update,你可以以read only的模式打开数据库,也不要激活standby数据库。
根据紧急情况的不同,你可以无法进入你的主库(primary database),如果你能进入,你应该试图手动归档你当前的在线联机日志(online redo log),然后再传到备库并在备库应用所有可用的归档日志(archive log)。
抢救主库的redo log
1. 如果可以能的话在主库手动归档你当前的在线联机日志:
SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;
2. 如果你standby数据库不是managed standby环境,手动传送所有可用的但在备库(standby database)还没有被应用的归档日志,用操作系统命令copy,举例如下:
% cp /oracle/arc_dest/*.arc /standby/arc_dest
3. 如果你standby数据库是Managed recovery standby模式, cancel recovery:
SQL> CANCEL
如果你standby数据库不是Managed recovery standby模式, 让他处于mounted状态,如果你的实例(instance)没有启动,先用如下命令启动
SQL> STARTUP NOMOUNT pfile=initSTANDBY.ora
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
4. 在备库(standby database)执行手动recovery,手工的应用所需的日志
SQL> RECOVER STANDBY DATABASE;
这是手工应用日志的模式,因为我们的standby数据库跟主库时间点不一致,所以我先手工的应用所需的日志,然后按照提示显示的文件编号,将从该文件以后生成的所有归档日志文件从主机上复制到备机的%STD_ARCHIVE_LOG_PATH%中,然后输入Auto执行同步操作。
或者自动recover
SQL> RECOVER AUTOMATIC STANDBY DATABASE; # 用备库参数文件中location位置指定的文件
SQL> RECOVER AUTOMATIC FROM ’/logs’ STANDBY DATABASE; # 手工指定应用的归档的目录
这个应用过程就是数据库前滚到主库失败之前.你可以应用除了当前redo log之外的所有redo log,如果你丢失了非当前的联机日志,而且还没有归档,就有可能丢失数据。激活备库将自动reset 联机日志,并记录主库和备库的redo log不一致,就不能在应用原来主库的归档日志。
激活一个Standby Database
1. 确保你的备库是mounted在exclusive模式下:
SQL> SELECT name,value FROM v$parameter WHERE name=’parallel_server’;
NAME VALUE
----------------- --------------------------------------------------------
parallel_server FALSE
1 row selected.
如果值是TRUE, 数据库就不是mounted在exclusive模式下; 如果值是
FALSE, 数据库是mounted在exclusive模式下.
2. 激活备库:
SQL> ALTER DATABASE ACTIVATE STANDBY DATABASE;
这条命令将reset联机日志
3. 关闭数据库
SQL> SHUTDOWN IMMEDIATE
4. 尽早的备份你的新的生产库.
5. 以只读或者读写模式打开数据库
SQL> STARTUP MOUNT
SQL> ALTER DATABASE READ ONLY; # opens the database in read-only mode
SQL> ALTER DATABASE READ WRITE; # opens the database in read/write mode
自动激活的批处理activate_standby.bat:
Sqlplus /nolog @activate_standby.sql>>activate_standby.log
activate_standby.sql的内容:
Connect sys/natsys@nat_208 as sysdba;
CANCEL;
RECOVER AUTOMATIC STANDBY DATABASE;
ALTER DATABASE ACTIVATE STANDBY DATABASE;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE READ WRITE;
exit
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8554499/viewspace-591712/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8554499/viewspace-591712/