dataguard 日志传输服务(参数解析) 1> dg的三种模式 1. 最大保护模式 1)这种模式提供了最高级别的数据保护能力; 2)要求至少一个物理备库收到重做日志后,主库的事务才能够提交; 3)主库找不到合适的备库写入时,主库会自动关闭,防止未受保护的数据出现; 4)优点:该模式可以保证备库没有数据丢失; 5)缺点:主库的自动关闭会影响到主库的可用性,同时需要备库恢复后才能提交,对网络等客观条件要求非常的高,主库的性能会因此受到非常大的冲击。 2. 最大可用性模式 1)该模式提供了仅次于“最大保护模式”的数据保护能力; 2)要求至少一个物理备库收到重做日志后,主库的事务才能够提交; 3)主库找不到合适的备库写入时,主库不会关闭,而是临时降低到“最大性能模式”模式,直到问题得到处理; 4)优点:该模式可以在没有问题出现的情况下,保证备库没有数据丢失,是一种折中的方法; 5)缺点:在正常运行的过程中缺点是主库的性能受到诸多因素的影响。 3. 最大性能模式 1)该模式是默认模式,可以保证主数据库的最高可用性; 2)保证主库运行过程中不受备库的影响,主库事务正常提交,不因备库的任何问题影响到主库的运行; 4)优点:避免了备库对主数据库的性能和可用性影响; 5)缺点:如果与主库提交的事务相关的恢复数据没有发送到备库,这些事务数据将被丢失,不能保证数据无损失; 2> 日志传输可以分为 lgwr和ARCH,默认是arch,其中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秒: LOG_ARCHIVE_DEST_2='SERVICE=DavePrimary LGWR ASYNC REOPEN=100' 5> ALTERNATE 指定替补的归档目的地 ALTERNATE属性定义一个替补的归档目的地,所谓替补就是一旦主归档目的地因各种原因无法使用,则临时向ALTERNATE属性中指定的路写。 例如: LOG_ARCHIVE_DEST_1='LOCATION=/disk1 ALTERNATE=LOG_ARCHIVE_DEST_2' LOG_ARCHIVE_DEST_STATE_1=ENABLE LOG_ARCHIVE_DEST_2='LOCATION=/disk2' LOG_ARCHIVE_DEST_STATE_2=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次,设置如下: LOG_ARCHIVE_DEST_1='LOCATION=E:/ora10g/oradata/jsspdg/ REOPEN=100 MAX_FAILURE=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的值,可以动态地增加或降低归档进程的个数: ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=8; 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要比主库多一个或者多个日志 主:SQL> SELECT GROUP#, BYTES FROM V$LOG; 备:SQL> SELECT GROUP#, BYTES FROM V$STANDBY_LOG; 4) 创建standby redo log 如果是single database ,备库创建redo比主库的redo多一个或者多个standby redo,并且和主库的日志大小相同 SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/oracle/dbs/slog1.rdo') SIZE 500M; 如果是集群 SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 SIZE 500M; SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 SIZE 500M; 5)配置standby redo log 归档 SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; SQL> ALTER DATABASE ARCHIVELOG; 配置归档到快速恢复区域: LOG_ARCHIVE_DEST_2 = 'LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(STANDBY_LOGFILE,STANDBY_ROLE)' LOG_ARCHIVE_DEST_STATE_2=ENABLE 或者配置归档到本地区域: LOG_ARCHIVE_DEST_2 = 'LOCATION = /disk2/archive VALID_FOR=(STANDBY_LOGFILE,STANDBY_ROLE)' LOG_ARCHIVE_DEST_STATE_2=ENABLE 9> 监控日志的传输: 1、查看最近归档的日志文件 SQL> SELECT MAX(SEQUENCE#), THREAD# FROM V$ARCHIVED_LOG GROUP BY THREAD#; 2、主库查看最近归档的日志,已经归档目的地 SELECT DESTINATION, STATUS, ARCHIVED_THREAD#, ARCHIVED_SEQ# FROM V$ARCHIVE_DEST_STATUS WHERE STATUS <> 'DEFERRED' AND STATUS <> 'INACTIVE'; 3、查看主库没有归档日志到备库的日志有哪些 SELECT LOCAL.THREAD#, LOCAL.SEQUENCE# FROM (SELECT THREAD#, SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=1) LOCAL WHERE LOCAL.SEQUENCE# NOT IN (SELECT SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=2 AND THREAD# = LOCAL.THREAD#); 10> 主库监控同步日志的响应时间 SQL> SELECT FREQUENCY, DURATION FROM V$REDO_DEST_RESP_HISTOGRAM WHERE DEST_ID=2 AND FREQUENCY>1; frequency 指出监控响应时间几次,duration 响应时间 查找最大响应时间是多长时间 SQL> SELECT max(DURATION) FROM V$REDO_DEST_RESP_HISTOGRAM WHERE DEST_ID=2 AND FREQUENCY>1; 主库查找最小响应时间 SQL> SELECT min( 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指定的时间,否则日志同步就会中断
详解dataguard 日志传输服务(参数解析)
来源:这里教程网
时间:2026-03-03 14:20:40
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- instance crash after ORA-7445 [opiaba] and ORA-600 [17147] (文档 ID 1466343.1)
- 三个关键词,解读美团点评“ Food+X”场景营销优势
三个关键词,解读美团点评“ Food+X”场景营销优势
26-03-03 - 纯干货!越早关闭苹果这3个"偷电"大户,不用一年换一个电池
纯干货!越早关闭苹果这3个"偷电"大户,不用一年换一个电池
26-03-03 - 携程的 Dubbo 之路
携程的 Dubbo 之路
26-03-03 - 国家扶贫日交答卷,社交电商扣开扶贫新大门
国家扶贫日交答卷,社交电商扣开扶贫新大门
26-03-03 - 换新iPhone前,旧设备上数据怎样迁移,最后一个很多人没用过
换新iPhone前,旧设备上数据怎样迁移,最后一个很多人没用过
26-03-03 - 二选一:互联网巨头的绑架式生意
二选一:互联网巨头的绑架式生意
26-03-03 - 买还是等?10月手机圈,6场发布会蓄势待发,网友:太给力
买还是等?10月手机圈,6场发布会蓄势待发,网友:太给力
26-03-03 - 那些年,我们见过的 Java 服务端“问题”
那些年,我们见过的 Java 服务端“问题”
26-03-03 - 智联、前程无忧、58们的革命和被革命
智联、前程无忧、58们的革命和被革命
26-03-03
