更新时间:2023-09-07
功能说明
DMP支持创建Oracle DataGuard备库,支持“最大保护”、“最大可用”、“最大性能”三种模式。
• 最大性能:这是Data Guard默认的保护模式。primay上的事务commit前不需要从standby上收到反馈信息,该模式在primary故障时可能丢失数据,但standby对primary的性能影响最小。
• 最大可用:在正常情况下,最大可用模式和最大保护模式一样;在standby不可用时,最大可用模式会自动降低成最大性能模式,所以standby故障不会导致primay不可用。只要至少有一个standby可用的情况下,即使primary down机,也能保证不丢失数据。
• 最大保护:最高级别的保护模式。primay上的事务在commit前必须确认redo已经传递到至少一个standby上,如果所有standby不可用,则primary会挂起。该模式能保证零数据丢失, 一般为保证主库在某个从库故障后仍能正常运行,最好配置两个及以上的从库。
DMP管理的Oracle DataGuard支持数据库主备切换,支持设置基于主备角色的数据库服务名(service_name)。应用程序需配置主备库IP与基于角色的服务名,对于应用程序来说数据库主备角色切换是透明的。应用程序可不受数据库切换影响,正确的连接到主库或者备库。
业务端tnsnames.ora连接串如下:
--连接主库的连接串
PRIMARY=
(DESCRIPTION =
(ADDRESS_LIST =
(FAILOVER = ON)
(LOAD_BALANCE = OFF)
(ADDRESS = (PROTOCOL = TCP)(HOST = <主库端IP>)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = <备库端IP>)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = <DG主库服务名>)
)
)
--连接备库的连接串
STANDBY=
(DESCRIPTION =
(ADDRESS_LIST =
(FAILOVER = ON)
(LOAD_BALANCE = OFF)
(ADDRESS = (PROTOCOL = TCP)(HOST = <主库端IP>)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = <备库端IP>)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = <DG备库服务名>)
)
)
业务端jdbc连接串如下:
--连接主库的连接串
jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS_LIST = (FAILOVER = ON)(LOAD_BALANCE = OFF)(ADDRESS = (PROTOCOL = TCPS)(HOST = <主库端IP>)(PORT = 1521))(ADDRESS = (PROTOCOL = TCPS)(HOST = <备库端IP>)(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <DG主库服务名>)))
--连接备库的连接串
jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS_LIST = (FAILOVER = ON)(LOAD_BALANCE = OFF)(ADDRESS = (PROTOCOL = TCPS)(HOST = <主库端IP>)(PORT = 1521))(ADDRESS = (PROTOCOL = TCPS)(HOST = <备库端IP>)(PORT = 1521)))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <DG备库服务名>)))
前提条件
- 已通过DMP平台创建了Oracle数据库或纳管了Oracle数据库。纳管的数据库如果是19c版本,则只支持主备库为19.15.0.0版本搭建容灾。
- 如果通过指定两个库搭建DG,主库可以是DMP创建或纳管,版本为11.2.0.4.0、12.1.0.2.0、12.2.0.1.0、19.15.0.0.0。如果备库是纳管的实例,则只支持创建单机的DG备库。
- SCP6.7.30+HCI6.7.0+DMP2.2.2及以上的版本才支持连通域功能
注意事项
- 已经由第三方产品或手工配置过DataGuard的数据库,不支持使用DMP配置DataGuard主备库。
- 创建“最大保护”模式的Oracle DG备库时,需要重启Oracle主库。
- 仅数据库运行状态为“运行中”或“告警”的Oracle数据库才能创建Oracle DataGuard备库。
- 每次只能为Oracle数据库创建一个Oracle DataGuard备库,最多可以创建3个备库。
- 主库的监听会重启。
- 支持单机到单机、RAC到RAC、RAC到单机的DataGuard搭建。
- 纳管库作为备库目前仅支持单实例的环境,不要关闭环境上其他实例之后进行搭建,可能存在风险
- 开启了CDP的纳管库,加入DG备库时,CDP会变成新库的,在新的基准点产生之前,新库的这部分CDP无法恢复
- DataGuard主库不支持修改SYS账号的密码。
- 修改IP或修改端口后,DataGuard关系会异常。
- 停用Oracle DataGuard时,建议优先停用主库,在停用备库;启用时,优先启用备库,再启用主库。
- 指定两个库搭建DG,搭建过程DMP会将备库原实例删除,搭建失败后备库无法恢复。
- 主库支持由DMP纳管数据库或由DMP部署的数据库,备库支持由DMP部署的数据库或纳管库(纳管库作DG备库目前仅支持11.2.0.4.0、12.2.0.1.0、19.15.0.0.0的纳管单机。)。
- 连通域部署时,需要保证连通域内资源池同时上传好对应的DBVM镜像,需要连通域内的资源池有相同的存储性能标签。
操作步骤
创建全新Oracle作为备库方式:
- 在[数据库/数据库容灾/Oracle DataGuard]中,点击<新建Oracle DataGuard>创建DataGuard备库。
- 选择<创建全新Oracle作为备库>方式,选择用户。
- 选择主库,输入主库SYS账号的密码。
- 配置备库,输入名称、描述。 根据需要选择同资源池配置或跨资源池部署。根据提示填写备库资源相关信息,配置参考“Oracle数据库”,然后点击<下一步>。
- 填写DG名称,选择DG模式。
- 填写备库db_unique_name,默认为{主库db_unique_name}_stb。
- 配置服务名,可选配置,主服务运行在主库上,备服务运行在备库上。
- 点击<下一步>,进入前置检查,根据提示修复不通过项,直至所有检查项通过。
- 点击<下一步>,确认信息,点击确定,提交搭建任务,开始DG搭建。完成后在[数据库/数据库容灾/Oracle DataGuard]中界面查看DG同步状态。
指定两个已有Oracle方式:
- 在[数据库/数据库容灾/Oracle DataGuard]中,点击<新建Oracle DataGuard>创建DataGuard备库。
- 选择<指定两个已有Oracle>方式,选择用户。
- 选择主库,输入sys账号密码,选择备库。备库不支持异构,创建完成后原备库会被删除。
- 填写DG名称、描述,根据需要选择保护模式。
- 填写备库db_unique_name,默认为{主库db_unique_name}_stb。
- 通信IP和端口,可选配置,用于DG主备通信。当主备库网络无法直接通过scan-ip(单机为public ip)连通时,可以通过其他的网络配置(NAT、专线直连)打通主备网络后,在DMP配置主备能互相访问的通信地址,再搭建DG。如未配置,则DMP会使用scan-ip(单机则为public ip)作为主备通信地址。
- 服务名,可选配置,主服务运行在主库上,备服务运行在备库上。
- 点击<下一步>,进入前置检查,根据提示修复不通过项,直至所有检查项通过。
- 点击<下一步>,确认信息,点击确定,提交搭建任务,开始DG搭建。完成后在[数据库/数据库容灾/Oracle DataGuard]界面中查看DG同步状态。