数据库管理平台DMP

深信服数据库管理平台(DMP)提供MySQL、Oracle的RDS功能,支持全生命周期管理、自动MySQL主从切换、故障自愈、事务一致性备份、监控告警等,能够实现业务快速上线、资源快速分发、数据安全保护,提供SLA保障,使数据库运维复杂度大幅下降,帮助客户减少被动性救火工作,专注业务创新。
点击可切换产品版本
知道了
不再提醒
DMP 2.3.0
{{sendMatomoQuery("数据库管理平台DMP","Oracle DataGuard创建")}}

Oracle DataGuard创建

更新时间:2023-09-07

功能说明

DMP支持创建Oracle DataGuard备库,支持“最大保护”、“最大可用”、“最大性能”三种模式。

最大性能:这是Data Guard默认的保护模式。primay上的事务commit前不需要从standby上收到反馈信息,该模式在primary故障时可能丢失数据,但standbyprimary的性能影响最小。

最大可用:在正常情况下,最大可用模式和最大保护模式一样;在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备库服务名>)))

前提条件

  1. 已通过DMP平台创建了Oracle数据库或纳管了Oracle数据库。纳管的数据库如果是19c版本,则只支持主备库为19.15.0.0版本搭建容灾。
  2. 如果通过指定两个库搭建DG,主库可以是DMP创建或纳管,版本为11.2.0.4.012.1.0.2.012.2.0.1.019.15.0.0.0。如果备库是纳管的实例,则只支持创建单机的DG备库。
  3. SCP6.7.30+HCI6.7.0+DMP2.2.2及以上的版本才支持连通域功能

注意事项

  1. 已经由第三方产品或手工配置过DataGuard的数据库,不支持使用DMP配置DataGuard主备库。 
  2. 创建“最大保护”模式的Oracle DG备库时,需要重启Oracle主库。
  3. 仅数据库运行状态为“运行中”或“告警”的Oracle数据库才能创建Oracle DataGuard备库。
  4. 每次只能为Oracle数据库创建一个Oracle DataGuard备库,最多可以创建3个备库。
  5. 主库的监听会重启。
  6. 支持单机到单机、RACRACRAC到单机的DataGuard搭建。
  7. 纳管库作为备库目前仅支持单实例的环境,不要关闭环境上其他实例之后进行搭建,可能存在风险
  8. 开启了CDP的纳管库,加入DG备库时,CDP会变成新库的,在新的基准点产生之前,新库的这部分CDP无法恢复
  9. DataGuard主库不支持修改SYS账号的密码。
  10. 修改IP或修改端口后,DataGuard关系会异常。
  11. 停用Oracle DataGuard时,建议优先停用主库,在停用备库;启用时,优先启用备库,再启用主库。
  12. 指定两个库搭建DG,搭建过程DMP会将备库原实例删除,搭建失败后备库无法恢复。
  13. 主库支持由DMP纳管数据库或由DMP部署的数据库,备库支持由DMP部署的数据库或纳管库(纳管库作DG备库目前仅支持11.2.0.4.012.2.0.1.019.15.0.0.0的纳管单机。)。
  14. 连通域部署时,需要保证连通域内资源池同时上传好对应的DBVM镜像,需要连通域内的资源池有相同的存储性能标签。

操作步骤

创建全新Oracle作为备库方式:

  1. [数据库/数据库容灾/Oracle DataGuard]中,点击<新建Oracle DataGuard>创建DataGuard备库。
  2. 选择<创建全新Oracle作为备库>方式,选择用户。
  3. 选择主库,输入主库SYS账号的密码。
  4. 配置备库,输入名称、描述。 根据需要选择同资源池配置或跨资源池部署。根据提示填写备库资源相关信息,配置参考“Oracle数据库”,然后点击<下一步>
  5. 填写DG名称,选择DG模式。
  6. 填写备库db_unique_name,默认为{主库db_unique_name}_stb
  7. 配置服务名,可选配置,主服务运行在主库上,备服务运行在备库上。
  8. 点击<下一步>,进入前置检查,根据提示修复不通过项,直至所有检查项通过。
  9. 点击<下一步>,确认信息,点击确定,提交搭建任务,开始DG搭建。完成后在[数据库/数据库容灾/Oracle DataGuard]中界面查看DG同步状态。

指定两个已有Oracle方式:

  1. [数据库/数据库容灾/Oracle DataGuard]中,点击<新建Oracle DataGuard>创建DataGuard备库。
  2. 选择<指定两个已有Oracle>方式,选择用户。
  3. 选择主库,输入sys账号密码,选择备库。备库不支持异构,创建完成后原备库会被删除。
  4. 填写DG名称、描述,根据需要选择保护模式。
  5. 填写备库db_unique_name,默认为{主库db_unique_name}_stb
  6. 通信IP和端口,可选配置,用于DG主备通信。当主备库网络无法直接通过scan-ip(单机为public ip)连通时,可以通过其他的网络配置(NAT、专线直连)打通主备网络后,在DMP配置主备能互相访问的通信地址,再搭建DG。如未配置,则DMP会使用scan-ip(单机则为public ip)作为主备通信地址。
  7. 服务名,可选配置,主服务运行在主库上,备服务运行在备库上。
  8. 点击<下一步>,进入前置检查,根据提示修复不通过项,直至所有检查项通过。
  9. 点击<下一步>,确认信息,点击确定,提交搭建任务,开始DG搭建。完成后在[数据库/数据库容灾/Oracle DataGuard]界面中查看DG同步状态。