standby database TRACE 文件记录
问题:采用LSN进程传送日志的方式,当在版本10.2.0.3中会在SID_LSN_PIS.trc文件中记录详细日志 传送过程信息。信息如下:
Attempting to send buffer 0x0x2a983dd000 start block 7465 block count 5
total size to send 2560 blocksize 512
影响:如果详细记录的话会带来大量相关日志,但不会对数据库运行有任何影响。
原因:oracle bug:
解决:1.打补丁到 10.2.0.4; 2.定期清理这些日志
顺便提下:oracle standby database采用三种方式传送日志(归档或者在线日志)
1.arc进程传归档日志,通过设置LOG_ARCHIVE_DEST_n来完成配置,这样在主库日志切换后,arc0会在本地完成归档,arc1负责传输这个刚完成的归档到从库
如下图:
2.LGWR SYNC处理:通过以下设置
LOG_ARCHIVE_DEST_1='LOCATION=/arch1/chicago'
LOG_ARCHIVE_DEST_2='SERVICE=boston LGWR SYNC NET_TIMEOUT=30'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
这样主库提交事务时,lgwr进程提供重做日志数据给一个或者多个 LNSn进程初始化网络传输,
并把这些日志数据传送给从库,或者
从库,事务在从库收到这些日志数据之后才能在主库显示为提交完成。从库收到日志后,
remote file server(RFS)并这些数据记录到
standby redo log file.主库的日志切换会触发从库的一个日志切换。然后 Redo Apply (MRP process)
or SQL Apply (LSP process)
负责将这些日志apply。如果是配置为实时同步的话,则data guard直接恢复 standby redo log file
的数据而不等待日志切换时才恢复。
如下图:
3.LGWR ASYNC 处理:
设置:
LOG_ARCHIVE_DEST_1='LOCATION=/arch1/chicago'
LOG_ARCHIVE_DEST_2='SERVICE=boston LGWR ASYNC'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
跟同步的却别是主库的lgwr进程不需要等LSN进程完成redo log传输才去处理下一个事务;
LSN从主库online redo log file拿数据并传输到
从库。
LOG_ARCHIVE_DEST_STATE_2=ENABLE
如图:
转载于:https://blog.51cto.com/wenzhihui/493906