Oracle DataGuard之--手工解决日志GAP(日志间隙)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

Oracle DataGuard之--手工解决日志GAP(日志间隙)

     在Oracle DG 中当standby db 失联后,会照成主备库,日志不同步,照成日志的GAP;在配置DG参数(FAL_SERVER),备库可以主动向主库request log,但有时候不能自动获取时,可以通过手工来解决日志GAP.

系统环境:

操作系统: RedHat EL55

Oracle:   Oracle 11gR2

Primary DB:     BJ

Standby DB:   GZ


一、查看物理备库GAP 信息

要确定在你的物理备数据库上是否有归档中断,查询V$ARCHIVE_GAP 视图,如下面例子所示:

 SQL> SELECTFROMV$ARCHIVE_GAP


SQL> SELECT NAME FROM V$ARCHIVED_LOG WHERE THREAD #=1 AND DEST_ID=1 AND SEQUENCE# BETWEEN X AND X;

二、Oracle DG 解决日志 gap(间隙)问题,手工在备库上注册archive log


1、在主库上将日志传送到备库

[oracle@bj admin]$ cd /dsk4/arch_bj/

[oracle@bj arch_bj]$ ls

arch_1_10_830282966.log  arch_1_23_830282966.log  arch_1_36_830282966.log

arch_1_11_830282966.log  arch_1_24_830282966.log  arch_1_37_830282966.log

arch_1_12_830282966.log  arch_1_25_830282966.log  arch_1_38_830282966.log

arch_1_13_830282966.log  arch_1_26_830282966.log  arch_1_39_830282966.log

arch_1_14_830282966.log  arch_1_27_830282966.log  arch_1_40_830282966.log

arch_1_15_830282966.log  arch_1_28_830282966.log  arch_1_41_830282966.log

arch_1_16_830282966.log  arch_1_29_830282966.log  arch_1_42_830282966.log

arch_1_17_830282966.log  arch_1_30_830282966.log  arch_1_43_830282966.log

arch_1_18_830282966.log  arch_1_31_830282966.log  arch_1_44_830282966.log

arch_1_19_830282966.log  arch_1_32_830282966.log  arch_1_45_830282966.log

arch_1_20_830282966.log  arch_1_33_830282966.log  arch_1_46_830282966.log

arch_1_21_830282966.log  arch_1_34_830282966.log  arch_1_47_830282966.log

arch_1_22_830282966.log  arch_1_35_830282966.log  arch_1_9_830282966.log

[oracle@bj arch_bj]$ scp *4* sh:/dsk4/arch_gz

arch_1_41_830282966.log                                     100% 4650KB   4.5MB/s   00:00    

arch_1_42_830282966.log                                     100%   21KB  20.5KB/s   00:00    

arch_1_43_830282966.log                                     100%  166KB 166.0KB/s   00:00    

arch_1_44_830282966.log                                     100%   35KB  34.5KB/s   00:00    

arch_1_45_830282966.log                                     100% 4096     4.0KB/s   00:00    

arch_1_46_830282966.log                                     100%   33KB  33.0KB/s   00:00    

arch_1_47_830282966.log                                     100%   34KB  33.5KB/s   00:00    

[oracle@bj arch_bj]$

2、备库日志、根据日志信息,可以了解备库缺少sequence 41以后的日志


Media Recovery Waiting for thread 1 sequence 41

Mon Nov 04 15:55:01 2013

3、在备库上注册archive log

15:55:21 SYS@ gz>alter database register logfile '/dsk4/arch_gz/arch_1_41_830282966.log';

Database altered.

Elapsed: 00:00:00.03

15:55:33 SYS@ gz>alter database register logfile '/dsk4/arch_gz/arch_1_42_830282966.log';

Database altered.

Elapsed: 00:00:00.01

15:55:43 SYS@ gz>alter database register logfile '/dsk4/arch_gz/arch_1_43_830282966.log';

Database altered.

Elapsed: 00:00:00.02

15:56:01 SYS@ gz>


4、备库日志

-----备库会主动解决日志gap

alter database register logfile '/dsk4/arch_gz/arch_1_41_830282966.log'

There are 1 logfiles specified.

ALTER DATABASE REGISTER [PHYSICAL] LOGFILE

Completed: alter database register logfile '/dsk4/arch_gz/arch_1_41_830282966.log'

Mon Nov 04 15:55:35 2013

Media Recovery Log /dsk4/arch_gz/arch_1_41_830282966.log

Media Recovery Waiting for thread 1 sequence 42

Mon Nov 04 15:55:43 2013

alter database register logfile '/dsk4/arch_gz/arch_1_42_830282966.log'

There are 1 logfiles specified.

ALTER DATABASE REGISTER [PHYSICAL] LOGFILE

Resynchronizing thread 1 from sequence 41 to 42

Completed: alter database register logfile '/dsk4/arch_gz/arch_1_42_830282966.log'

Mon Nov 04 15:55:45 2013

Media Recovery Log /dsk4/arch_gz/arch_1_42_830282966.log

Media Recovery Waiting for thread 1 sequence 43

Mon Nov 04 15:56:01 2013

alter database register logfile '/dsk4/arch_gz/arch_1_43_830282966.log'

There are 1 logfiles specified.

ALTER DATABASE REGISTER [PHYSICAL] LOGFILE

Resynchronizing thread 1 from sequence 42 to 43

Completed: alter database register logfile '/dsk4/arch_gz/arch_1_43_830282966.log'

Mon Nov 04 15:56:06 2013

Media Recovery Log /dsk4/arch_gz/arch_1_43_830282966.log

Media Recovery Waiting for thread 1 sequence 44

Mon Nov 04 15:56:08 2013

Using STANDBY_ARCHIVE_DEST parameter default value as /dsk4/arch_gz

RFS[1]: Assigned to RFS process 3854

RFS[1]: Identified database type as 'physical standby': Client is ARCH pid 4244

RFS[1]: Opened log for thread 1 sequence 44 dbid 242121299 branch 830282966

Mon Nov 04 15:56:08 2013

RFS[2]: Assigned to RFS process 3856

RFS[2]: Identified database type as 'physical standby': Client is ARCH pid 4248

RFS[2]: Opened log for thread 1 sequence 45 dbid 242121299 branch 830282966

Archived Log entry 4 added for thread 1 sequence 45 rlc 830282966 ID 0xe741ed4 dest 2:

RFS[2]: Opened log for thread 1 sequence 46 dbid 242121299 branch 830282966

Archived Log entry 5 added for thread 1 sequence 44 rlc 830282966 ID 0xe741ed4 dest 2:

Archived Log entry 6 added for thread 1 sequence 46 rlc 830282966 ID 0xe741ed4 dest 2:

RFS[1]: Opened log for thread 1 sequence 47 dbid 242121299 branch 830282966

Archived Log entry 7 added for thread 1 sequence 47 rlc 830282966 ID 0xe741ed4 dest 2:

Media Recovery Log /dsk4/arch_gz/arch_1_44_830282966.log

Media Recovery Log /dsk4/arch_gz/arch_1_45_830282966.log

Media Recovery Log /dsk4/arch_gz/arch_1_46_830282966.log

Media Recovery Log /dsk4/arch_gz/arch_1_47_830282966.log

Media Recovery Waiting for thread 1 sequence 48

Mon Nov 04 15:56:14 2013

RFS[3]: Assigned to RFS process 3859

RFS[3]: Identified database type as 'physical standby': Client is LGWR ASYNC pid 4250

Primary database is in MAXIMUM PERFORMANCE mode

RFS[3]: Opened log for thread 1 sequence 48 dbid 242121299 branch 830282966

Archived Log entry 8 added for thread 1 sequence 48 rlc 830282966 ID 0xe741ed4 dest 2:

RFS[3]: Opened log for thread 1 sequence 49 dbid 242121299 branch 830282966

Mon Nov 04 15:56:21 2013

Media Recovery Log /dsk4/arch_gz/arch_1_48_830282966.log

Media Recovery Waiting for thread 1 sequence 49 (in transit)


5、问题解决


主库:

16:02:06 SYS@ prod>select max(sequence#) from v$archived_log;


MAX(SEQUENCE#)

--------------

           48

Elapsed: 00:00:00.01


备库:

15:56:01 SYS@ gz>select max(sequence#) from v$archived_log;


MAX(SEQUENCE#)

--------------

           48










本文转自 客居天涯 51CTO博客,原文链接:http://blog.51cto.com/tiany/1385880,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
5月前
|
Oracle 关系型数据库 数据库
手把手教你Oracle DataGuard主备切换(switchover)
手把手教你Oracle DataGuard主备切换(switchover)
756 4
|
2月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
【赵渝强老师】Oracle的控制文件与归档日志文件
|
2月前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
|
2月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的联机重做日志文件与数据写入过程
在Oracle数据库中,联机重做日志文件记录了数据库的变化,用于实例恢复。每个数据库有多组联机重做日志,每组建议至少有两个成员。通过SQL语句可查看日志文件信息。视频讲解和示意图进一步解释了这一过程。
|
5月前
|
Oracle 网络协议 安全
Oracle 11g DataGuard搭建保姆级教程
Oracle 11g DataGuard搭建保姆级教程
296 4
|
5月前
|
Oracle 网络协议 关系型数据库
Oracle DataGuard主备切换之自动切换
Oracle DataGuard主备切换之自动切换
235 2
|
5月前
|
SQL Oracle 关系型数据库
"揭秘!一键解锁Oracle日志清理魔法,让海量归档日志无处遁形,守护数据库健康,告别磁盘空间告急噩梦!"
【8月更文挑战第9天】随着Oracle数据库在企业应用中的普及,归档日志管理对保持数据库健康至关重要。归档日志记录所有更改,对数据恢复极为重要,但也可能迅速占用大量磁盘空间影响性能。利用Oracle提供的RMAN工具,可通过编写Shell脚本来自动清理归档日志。脚本包括设置环境变量、连接数据库、检查和删除指定时间前的日志,并记录执行情况。通过Cron作业定时运行脚本,可有效管理日志文件,确保数据库稳定运行。
135 7
|
5月前
|
SQL 监控 Oracle
Oracle数据误删不用怕,跟我来学日志挖掘
Oracle数据误删不用怕,跟我来学日志挖掘
87 0
|
3月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
225 64
|
27天前
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
86 11

推荐镜像

更多