异步重做传输
异步传输
(asynchronous transport
,
ASYNC)
与
SYNC
的不同之处在于,
LGWR
不必
等待来自
LNS
的确认消息,无论主数据库与备用数据库相距多远,都几乎不会影响到主
数据库的性能。
即使由于带宽有限,使得先前事务的重做数据不能立即传给备用数据库,
LGWR
也
将继续确认提交操作成功完成
(
可以联想到一个水池,其注水速度比排水速度快
)
。如果
LNS
赶不上进度,在将重做数据传给备用数据库前就回收了日志缓冲区,
LNS
将自行转
为从
ORL
读取和发送重做数据
(
从
Data Guard 11
g
开始提供此项功能
)
。当
LNS
赶上进
度
后,将自行转回到直接从日志缓冲区中读取
/
发送。
如果
ASYNC
重做传输的速度落后到在日志切换时
LNS
还在读取
ORL
的程度,
LNS
将继续执行操作,直到发送完原
ORL
的内容为止。此后会平滑转回到从当前联机日志文
件读取
/
发送。当
LNS
赶上
LGWR
的进度时,会平滑转回到从重做日志缓冲区读取
/
发送。
在极少数情况下,在
LNS
发送完原
ORL
之前就发生了两次或更多次日志切换,而
LNS
仍返回读取当前联机日志文件的内容。在原
ORL
和当前
ORL
之间归档的任何
ORL
将由
Data Guard
的间隔处理
(gap resolution)
进程负责传输;稍后的“自动处理间隔”一
节
将介绍该进程。注意,如果这种“罕见情况”频频出现,很可能表明没有足够大的带宽
来传输重做数据流。
ASYNC
传输行为使得主数据库缓存大量重做数据,这称作传输滞后
(transport lag)
,
但不会终止传输也不影响可用性。虽然
ASYNC LNS
读取
ORL
造成的相关
I/O
开销会轻
微影响主数据库的性能,但与高延迟网络上
SYNC
的潜在性能影响相比,这是微不足道
的。比较图
1-4
和图
1-3
可明显看到,
ASYNC
比较简洁。
ASYNC
唯一的不足之处是增
加了数据损失风险。如果某个故障破坏了主数据库,而此时传输滞后尚未降至
0
,那么
传输滞后所包含的任何已提交事务都将丢失。使用
ASYNC
时,提供足够大的网络带宽
来处理峰值期间高速生成的重做数据,可以最大限度地降低数据损失风险。
评论