PeopleTools를 사용으로 설정하여 Oracle Active Data Guard 지원

PeopleSoft PeopleTools 버전 8.52 이상에서는 물리적 대기로 질의를 오프로드할 수 있는 Oracle Active Data Guard를 지원합니다.

You need the following to enable PeopleTools to support 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 서비스를 시작해야 합니다. 응용 프로그램을 재시작하지 않고 다시 standby site를 사용할 수 있을 때 standby site로 재배치할 수 있습니다.

주:

테스트를 위해 대기 데이터베이스를 스냅샷 대기 데이터베이스로 열려면 먼저 PSQUERY 서비스를 기본 데이터베이스로 재배치해야 합니다.

온-프레미스 PeopleSoft 구현이 질의 오프로드에 Oracle Active Data Guard를 사용하도록 이미 구성된 경우 애플리케이션 서버 및 프로세스 스케줄러에 대한 구성이 첫번째 및 두번째 OCI 배치로 전달되었는지 확인해야 합니다. 데이터베이스에는 PeopleSoft 보조 액세스 ID와 연관된 스키마 사용자가 이미 있습니다. 이 경우 이 추가 스키마를 PSFTADG2이라고 합니다.

Oracle Active Data Guard 구현

쿼리 오프로드를 위해 Active Data Guard 지원을 새로 구현하도록 선택한 경우 여기에서 참조된 절차에 따라 Oracle Active Data Guard에 대한 PeopleTools 지원을 사용으로 설정합니다.

  • Implementing Oracle Active Data Guard의 단계를 따릅니다.

    이러한 단계는 Oracle MAA(Oracle Maximum Availability Architecture) 모범 사례를 제공하기 위해 마련되었습니다.

Oracle Active Data Guard용 기본 및 대기 데이터베이스 서버 구성

primary database 서버는 데이터베이스 링크를 통해 standby database의 서비스에 액세스해야 합니다. 먼저 해당 데이터베이스 서비스를 생성하고 대기 데이터베이스의 네트워크 주소를 확인할 수 있도록 tnsnames.ora 항목을 추가합니다.

  1. 기본 및 보조 영역에 롤 기반 데이터베이스 서비스를 추가합니다.

    데이터베이스가 PHYSICAL_STANDBY 롤을 이행하는 경우에만 실행할 롤 기반 데이터베이스 서비스 PSQUERY를 기본 영역과 보조 영역 모두에 추가합니다. 다음은 추가된 서비스의 예입니다.

    기본
    $ 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. Oracle Active Data Guard 대기 데이터베이스에서 실행 중인 보고서가 기본 데이터베이스의 작업에 대한 정보를 기록하는 데 사용할 수 있는 TNS 연결 문자열을 사용하여 tnsnames.ora "include file" 또는 ifile을 생성합니다. 기본 및 대기 사이트의 각 RAC 데이터베이스 노드에 있는 $TNS_ADMIN 디렉토리에 ifile을 배치합니다.
    이렇게 하면 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 정의에 IFILE을 포함하도록 데이터베이스 tnsnames.ora 파일의 맨 아래에 IFILE 지시어에 대한 행을 추가합니다.
    IFILE=TNS_ADMIN full path/ tns_ps_adg.ora

Oracle Active Data Guard에 대한 데이터베이스 업데이트

데이터베이스 내용을 갱신하여 standby site에서 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. primary database에 데이터베이스 링크를 생성합니다.

    기본 데이터베이스에 데이터베이스 링크를 생성하려면 Oracle Active Data Guard 구현의 단계를 참조하십시오.

  3. SQL*Plus를 사용하여 두번째 데이터베이스 스키마(PSFTADG2)에 연결하고 데이터베이스 링크를 생성합니다.

    주:

    그러면 데이터베이스가 기본 롤에 있을 때만 실행되는 서비스인 TNS 별칭 HR92U033_PRIMARY가 사용됩니다.
    예:
    CREATE DATABASE LINK PRIMARY CONNECT TO EMDBO IDENTIFIED BY password USING 'HR92U033_PRIMARY';