单机Linux平台Oracle10g DataGuard Logical Standby搭建实例(1):http://space.itpub.net/81227/viewspace-706435
单机Linux平台Oracle10g DataGuard Logical Standby搭建实例(2):http://space.itpub.net/81227/viewspace-706748
单机Linux平台Oracle10g DataGuard Logical Standby搭建实例(3):http://space.itpub.net/81227/viewspace-706749
单机Linux平台Oracle10g DataGuard Logical Standby搭建实例(4):http://space.itpub.net/81227/viewspace-706750
单机Linux平台Oracle10g DataGuard Logical Standby搭建实例(5):http://space.itpub.net/81227/viewspace-706751
5.修复其他Standby数据库
物理Standby数据库的修复只有重建一种方式,至于如何创建物理Standby,前面说的已经足够多了,下面重点描述一下原Data Guard环境中的逻辑Standby。
注意的是,逻辑Standby的修复可不像物理Standby那样简单,相比较来说,重建其实是个简单的工作,因为初始化参数文件、密钥文件、存放目录等都是现成的,几乎不需要改动,DBA所需要做的,基本上就是重新复制一份新Primary数据库的相关文件,每个逻辑Standby都相当于是独立的数据库,如果你不希望重建逻辑Standby的话呢,Oracle倒是也提供了其他的解决方案。
假定原Data Guard环境中有逻辑Standby数据库LGDG,执行failover后,LGDG不再是新Data Guard环境中的成员,这里演示如何恢复该数据库到当前的Data Guard配置,操作步骤如下:
(1)在原逻辑Standby中创建数据库链,连接到新的Primary数据库。
这里所谓的原Standby数据库,自然是指JSSLDG2喽,注意,数据库链中用于连接新Primary数据库的用户必须拥有SELECT_CATALOG_ROLE角色。执行以下语句:
SQL> ALTER SESSION DISABLE GUARD;
SQL> CREATE DATABASE LINK BL CONNECT TO SYSTEM IDENTIFIED BY admin USING 'orcl_pd';
SQL> ALTER SESSION ENABLE GUARD;
验证一下数据链是否能够正常访问:
SQL> SELECT SYSDATE FROM DUAL@BL;
SYSDATE
---------
06-MAY-10
提示: ALTER SESSION ENABLE|DISABLE GUARD语句作用?
该语句用于允许或禁止用户修改逻辑Standby中的结构。
(2)重新启动SQL应用。
在各个逻辑Standby端执行下列语句启动SQL应用(注意更新dblinkName):
SQL> ALTER DATABASE START LOGICAL STANDBY APPLY NEW PRIMARY BL;
如果你运气好,等语句执行完之后,恢复过程就完成了。如果你非常不幸地碰到了ORA-16109错误,那么我不得不告诉你,恐怕你得重建逻辑Standby了。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/81227/viewspace-706752/ ,如需转载,请注明出处,否则将追究法律责任。