dataguard 自动裂缝检测和解决
2016-03-29 14:57
260 查看
当Primary Database的某些日志没有成功发送到Standby Database, 这时候发生饿了归档裂缝(Archive Gap)。
缺失的这些日志就是裂缝(Gap)。 Data Guard能够自动检测,解决归档裂缝,不需要DBA的介入。这需要配置FAL_CLIENT, FAL_SERVER 这两个参数(FAL: Fetch Archive Log)。
从FAL 这个名字可以看出,这个过程是Standby Database主动发起的“取”日志的过程,Standby Database 就是FAL_CLIENT. 它是从FAL_SERVER中取这些Gap, 10g中,这个FAL_SERVER可以是Primary Database, 也可以是其他的Standby Database。
如:FAL_SERVER='PR1,ST1,ST2';
FAL_CLIENT和FAL_SERVER两个参数都是Oracle Net Name。 FAL_CLIENT 通过网络向FAL_SERVER发送请求,FAL_SERVER通过网络向FAL_CLIENT发送缺失的日志。 但是这两个连接不一定是一个连接。 因此FAL_CLIENT向FAL_SERVER发送请求时,会携带FAL_CLIENT参数值,用来告诉FAL_SERVER应该向哪里发送缺少的日志。 这个参数值也是一个Oracle Net Name,这个Name是在FAL_SERVER上定义的,用来指向FAL_CLIENT.
当然,除了自动地日志缺失解决,DBA 也可以手工解决。 具体操作步骤如下:
1) 查看是否有日志GAP:
SQL> SELECT UNIQUE THREAD#, MAX(SEQUENCE#) OVER(PARTITION BY THREAD#) LAST FROM V$ARCHIVED_LOG;
如果 Redo在物理Standby数据库缺失,在物理Standby数据库执行以下查询语句确定缺失问题
如果缺失 7 to 10
SQL>select name from v$archived_log where thread# = 1 and dest_id = 1 and sequence# >=7 and sequence# <= 10 ;
SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
2) 如果有,则拷贝过来
3) 手工的注册这些日志:
SQL> ALTER DATABASE REGISTER LOGFILE '路径';
相关文章推荐
- ORACLE DATAGUARD中手工处理日志v$archive_GAP的方法
- Oracle 11g Dataguard参数详解
- Dataguard配置Step by Step
- GoldenGate TDM容灾方案与DataGuard容灾方案的对比
- GoldenGate数据复制的综合软件包
- 高级复制、流复制、备库的区别
- Oracle DataGuard 11gR2 之Physical Standby Database的创建
- Oracle 10g Dataguard实施
- Oracle Dataguard 参数详解
- Oracle Dataguard 基本原理
- oracle dataguard
- 使用 RMAN DUPLICATE...FROM ACTIVE DATABASE 创建物理备用数据库的分步指南
- Oracle 11gR2 使用 RMAN duplicate from active database 复制数据库
- DataGuard physical standby创建与维护
- DataGuard主备服务器网络暂时中断
- Oracle 11G DataGuard重启详细过程~~
- ORA-00604 ORA-16000 dataguard standby db(open read only)连接问题
- RMAN duplicate创建Dataguard standby数据库并使用QMonitor监控standby delay
- 配置RAC环境的standby
- 物理standby转换为逻辑standby的步骤