Redo传输服务用于将数据库的重做日志从主库传送到备用库,确保数据同步与高可用性,是灾备架构中的关键组件。
1、 Redo Transport Services 简介:介绍日志传输的基本概念、作用及在数据库系统中的关键功能,确保数据在主备库间的高效、安全传递。
2、 一个数据库可将至少30分钟的日志发送至多个独立配置的目标位置。
3、 日志传输有两种方式可选。
4、 同步传输方式,数据按固定时序传送。
5、 事务需等待所有同步日志传输完毕方可提交。
6、 异步传输是指数据在不同时间间隔内非同步发送的方式。
7、 事务可在同步日志未完全传输时提交。
8、 传输目的地通常分为三类:
9、 本地数据库重做日志的存储位置
10、 远程数据库归档日志存放路径
11、 远程数据库重做日志的存放路径
12、 配置重做日志传输服务,确保数据库间日志数据的可靠传递与同步。
13、 重做传输通过Oracle Net会话来传送重做数据,传输过程中可使用SSL协议或远程登录密码文件进行安全认证,确保数据在传输过程中的安全性与完整性,防止未经授权的访问和数据泄露。
14、 使用SSL需满足特定条件
15、 需使用相同对象标识符
16、 确保LOG_ARCHIVE_DEST_n与FAL_SERVER的Oracle Net连接配置正确匹配,以保障归档日志传输和备用数据库的正常通信。
17、 使用远程登录密码文件进行访问
18、 需将主库密码文件复制至备库。
19、 配置主数据库以发送重做日志数据,确保备用数据库能够实时接收并应用这些日志,从而实现数据同步和高可用性保障。
20、 LOG_ARCHIVE_DEST_n 用于设置本地归档日志的存储位置或日志传输的目标地址。
21、 LOG_ARCHIVE_DEST_STATE_n 与 LOG_ARCHIVE_DEST_n 相对应,用于控制各归档目标的启用或禁用状态。
22、 三个数值如下
23、 启用后可发送信息
24、 DEFER禁止发送操作
25、 LOG_ARCHIVE_DEST_n 包含多个参数,用于设置归档日志的目标位置和相关属性。
26、 服务范围:支持远程与本地两种模式
27、 同步与异步模式切换
28、 LGWR进程等待日志远程传输确认的超时时间,取值范围1至1200秒,默认为30秒,Oracle建议根据实际需求合理配置该参数。
29、 AFFIRM 选项表示必须等待从主数据库接收到的重做日志数据成功写入备用数据库的日志文件后,才确认接收完成;而 NOAFFIRM 则在接收到重做数据后立即确认,无需等待该数据实际写入备用日志文件。两者主要区别在于对数据持久性的要求不同:AFFIRM 提供更高的数据保护级别,确保日志已落盘;NOAFFIRM 则优先考虑传输效率,提升响应速度,但可能略微增加数据丢失风险。根据业务对安全与性能的需求可选择相应模式。
30、 DB_UNIQUE_NAME 必须包含在 LOG_ARCHIVE_CONFIG 参数的 DG_CONFIG 列表中,以确保数据库在 Data Guard 配置中的唯一性和归档日志的正常传输。
31、 默认情况下,VALID_FOR 设置为 (ALL_LOGFILES, ALL_ROLES),表示适用于所有日志文件和数据库角色。可调整为 (redo_log_type, database_role),以指定特定重做日志类型和数据库角色的适用范围。
32、 redo_log_type 包含三种类型,具体如下:
33、 在线日志归档时,ONLINE_LOGFILE 目标位置可用。
34、 当备用数据库的在线日志正在进行归档时,STANDBY_LOGFILE 目标位置可用。
35、 其中,database_role 分为三种类型:
36、 当数据库为主库时,PRIMARY_ROLE 表示目标可用。
37、 当数据库处于备库状态时,STANDBY_ROLE 目标方可使用。
38、 重试打开失败目标的时间间隔,默认为300秒。
39、 日志传输是否启用压缩,默认为不压缩。
40、 范例:
41、
42、 详情请见:
43、 配置Oracle数据库以接收重做数据,即设置备用数据库接收主库传输的归档日志和在线日志,确保数据能够实时同步,为后续的故障切换和数据保护打下基础。
44、 建立并维护备用日志
45、 备库日志用于记录接收的事务日志
46、 日志由RFS后台进程写入备库当前日志组。主库切换日志后,新传日志写入备库下一组,原用日志组则由ARCn进程完成归档操作。
47、 主库镜像日志组。
48、 备库的日志文件应不少于主库的大小,建议主备库的日志组大小保持一致。
49、 备库各线程的日志组数量应比主库对应线程至少多一个,可通过查询v$$log与v$$thread视图进行核对。
50、 执行SQL语句:SELECT GROUP, BYTES FROM V$$LOG,用于查看备用数据库的日志组及其大小信息。
51、 查询备库日志文件组及其大小,执行语句:SELECT GROUP, BYTES FROM V$$STANDBY_LOG。
52、 Oracle建议在主库中预先建立备用日志组,以便在角色切换时备库能立即接收日志数据。若不进行角色切换,则无需在主库配置备用日志组。需注意的是,备用日志实际应在备库上创建。
53、 主库配置两个500M日志组,备库则需至少三个500M日志组以确保稳定运行。
54、 若主库为两节点RAC,每线程配置2个500M日志组,则备库每线程需设置3个相同大小的日志组以确保正常运行。
55、 主库增日志,备库须同步增加。
56、 备库由主库通过rman备份创建,因此归档模式必然已启用。
57、 VALID_FOR推荐配置为STANDBY_LOGFILE及STANDBY_ROLE,以确保备用日志文件在备用角色下正确生效。
58、 备库ASM中的归档日志如下
59、 2_57_896639616.dbf 是主库传输过程中产生的归档日志文件。
60、 ARCHIVELOG/ 为备用数据库的本地归档存储路径
61、 将重做日志依次传输至多个目标端,实现级联式数据同步与备份,提升系统容灾能力和数据可靠性。
62、 采用多级级联复制架构:主库到备库,再由备库向下级备库传输数据。
63、 实验:
64、 主数据库,负责核心数据存储与处理。
65、 若不考虑角色切换,主库可省略FAL_SERVER=boston2参数设置。
66、 第一层级联物理备库,用于数据库的高可用与灾难恢复。
67、 级联物理备库,即第一层备用数据库的再下一级备用数据库。
68、 监控重做日志的传输状态,确保数据同步的及时性与完整性。
69、 监测日志传输情况
70、 查询主库最新日志序列号
71、 在主库节点1执行操作
72、 主库节点二执行操作
73、 检查主库最新归档日志,若任一节点ARCHIVED_SEQ相同,则表明传输成功。
74、 主节点1的数据库
75、 主库节点二
76、 若任一节点的ARCHIVED_SEQ相同,即表示传输成功。如需验证,可前往备库的归档存储路径,确认主库的归档是否已传至该位置。
77、 重新执行日志断点检测与修复,解决日志断裂问题,确保数据连续性和完整性。
78、 日志传输中断及应对措施
79、 如备库中查得如下结果:
80、 备库目前缺少第1线程从序列7到序列10的日志。
81、 此时需查询主库归档信息。
82、 此时需手动将归档日志复制到物理备库,随后通过执行ALTER DATABASE REGISTER LOGFILE命令将其注册至备库中,确保日志文件被正确识别并纳入恢复流程,以维持主备数据库的数据同步与一致性。
83、 若为逻辑备库,处理方式与物理备库有所不同,需采用相应策略。
84、 通过此方式完成注册
评论
更多评论