仅为个人学习记录
一、数据守护主备同步模式
1、类似oracle的数据保护模式:最大保护、最大可用、最大性能
2、达梦主备同步模式分为:事务一致模式和高性能模式
由dmarch.ini配置文件中的ARCH_WAIT_APPLY 配置项决定
- 为0表示高性能模式
- 为1表示事务一致模式
3、事务一致模式:
主库事务提交触发 Redo 日志刷盘和即时归档,
备库收到主库发送的 Redo 日志,并重演完成后再响应主库。
主库收到备库响应消息后,再响应用户的提交请求。
事务一致模式下,同一个事务的 SELECT 语句无论是在主库执行,
还是在备库执行,查询结果都满足 READ COMMIT 隔离级要求。
4、高性能模式
与实时归档一样,备库收到主库发送的 Redo 日志后,马上响应主库,再启动日志重演。
高性能模式下,备库与主库的数据同步存在一定延时
(一般情况下延迟时间非常短暂,用户几乎感觉不到),不能严格保证事务一致性。
二、实时和即时主备
1、实时主备
(1)主库在 Redo 日志(RLOG_PKG)写入联机日志文件前,将 Redo日志发送到备库,
(2)备库收到 Redo 日志(RLOG_PKG)后标记为 KEEP_PKG,
(3)将原 KEEP_PKG加入日志重演任务系统,并马上响应主库,
(4)不需要等待 Redo 日志重演结束后再响应主库。
(5)主库收到备库的响应消息,确认备库已经收到 Redo 日志后,再将 Redo 日志写入联机日志文件中。
(6)ARCH_WAIT_APPLY 配置项默认值为 0,即采用高性能模式
2、即时主备
(1)主库将 Redo 日志写入联机日志文件后
(2)通过 MAL 系统将 Redo日志发送到备库。
(3)即时归档,ARCH_WAIT_APPLY 默认是1,重演完后相应
(4)即时归档的同步机制可以保证备库的 Redo 日志不会比主库的 Redo 日志多
(5)备库故障或主备库之间网络故障,导致发送 RLOG_PKG 失败后,主库马上修改即
时归档为 Invalid 状态,并切换数据库为 Suspend 状态。
3、实时主备默认是性能模式模式
4、即时主备默认是事务一致模式
(1)根据备库重演 Redo 日志和响应主库时机的不同,即时归档分为两种模式
事务一致模式和高性能模式
(2)即时归档模式根据配置文件 dmarch.ini 中的 ARCH_WAIT_APPLY 配置项(默认值为 1)来确定,1 表示事务一致模式,0 表示高性能模式。
5、修改
目前我只知道是修改dmarch.ini配置文件,暂时不知道有没有在线修改的方法
6、查询归档配置
v$dm_arch_ini