사이트 전환

Oracle Maximum Availability Architecture(Oracle MAA) 모범 사례는 전체 스택 사이트 전환을 반년마다 수행하여 기본 및 보조 사이트의 역할을 반대로 수행하고 전환 절차를 테스트하며 관리되지 않는 변경 사항이나 발생했을 수 있는 기타 문제를 포착하고 수정하는 것입니다. 보조 사이트로 전환하여 주 사이트에서 주요 유지 관리를 진행하는 동안 서비스를 계속 제공할 수도 있습니다.

OCI 내에서 사이트 전환 수행

전체 스택 PeopleSoft 스위치오버를 사이트 1(원래 기본)에서 사이트 2(원래 보조)로 수행합니다.

Oracle Cloud Infrastructure(OCI)를 사용하면 단계별, 수동 또는 단계를 단일 흐름으로 스크립팅하여 사이트 전환을 수행할 수 있습니다. 두 경우 모두 데이터베이스 계층에 대한 REST API와 애플리케이션 및 웹 계층에 대한 스크립트를 조합하여 사용합니다.

이 절에서는 수동 단계에 대해 설명합니다. 이 예제에서는 온-프레미스(On-Premise) 데이터베이스가 Data Guard Broker 구성에서 이미 삭제되었다고 가정합니다.

이 예에서 사이트 1은 원래 기본 사이트이고 사이트 2는 원래 보조 사이트입니다. 이 연습에서는 역할을 전환합니다. 다음은 OCI에서 스위치오버를 수행하기 위한 상위 레벨 작업입니다.

사이트 1:

  1. 계획된 전환 이벤트보다 먼저 PeopleSoft Process Scheduler에서 보류 중인 뱃치 작업을 비우거나 배치합니다.
  2. 모든 PeopleSoft 애플리케이션 서버, 프로세스 스케줄러 및 모든 PeopleSoft PIA(Internet Architecture) 웹 서버를 종료합니다.
  3. PeopleSoft 데이터베이스가 switchover할 준비가 되었는지 검증합니다.
  4. Oracle Data Guard 스위치오버를 수행합니다.
  5. OCI File Storage 역할 전환을 수행합니다.

사이트 2:

  1. 롤 기반 데이터베이스 서비스가 시작되었는지 검증합니다.
  2. PeopleSoft 애플리케이션 서버, 프로세스 스케줄러 및 모든 PIA 웹 서버를 시작합니다.
  3. 새 기본 영역 로드 밸런스에서 백엔드 서버의 상태를 검증합니다(녹색 OK).
  4. PeopleSoft PIA에 로그인할 수 있는지 검증합니다.

다음 예에서는 전체 스택 PeopleSoft 스위치오버를 수행하기 위한 자세한 단계를 제공합니다. 이 예에서는 애슈번의 기본 데이터베이스(CDBHCM_iad1dx)에 대한 테스트 환경의 이름과 피닉스의 대기 데이터베이스(CDBHCM_phx5s)를 사용합니다.

  1. 각 컴퓨팅 인스턴스에 대해 사이트 1의 프로세스 스케줄러를 종료합니다.
    • 사이트: 사이트 1
    • 노드: 각 프로세스 스케줄러 서버 컴퓨트 인스턴스
    • 사용자: psadm2

    사이트 스위치오버를 준비하기 위해 일정이 잡힌 스위치오버 전에 일정 시점에서 프로세스 스케줄러를 종료해야 할 수 있습니다. 그러면 모든 반복 작업과 새 작업이 "queued" 상태로 나타납니다.

    예약된 전환 시간 전에 프로세스 스케줄러를 종료할 때는 GitHub의 기본 작업 디렉토리에 있는 개별 스크립트 stopPS.sh를 사용합니다. 현재 래퍼 스크립트를 사용하지 마십시오. 아래 4단계에서는 실제 스위치오버 프로세스의 일부로 래퍼 스크립트를 실행합니다.

    $ stopPS.sh
  2. standby가 switchover할 준비가 되었는지 검증합니다.
    • 사이트: 사이트 1
    • 노드: Oracle Exadata Database Service on Dedicated Infrastructure domU
    • 사용자: oracle
    1. PeopleSoft Oracle RAC 인스턴스를 호스팅하는 기본 Oracle Exadata Database Service on Dedicated Infrastructure domUs 중 하나에 로그인하여 oracle 사용자로 로그인합니다.
    2. 환경을 소싱합니다.
      $ . ./CDBHCM.env
    3. Oracle Data Guard 명령행 인터페이스를 시작합니다.
      $ dgmgrl sys/sys password
      DGMGRL> show configuration lag
      Configuration - fsc
        Protection Mode: MaxPerformance
        Members:
        CDBHCM_iad1dx - Primary database
          CDBHCM_phx5s  - Physical standby database 
                          Transport Lag:      0 seconds (computed 1 second ago)
                          Apply Lag:          0 seconds (computed 1 second ago)
      
      Fast-Start Failover:  Disabled
      Configuration Status:
      SUCCESS   (status updated 35 seconds ago)
    4. standby database를 검증합니다.
      DGMGRL> validate database 'CDBHCM_phx5s'
      
        Database Role:     Physical standby database
        Primary Database:  CDBHCM_iad1dx
      
        Ready for Switchover:  Yes
        Ready for Failover:    Yes (Primary Running)
      
        Managed by Clusterware:
          CDBHCM_iad1dx:  YES            
          CDBHCM_phx5s :  YES   

      전환할 대기 데이터베이스가 준비되었습니다.

  3. PIA 웹 서버를 종료합니다.
    • 사이트: 사이트 1
    • 노드: PIA 웹 서버 컴퓨트 인스턴스
    • 사용자: psadm2
    1. PIA 중간 계층 서버에 로그인하여 psadm2로 전환합니다.
    2. 래퍼 스크립트를 사용하여 PIA 웹 서버 및 Coherence*Web 캐시 서버를 종료합니다.
      래퍼 스크립트는 GitHub의 래퍼 디렉토리에 있습니다.
      $ stopPSFTWEB.sh
  4. 응용 프로그램 서버 및 프로세스 스케줄러를 종료합니다.
    • 사이트: 사이트 1
    • 노드: 애플리케이션/프로세스 스케줄러 서버 컴퓨트 인스턴스
    • 사용자: psadm2
    1. PeopleSoft 애플리케이션 서버 및 프로세스 스케줄러를 호스팅하는 컴퓨트 인스턴스에 로그인하여 psadm2로 전환합니다.
    2. stopPSFTAPP.sh에서 래퍼 스크립트를 실행합니다.
      $ stopPSFTAPP.sh

      주:

      stopPSFTAPP.sh 스크립트를 실행하는 첫번째 인스턴스는 나머지 응용 프로그램 서버 및 프로세스 스케줄러 도메인이 작동 중지된 후 파일 시스템의 최종 rsync 하나를 수행한 다음 rsync를 사용 안함으로 설정합니다.
    3. PeopleSoft 애플리케이션 및 Process Scheduler 도메인의 SQL 스크립트를 사용하여 데이터베이스 세션을 모니터합니다.
    4. 모든 stopPS 스크립트가 완료되면 rsync 로그를 확인하여 최종 rsync가 수행되었는지 확인합니다.
      GitHub의 Replication directory로 이동하여 rsync_psft.sh 스크립트를 찾습니다.
  5. Data Guard 중계자 명령행 인터페이스를 사용하여 switchover를 수행합니다.
    • 사이트: 사이트 1
    • 노드: Oracle Exadata Database Service on Dedicated Infrastructure domU
    • 사용자: oracle
    $ dgmgrl sys/sys password
    DGMGRL> switchover to CDBHCM_phx5s;
    Performing switchover NOW, please wait...
    New primary database " CDBHCM_phx5s" is opening...
    Oracle Clusterware is restarting database "CDBHCM_iad1dx" ...
    Connected to " CDBHCM_iad1dx"
    Connected to " CDBHCM_iad1dx"
    Switchover succeeded, new primary is " CDBHCM_phx5s"
  6. Data Guard Broker 명령행 인터페이스를 사용하여 switchover가 성공했는지 모니터하고 확인합니다.
    • 사이트: 사이트 1
    • 노드: Oracle Exadata Database Service on Dedicated Infrastructure domU
    • 사용자: oracle
    $ dgmgrl sys/sys password
    DGMGRL> show configuration lag
    Configuration - fsc
      Protection Mode: MaxPerformance
      Members:
      CDBHCM_phx5s  - Primary database
        CDBHCM_iad1dx - Physical standby database 
                        Transport Lag:      0 seconds (computed 2 seconds ago)
                        Apply Lag:          0 seconds (computed 2 seconds ago)
    
    Fast-Start Failover:  Disabled
    Configuration Status:
    SUCCESS   (status updated 22 seconds ago)
  7. Active Data Guard 지원이 구성된 경우 전환 후 새 대기 데이터베이스인 PeopleSoft(PSQUERY)에 대한 Active Data Guard 서비스가 시작되었는지 확인합니다.
    • 사이트: 사이트 1
    • 노드: Oracle Exadata Database Service on Dedicated Infrastructure domU
    • 사용자: oracle
    $ srvctl status service -db CDBHCM_iad1dx -s PSQUERY
    Service PSQUERY is running on instance(s) CDBHCM1,CDBHCM2
    이 서비스는 모든 Oracle RAC 인스턴스에서 실행 중이어야 합니다.

    주:

    프로세스 스케줄러를 시작하기 전에 이 서비스를 시작해야 합니다. 그렇지 않으면 시작 시 프로세스 스케줄러가 실패합니다.
  8. 롤 기반 데이터베이스 서비스가 새 기본 데이터베이스에서 작동 중인지 확인합니다.
    • 사이트: 사이트 2
    • 노드: 모든 Oracle Exadata Database Service on Dedicated Infrastructure domUs
    • 사용자: oracle
    예를 들어, PeopleSoft Oracle RAC 데이터베이스 인스턴스를 호스팅하는 각 domU에서 다음 명령을 실행합니다.
    $ srvctl status service -db CDBHCM_phx5s -s HR92U033_BATCH
    Service HR92U033_BATCH is running on instance(s) CDBHCM1,CDBHCM2
    $ srvctl status service -db CDBHCM_phx5s -s HR92U033_ONLINE
    Service HR92U033_ONLINE is running on instance(s) CDBHCM1,CDBHCM2
    이 서비스는 모든 Oracle RAC 인스턴스에서 실행 중이어야 합니다.
  9. 응용 프로그램 서버를 시작하고 스케줄러 도메인을 처리합니다.
    • 사이트: 사이트 2
    • 노드: 애플리케이션 및 프로세스 스케줄러 서버 컴퓨트 인스턴스
    • 사용자: psadm2
    1. PeopleSoft 애플리케이션 서버 및 프로세스 스케줄러를 호스팅하는 컴퓨트 인스턴스에 로그인하여 psadm2로 전환합니다.
      GitHub의 래퍼 디렉토리에 있는 startPSFTAPP.sh 스크립트를 사용합니다.
      $ startPSFTAPP.sh
    2. 시작을 모니터합니다.
      PeopleSoft 애플리케이션 및 Process Scheduler 도메인에서 질의를 사용할 수 있습니다.
      col service_name format a20
      select a.inst_id,a.instance_name,b.service_name, count(*)
      from gv$instance a, gv$session b
      where a.inst_id = b.inst_id
      and service_name not like 'SYS%'
      group by a.inst_id,a.instance_name,b.service_name
      order by 1
      
      SQL> /
      
         INST_ID INSTANCE_NAME    SERVICE_NAME          COUNT(*)
      ---------- ---------------- ------------------- ----------
               1 CDBHCM1          CDBHCM_phx5s                 2
      SQL> /
      
         INST_ID INSTANCE_NAME    SERVICE_NAME          COUNT(*)
      ---------- ---------------- ------------------- ----------
               1 CDBHCM1          CDBHCM_phx5s                 2
               1 CDBHCM1          HR92U033_BATCH               8
               1 CDBHCM1          HR92U033_ONLINE             52
               2 CDBHCM2          HR92U033_BATCH               7
               2 CDBHCM2          HR92U033_ONLINE             50
  10. 웹 서비스를 시작합니다.
    • 사이트: 사이트 2
    • 노드: 모든 PIA 웹 서버 컴퓨트 인스턴스
    • 사용자: psadm2
    Coherence*Web이 구성된 경우 먼저 PIA 웹 서버를 호스트하는 모든 컴퓨트 인스턴스에서 캐시 클러스터를 시작한 다음 PIA 웹 서버를 시작합니다. 이 예제에서는 한 스크립트를 사용하여 두 스크립트를 적절한 순서로 시작합니다.
    1. PIA 웹 서버에 로그인하여 psadm2로 전환합니다.
    2. startPSFTAPP.sh의 스크립트를 사용하여 웹 서버를 시작합니다.
      $ startPSFTWEB.sh
  11. 로드 밸런서를 확인합니다.
    • 사이트: 지점 2 지역
    • 노드: OCI 콘솔
    • 사용자: 테넌시 관리자
    1. OCI 콘솔에 로그인하여 리전을 새 primary(이 예제에서는 Phoenix)로 변경합니다.
    2. 기본 메뉴에서 네트워킹, 로드 밸런서를 차례로 선택합니다.
    3. 적절한 구획을 선택합니다.
    4. 백엔드 집합, 백엔드를 차례로 누릅니다.
      각 백엔드에는 OK가 표시되어야 합니다. 각 PIA 웹 서버가 시작된 후 몇 분 정도 걸릴 수 있습니다.
  12. 웹 브라우저에서 PIA 웹 서버에 로그인을 시도합니다.
    • 사용자: PeopleSoft PIA 웹 사용자
    이 예제의 URL은 다음과 같습니다.
    https://psfthcm.appprivad1.maacloud2vcn.oraclevcn.com/psp/ps/EMPLOYEE/HRMS/?cmd=login

위 단계가 성공적으로 완료되면 생산이 사이트 2에서 실행됩니다.