在Oracle Data Guard中,Redo Gap的产生是由于一些网络或者其他问题导致redo的传输中断。当故障消除后,这些没有传输过去的redo文件会由一些进程发现,并且将它们传镇李输到备库。
术语:
ARC:归档进程
MRP:Media Recovery Process,在备库上负责应用redo
RFS:Remote File Server ,在备库上接收发送过来的redo文件
FAL:Fetch Archive Log
测试目的:由于网络问题发生了gap后,确定哪个进程负责处理gap。
测试环境:Oracle 11.2.0.2 on Linux 5.
测试过程:
1.确保当前主库和备库是同步的:
Primary:
MAX(SEQUENCE#)
--------------
86
Standby:
MAX(SEQUENCE#)
--------------
86
2. 模拟网络中断,导致gap:
在主库将网卡停掉: #ifconfig eth0 down
将主库执行数次switch logfile:
SQL>alter system switch logfile
SQL>alter system switch logfile
...
Primary:
MAX(SEQUENCE#)
--------------
96
这时主库alert log报出了与备库连接不冲敏通的错误:
TNS-00513: Destination host unreachable
nt secondary err code: 101
nt OS err code: 0
Error 12543 received logging on to the standby
FAL[server, ARCp]: Error 12543 creating remote archivelog file 'STANDBY'
FAL[server, ARCp]: FAL archive failed, see trace file.
ARCH: FAL archive failed. Archiver continuing
ORACLE Instance orcl - Archival Error. Archiver continuing.
3.将主库的这些归档御判迟临时换个目录,保证这些归档无法传到备库:
mv *.arc ../
4. 启动主库的网卡:
#ifconfig eth0 up
5.这时,主库的ARC并没有把缺少的日志传到备库。最终备库的MRP发现了gap并把gap fetching.
备库alert log:
Thu Mar 29 19:58:49 2012
Media Recovery Waiting for thread 1 sequence 87 (in transit) <==== 网络中断时,等待87
...
Thu Mar 29 20:08:45 2012
...
Media Recovery Waiting for thread 1 sequence 94
Thu Mar 29 20:11:01 2012
RFS[61]: Assigned to RFS process 13643
RFS[61]: Opened log for thread 1 sequence 97 dbid 1285401128 branch 757620395
Archived Log entry 80 added for thread 1 sequence 97 rlc 757620395 ID 0x4c9d8928 dest 2:
Thu Mar 29 20:11:02 2012
RFS[62]: Assigned to RFS process 13645
RFS[62]: Selected log 4 for thread 1 sequence 98 dbid 1285401128 branch 757620395
Thu Mar 29 20:11:02 2012
Primary database is in MAXIMUM PERFORMANCE mode
Re-archiving standby log 4 thread 1 sequence 98
Thu Mar 29 20:11:02 2012
Archived Log entry 81 added for thread 1 sequence 98 ID 0x4c9d8928 dest 1:
RFS[63]: Assigned to RFS process 13647
RFS[63]: Selected log 4 for thread 1 sequence 99 dbid 1285401128 branch 757620395
Thu Mar 29 20:11:05 2012
Fetching gap sequence in thread 1, gap sequence 94-96 <===========取gap
...
6.通过MRP的trace,可以确定是MRP 作了fetching gap:
MRP trace:
*** 2012-03-29 20:08:45.375 4265 krsh.c
Media Recovery Waiting for thread 1 sequence 94
*** 2012-03-29 20:11:05.543
*** 2012-03-29 20:11:05.543 4265 krsh.c
Fetching gap sequence in thread 1, gap sequence 94-96 <==========MRP取gap.
Redo shipping client performing standby login
*** 2012-03-29 20:11:05.593 4595 krsu.c
Logged on to standby successfully
Client logon and security negotiation successful!
7.将移走的归档日志移回之后,备库的RFS接收到了这些日志, MRP 将这些日志进行了apply.
Thu Mar 29 20:12:06 2012
RFS[64]: Assigned to RFS process 13649
RFS[64]: Opened log for thread 1 sequence 94 dbid 1285401128 branch 757620395
Archived Log entry 82 added for thread 1 sequence 94 rlc 757620395 ID 0x4c9d8928 dest 2:
Thu Mar 29 20:12:06 2012
RFS[65]: Assigned to RFS process 13651
RFS[65]: Opened log for thread 1 sequence 95 dbid 1285401128 branch 757620395
Thu Mar 29 20:12:06 2012
RFS[66]: Assigned to RFS process 13653
RFS[66]: Opened log for thread 1 sequence 96 dbid 1285401128 branch 757620395
Archived Log entry 83 added for thread 1 sequence 95 rlc 757620395 ID 0x4c9d8928 dest 2:
Archived Log entry 84 added for thread 1 sequence 96 rlc 757620395 ID 0x4c9d8928 dest 2:
Thu Mar 29 20:12:16 2012
Media Recovery Log /home/oracle/arch1/standby/1_94_757620395.arc
Media Recovery Log /home/oracle/arch1/standby/1_95_757620395.arc
Media Recovery Log /home/oracle/arch1/standby/1_96_757620395.arc
Media Recovery Log /home/oracle/arch1/standby/1_97_757620395.arc
Media Recovery Log /home/oracle/arch1/standby/1_98_757620395.arc
测试结论:
通过这个例子说明,对于这种gap的处理,主库的ARC进程对于以前产生的gap文件,并没有进行处理。是备库的MRP进程在apply log的时候发现了gap,将这些文件通过FAL进程取回。
注:在11g,理论上主库的ARC进程和备库的RFS、MRP进程在某些情况都有可能处理gap.
8. 为了进一步确定是MRP通过FAL取了gap文件,我将主库的密码修改了一下,结果MRP的trace中报错:FAL[client, MRP0],说明是通过FAL取的。
*** 2012-03-29 21:18:15.964 4265 krsh.c
Error 1031 received logging on to the standby
*** 2012-03-29 21:18:15.964 4265 krsh.c
FAL[client, MRP0]: Error 1031 connecting to PRIMARY for fetching gap sequence
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
希望我的回答对您有所帮助,望采纳!
~ O(∩_∩)O~
数据报表里的GAP是差距分析。会计报现在的会计报表是企业的会计人员根据一定时期(例如月、季、年)的会计记录,按照既定的格式和种类编制的系统的报告文件。
随着企业经敏码营活动的扩展,会计报表的使用者对会计信息的需求的不断增加,仅仅依靠几张会计报表提供的信息已经不能满足或不能直接满足他们的需求,因此需要通过报表以外的附注和说明提供更多的信息。
会计报表按其反映的内容,可以分为动态会计报表和静态会计报表。动态会计报表是反映一定时期内经营成果和现金流量肆丛的会计报表。
扩展资料:
差距因素:
这一销售额与当前销售额的差额表明了每种产品的增长机会。相关行业销售额(RIS)等于公司当前的销售额加上竞争差距,而实际市场份额(RMS)等于销售额除以相关行业销售额。造成公司潜在销售额与实际销售额差距的四个因素如下:
1、产品线差距。缩小这一差距需要从宽度或深桥雹哪度方面完善产品线,并引进新产品或改进产品。如产品线的生产能力不能够满足北京汽车市场的需求。
2、分销差距。可以通过扩展分销覆盖范围、提高分销密集程度和商品陈列缩小这一差距。
3、变化差距。客户使用这一战略的目的是鼓励没有使用过该产品的人试用,而鼓励现有的使用者消费更多的产品,较多购买者在考虑购买‘别克’公司的汽车
4、竞争差距。可以通过从现有竞争者手中夺取额外的市场份额,改善公司的地位,从而弥补这种差距。
参考资料来源:百度百科-会计报表
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)