启用 PeopleTools 以支持 Oracle Active Data Guard

PeopleSoft PeopleTools 版本 8.52 及更高版本支持 Oracle Active Data Guard,它支持将查询卸载到物理备用数据库。

要启用 PeopleTools 以支持 Oracle Active Data Guard,您需要执行以下操作:

  • 已启用 Oracle Active Data Guard 的物理备用数据库
  • 可在 Oracle Active Data Guard 数据库实例上启动的数据库服务
  • 在 PeopleSoft 中创建的辅助访问 ID
  • 将与辅助访问 ID 关联的附加数据库方案
  • 使用在主数据库上运行服务的数据库链接

关于实施 Oracle Active Data Guard

实施对 Oracle Active Data Guard 的支持时,请记住以下重要事项:

  • 主站点和辅助站点上的 PeopleSoft 应用服务器域必须配置为支持 Oracle Active Data Guard 进行查询卸载,以便在切换或故障转移后工作。
  • PSFTADG2 用户将需要自己的数据库链接来访问备用数据库。手动创建新数据库链接时,请确保数据库链接名称与目标数据库的名称匹配,包括 DB_DOMAIN(如果已设置)。
  • 重要提示:将 PeopleTools 应用程序域服务器配置为支持 Oracle Active Data Guard 后,如果 PSQUERY 服务不可用,则 PeopleSoft 应用程序不会启动。如果备用数据库不可用,则必须在主数据库上启动 PSQUERY 服务。当备用数据库再次可用而无需重新启动应用程序时,可以将其重新定位回备用数据库。

注意:

如果计划将备用数据库作为快照备用数据库打开进行测试,则必须将 PSQUERY 服务重新定位到主数据库。

如果您的内部部署 PeopleSoft 实施已配置为使用 Oracle Active Data Guard 卸载查询,则必须确保将应用服务器和进程调度程序的配置传送到第一个和第二个 OCI 部署。数据库将具有与 PeopleSoft 辅助访问 ID 关联的方案用户。在本例中,此附加方案称为 PSFTADG2。

实施 Oracle Active Data Guard

如果您选择新实施 Active Data Guard 对卸载查询的支持,请按照此处引用的过程为 Oracle Active Data Guard 启用 PeopleTools 支持。

  • 按照实施 Oracle Active Data Guard 中的步骤操作。

    这些步骤旨在提供 Oracle Maximum Availability Architecture (Oracle MAA) 优秀实践。

为 Oracle Active Data Guard 配置主数据库服务器和备用数据库服务器

主数据库服务器必须通过数据库链接访问备用数据库上的服务。首先创建该数据库服务并添加 tnsnames.ora 项,以便能够解析备用数据库的网络地址。

  1. 向主区域和辅助区域添加基于角色的数据库服务。

    在主区域和辅助区域添加基于角色的数据库服务 PSQUERY,以便仅在数据库履行 PHYSICAL_STANDBY 角色时运行。以下是添加的服务示例:

    $ srvctl add service -db <primary DB unique name> -pdb HR92U033 -service PSQUERY -preferred "CDBHCM1,CDBHCM2" failovermethod BASIC -failovertype SELECT -notification TRUE -role PHYSICAL_STANDBY -failoverretry 10 -failoverdelay 3
    待机
    $ srvctl add service -db <standby DB unique name> -pdb HR92U033 -service PSQUERY -preferred "CDBHCM1,CDBHCM2" failovermethod BASIC -failovertype SELECT -notification TRUE -role PHYSICAL_STANDBY -failoverretry 10 -failoverdelay 3
    
  2. 使用 TNS 连接字符串创建 tnsnames.ora“include file(包含文件)”或 ifile,该字符串报告在 Oracle Active Data Guard 备用数据库上运行,可用于记录有关主数据库中的作业的信息。将 ifile 放在主站点和备用站点的每个 RAC 数据库节点上的 $TNS_ADMIN 目录中。
    这样,在 Oracle Active Data Guard 数据库上运行的报表可以重新连接到主数据库并更新数据库中的运行数据。

    注意:

    请勿将此 TNS 连接字符串别名置于任何中间层。此连接字符串仅供在数据库服务器上的后续步骤中创建的数据库链接使用。

    例如,以下是放置在名为 tns_ps_adg.ora 的 ifile 中的 TNS 连接字符串。

    HR92U033_PRIMARY =
    (DESCRIPTION_LIST =
       (LOAD_BALANCE=off)(FAILOVER=on)
       (DESCRIPTION =
           (CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
           (ADDRESS_LIST =
               (LOAD_BALANCE=on)
               (ADDRESS = (PROTOCOL = TCP)(HOST = iadexadb-bw5wn-scan.exadbprivate.ebscloudmaavcn.oraclevcn.com)(PORT = 1521))
           )
            (CONNECT_DATA =
               (SERVER = DEDICATED)
               (SERVICE_NAME = HR92U033_ONLINE)
           )
        )
        (DESCRIPTION =
           (CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
           (ADDRESS_LIST =
               (LOAD_BALANCE=on)
               (ADDRESS = (PROTOCOL = TCP)(HOST = phxexadb-krppw-scan.dbprivateexa.maacloud2vcn.oraclevcn.com)(PORT = 1521))
           )
            (CONNECT_DATA =
               (SERVER = DEDICATED)
               (SERVICE_NAME = HR92U033_ONLINE)
           )
        )
     )
  3. 在数据库 tnsnames.ora 文件的底部添加 IFILE 指令的行,以在 tnsnames 定义中包括 IFILE。
    IFILE=TNS_ADMIN full path/ tns_ps_adg.ora

更新 Oracle Active Data Guard 的数据库

更新数据库内容,使 PeopleSoft 应用程序在备用站点上同时存放用于查找主数据库的指针和用于该目的的数据库链接。在主数据库插入的数据由 Oracle Data Guard 传播到备用数据库。

  1. 在主数据库的 PS.PSDBOWNER 表中插入新行。
    此行将允许应用服务器使用 Oracle Active Data Guard 备用数据库进行验证。
    1. 以 oracle OS 用户身份登录到 Oracle Exadata Database Service on Dedicated Infrastructure 数据库服务器之一。
    2. 源数据库环境 (CDBHCM.env)。
    3. 启动 SQL*Plus 会话并插入新行。
      以下示例使用 PDB 名称
      HR92U033
      :
      sqlplus / as sysdba 
      
      SQL> ALTER SESSION SET CONTAINER = HR92U033;
      SQL> INSERT INTO PS.DBOWNER VALUES (‘PSFTADG’, ‘EMDBO’);
      
      COMMIT;
  2. 在主数据库上创建数据库链接。

    请参阅实施 Oracle Active Data Guard 中的步骤,以在主数据库上创建数据库链接。

  3. 使用 SQL*Plus 连接到第二个数据库方案 (PSFTADG2) 并创建数据库链接。

    注意:

    这使用 TNS 别名 HR92U033_PRIMARY,该服务仅在数据库处于主角色时运行。
    例如:
    CREATE DATABASE LINK PRIMARY CONNECT TO EMDBO IDENTIFIED BY password USING 'HR92U033_PRIMARY';