Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

65

积分

0

好友

31

主题
1#
发表于 2014-8-9 15:42:44 | 查看: 5927| 回复: 4
本帖最后由 etl2007 于 2014-8-9 16:01 编辑

参考这些资料
http://www.dbasupport.com/forums/showthread.php?54467-Data-Guard-redo-transport-sync-vrs-affirm


http://www.databasejournal.com/features/oracle/article.php/3816751/Oracle-11g-Data-Guard-Building-a-Physical-Standby-Database.htm


http://blog.csdn.net/tianlesoftware/article/details/5514082


Table 1-2. Redo Transport Modes

Setting
Meaning

ASYNC
(Default) The redo for a transaction may not have been received by all enabled destination(s) before the transaction is allowed to COMMIT

SYNC
The redo for a transaction must have been received by all enabled destination(s) before the transaction is allowed to COMMIT

AFFIRM
The destination for redo transport will acknowledge the receipt of redo data only after it’s been written to the standby redo log; implied by SYNC setting

NOAFFIRM
The destination for redo transport will acknowledge the receipt of redo data before it’s been written to the standby redo log; implied by ASYNC setting



按照

使用ARCH进程传递最大问题在于: Primary Database 只有在发生归档时才会发送日志到Standby Database。 如果Primary Database 异常宕机,联机日志中的Redo 内容就会丢失,因此使用ARCH 进程无法避免数据丢失的问题,要想避免数据丢失,就必须使用LGWR,而使用LGWR 又分SYNC(同步)和ASYNC(异步)两种方式。

这样的说法,只有直接传输online redo log的时候,才有sync 和 async 的说法

但问题是如果 是传输 online redo log ,那么远端的destination就只能是standby database的standby redo log
(本端的destination当然就是本机的归档日志)


同时根据oracle官方文档的说法

SYNC_AFFIRM.png

很明显,affirm 和 sync 是配对存在的, noaffirm和 async 是配对存在的的

即要支持 Maximum Protection 和 Maximum Availability 模式
那么 affirm 和 sync  就必须同时存在

即要支持 Maximum Performance模式
那么 noaffirm 和 async  就必须同时存在

虽然语法上支持
“alter system set log_archive_dest_2 = 'SERVICE=ST  LGWR  ASYNC ' scope=both;”

或者 “alter system set log_archive_dest_2 = 'SERVICE=ST  LGWR  SYNC  NET_TIMEOUT=30' scope=both;”

但是实际上这没有多大意义啊?
我意思应当没有一个场景需要这样配置吧

我的意思 单独的 SYNC (没有affirm)有意义吗? 单独的 ASYNC (没有noaffirm) 有意义吗?
麻烦指导一下
5#
发表于 2014-8-9 16:27:57
sync+ affirm =>延迟可能体现在于备节点的redo写出IO
sync+noaffirm => 延迟可能体现在 network上

O这么做还是有考量的,而且设计之初肯定是考虑为开关形式 灵活使用,只不过 后者组合确实场景较少而已。

回复 只看该作者 道具 举报

4#
发表于 2014-8-9 16:07:56
本帖最后由 etl2007 于 2014-8-9 16:19 编辑
Maclean Liu(刘相兵 发表于 2014-8-9 16:04
SYNC+ AFFIRM=> 要求同步传输 且要求写入到standby redo logfile 才返回
SYNC + NOAFFIRM => 要求同步传输  ...


我的意思 SYNC+NOAFFIRM 这样的配置其实没有太多意义,oracle貌似搞得有些啰嗦了?其实SYNC/ASYNC 和 AFFIRM/NOAFFIRM保留其中一类参数就好,搞两类无形中提高了学习成本和维护成本?

回复 只看该作者 道具 举报

3#
发表于 2014-8-9 16:04:32
SYNC+ AFFIRM=> 要求同步传输 且要求写入到standby redo logfile 才返回
SYNC + NOAFFIRM => 要求同步传输 但不要求写入到standby redo logfile 才返回
ASYNC => 异步传输,由于传输都是异步的 所以不存在AFFIRM ,也就是默认NOAFFIRM

单独的 SYNC (没有affirm)有意义吗?=> 由于最大保护模式 要求SYNC+AFFIRM,所以SYNC+NOAFFIRM无法使用最大保护模式,意义较小,除非特殊情况否则不推荐使用。

回复 只看该作者 道具 举报

2#
发表于 2014-8-9 16:01:14
LGWR =>

    SYNC =>  AFFIRM ,NOAFFIRM
           

   ASYNC

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-21 06:17 , Processed in 0.048690 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569