Oracle日常运维之详解DG日志传输服务(参数解析)
1> dg的三种模式
1. 最大保护模式
1)这种模式提供了最高级别的数据保护能力;
2)要求至少一个物理备库收到重做日志后,欧博主库的事务才能够提交;
3)主库找不到合适的备库写入时,主库会自动关闭,防止未受保护的数据出现;
4)优点:该模式可以保证备库没有数据丢失;
5)缺点:主库的自动关闭会影响到主库的可用性,同时需要备库恢复后才能提交,对网络等客观条件要求非常的高,主库的性能会因此受到非常大的冲击。
2. 最大可用性模式
1)该模式提供了仅次于“最大保护模式”的数据保护能力;
2)要求至少一个物理备库收到重做日志后,主库的事务才能够提交;
3)主库找不到合适的备库写入时,主库不会关闭,而是临时降低到“最大性能模式”模式,欧博娱乐直到问题得到处理;
4)优点:该模式可以在没有问题出现的情况下,保证备库没有数据丢失,是一种折中的方法;
5)缺点:在正常运行的过程中缺点是主库的性能受到诸多因素的影响。
3. 最大性能模式
1)该模式是默认模式,可以保证主数据库的最高可用性;
2)保证主库运行过程中不受备库的影响,主库事务正常提交,不因备库的任何问题影响到主库的运行;
4)优点:避免了备库对主数据库的性能和可用性影响;
5)缺点:如果与主库提交的事务相关的恢复数据没有发送到备库,这些事务数据将被丢失,不能保证数据无损失;
2> 日志传输
日志传输可以分为 lgwr和ARCH,默认是arch,欧博allbet其中lgwr传输可以分为async和sync
sync:同步服务
只有在事物参数的日志成功的传输到备库的目的地,事物才能提交。虽然同步服务没有限制主库和同步目的地的距离,
但是主库同步数据到目的地的延时,增加了事物提交的时间,这种同步模式一般用在最大保护,最高可用
async:异步服务
这种模式在事物提交时不会等待此事物产生的日志成功同步到备库,这种模式一般用在最大性能
3> redo传输的安全
redo传输使用的 oracle net 服务,通过ssl保护验证或者远端的password 文件
4> 参数文件
LOG_ARCHIVE_DEST_n :初始化参数,用来指定备库的传输目的地
LOG_ARCHIVE_DEST_STATE_n:用来打开关闭目的地,欧博百家乐他有三个值
1. enable:默认值,控制日志可以传输到LOG_ARCHIVE_DEST_n 指定的地址
2. defer:控制日志不能传输到 LOG_ARCHIVE_DEST_n指定的地址
3. alternate:在指定的地址传输失败后,可以传输到到这个地址
5> REOPEN 指定时间后再次尝试归档
使用REOPEN=seconds(默认为300秒)属性,在指定时间重复尝试向归档目的地进行归档操作,如果该参数值设置为0,则一旦失败就不会再尝试重新连接并发送,
直到下次REDO数据再被归档时会重新尝试。
例如,设置REOPEN为100秒:
5> ALTERNATE 指定替补的归档目的地
ALTERNATE属性定义一个替补的归档目的地,所谓替补就是一旦主归档目的地因各种原因无法使用,则临时向ALTERNATE属性中指定的路写。
例如:
上述参数设置归档路径为/disk1,当/disk1路径下无法成功归档时,自动尝试向/disk2路径下归档文件。
从功能上来看,REOPEN与ALTERNATE是有一定重复的,不过需要注意一点,REOPEN属性比ALTERNATE属性的优先级要高,如果你指定REOPEN属性的值>0,
则LGWR(或ARCn)进程会首先尝试向主归档目的地写入,直到达到最大重试次数,如果仍然写入失败,才会向ALTERNATE属性指定的路径写。
6> MAX_FAILURE 控制失败尝试次数
用REOPEN指定失败后重新尝试的时间周期,MAX_FAILURE则控制失败尝试的次数。
例如,设置LOG_ARCHIVE_DEST_1在本地归档文件时,如果遇到错误,则每隔100秒尝试一次,共尝试不超过3次,
设置如下:
SYNC: 同步传输日志
ASYNC:异步传输日志
NET_TIMEOUT:指定lgwr进程在规定时间内把日志传输到备库
NOAFFIRM: 主库产生的日志不用等到写入备库后,才算成功
AFFIRM: 主库产生的日志只有写入到备库后,才算成功
DB_UNIQUE_NAME: 数据库的唯一名称,用来指定传输日志的地址
VALID_FOR: 用来指定redo传输服务的目的地
COMPRESSION :日志以压缩的形式传输的目的地
REOPEN :用来指定由于之前的错误重新连接传输日志到目的地,每次连接的最小时间
LOG_ARCHIVE_DEST_n:用来指定日志传输的目的地
*.standby_file_management='AUTO':主库增加或减少数据文件的动作是否自动应用到从库
7> 配置归档进程
初始化参数LOG_ARCHIVE_MAX_PROCESSES用于指定例程初始启动的最大归档进程个数,当将数据库转变为ARCHIVELOG模式时,
默认情况下oracle会自动启动两个归档进程.通过改变初始化参数LOG_ARCHIVE_MAX_PROCESS的值,可以动态地增加或降低归档进程的个数:
8> standby redo log
1)同步和异步的传输模式在传输目的地必须有standbylog 才行,standby 用于接收从其他数据传输的日志,其结构和redo一样,管理也和reodo一样管理。
日志是由其他数据库传输过来,通过后台进程RFS进程写入到standby reod log
2)standby redo log大于或者等于主库的redo log,最好备库的standby redo 等于备库的redo
3)备库的standby redo要比主库多一个或者多个日志
4) 创建standby redo log
如果是single database ,备库创建redo比主库的redo多一个或者多个standby redo,并且和主库的日志大小相同
如果是集群
5)配置standby redo log 归档
配置归档到快速恢复区域:
或者配置归档到本地区域:
9> 监控日志的传输:
1、查看最近归档的日志文件
2、主库查看最近归档的日志,已经归档目的地
3、查看主库没有归档日志到备库的日志有哪些
10> 主库监控同步日志的响应时间
frequency 指出监控响应时间几次,duration 响应时间
查找最大响应时间是多长时间
SQL> SELECT max(DURATION) FROM V$REDO_DEST_RESP_HISTOGRAM WHERE DEST_ID=2 AND FREQUENCY>1;主库查找最小响应时间
The highest observed response time for a destination cannot exceed the highest specified NET_TIMEOUT value specified for that destination, because synchronous redo transport mode sessions are terminated
if a redo transport destination does not respond to a redo transport message within NET_TIMEOUT seconds.
在最大响应时间不能超过net_timeout指定的时间,否则日志同步就会中断
往期回顾
吾辈自强不息