DG-学习一

DG-学习一

首先说下dataguard中的LOG_ARCHIVE_DEST_2值中我们通常需要写明的使用什么进程去写日志到远程,使用异步还是同步,官方文档上的例子中都是采用异步(ASYNC),异步写的好处就是不需要等待网络IO结束再继续,特别是在生产中强烈建议使用异步,然后说的是使用哪个进程写,一般分为LGWR和ARCH两个进程,ARCH只能是在归档切换时才写到远程端,而LGWR等触发归档时写,它会在LGWR写入REDO的时候写,所以一般是选择LGWR进程。一般生产配的是 LGWR ASYNC,这样再加上目标端添加standby logfile就能实现(实时应用)REAL-APPLY。

查询归档使用了那个进行进程我们可以使用如下SQL查。

源端查询如下:

select sequence#,creator,registrar,applied,fal from v$archived_logorder by 1;

 SEQUENCE# CREATOR REGISTRAPPLIED   FAL

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

        87 ARCH    ARCH   NO        NO

        88 ARCH    ARCH   NO        NO

        88 LGWR    LGWR   YES       NO

        89 LGWR    LGWR   YES       NO

        89 ARCH    ARCH   NO        NO

        90 ARCH    ARCH   NO        NO

        90 ARCH    ARCH   YES       YES

由于我配置的是LGWR ASYNC,所以这里看出我使用的是LGWR写到远程,但是队列号90却不一样,其实90号使用ARCH进程,是因为当目标端出现了GAP(归档缺失),然后目标端会根据我们配置的FAL_SERVER和FAL_CLIENT两个参数通过FAL去指定的server找缺失的归档,然后通过ARCH传递到指定的目标端。

还有一个是说下关于结束应用日志时,使用recover managed standby database cancel和recovermanaged standby database区别,cancel是我们比较常用的,应用日志终止,finish也是终止(它是完成的意思),所以使用finish会把源端还没传完的日志传完,不管redo写没写满,全部传过来,但是使用finish之后,再想recover就不可以,已经和源端切断了联系。假如客户终止应用日志时使用了finish时,我们该如何做才能恢复dataguard的应用呢。我是如下做的(其实应该算初始化)

1.      先把目标端的库shutdown

Shutdown immediate

 

2.      先在源端生成一个standby controlfile.

backup current controlfile for standby format  '/orabak/rman/ctl__%d_%T_%s_%p';

 

3.      启动目标端到nomount状态

 Alter database nomount;

 

4.      恢复控制文件

Restore controlfile from ‘//orabak/rman/XXX’;

注:这里可以不使用restore standby controlfile,只要备份成standby就行,或者普通备份控制文件在这里使用restore standby controlfile,保险起见的话两边都使用standby controlfile也可以。

 

5.      打开数据库到mount状态

Alter database mount standby database;

6.      恢复数据库

Recover database;

 

7.      创建standby controlfile(如果源端已经创建了standby logfile那么不需要)

alter database add standby logfile '/oracle/oradata/sdb/std_redo01.log'size 50M;

alter database add standby logfile'/oracle/oradata/sdb/std_redo02.log' size 50M;

alter database add standby logfile'/oracle/oradata/sdb/std_redo03.log' size 50M;

 

8.      应用日志

Recover managed standby databasedisconnect;

 Recover managed standby database using currentlogfile disconnect;(Real-apply)

最后应用日志恢复正常,这其实算一次重新初始化。

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REaDME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值