쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

Oracle용 Amazon RDS Custom의 Oracle PeopleSoft 애플리케이션에 대한 전환 역할 - 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Oracle용 Amazon RDS Custom의 Oracle PeopleSoft 애플리케이션에 대한 전환 역할

작성자: sampath kathirvel(AWS)

요약

Amazon Web Services(AWS)에서 Oracle PeopleSoft 전사적 자원 관리(ERP) 솔루션을 실행하려면 기본 운영 체제(OS) 및 데이터베이스 환경에 액세스해야 하는 레거시, 사용자 지정 및 패키지 애플리케이션을 지원하는 Amazon Relational Database Service(Amazon RDS) 또는 Oracle용 Amazon RDS Custom을 사용할 수 있습니다. 마이그레이션을 계획할 때 고려해야 할 주요 요소는 AWS 권장 가이드의 Oracle 데이터베이스 마이그레이션 전략을 참조하세요.

이 패턴은 Amazon RDS Custom에서 읽기 전용 복제본 데이터베이스가 있는 기본 데이터베이스로 실행되고 있는 PeopleSoft 애플리케이션 데이터베이스에 대해 Oracle Data Guard 전환 또는 역할 전환을 수행하는 단계를 중점적으로 다룹니다. 패턴에는 패스트 스타트 장애 조치(FSFO)를 구성하는 단계가 포함됩니다. 이 프로세스 중에도 Oracle Data Guard 구성의 데이터베이스는 새로운 역할로 계속 작동합니다. Oracle Data Guard 전환의 일반적인 사용 사례로는 재해 복구(DR) 훈련, 데이터베이스의 예정된 유지 관리 작업, 그리고 Standby-First Patch Apply 롤링 패치가 있습니다. 자세한 내용은 블로그 게시물, Amazon RDS Custom에서 데이터베이스 패치 작업 중단 시간 단축을 참조하세요.

사전 조건 및 제한 사항

사전 조건

제한 사항

제품 버전

아키텍처

기술 스택

  • Amazon RDS Custom for Oracle

대상 아키텍처

다음 다이어그램에서는 Amazon RDS Custom DB 인스턴스와 Amazon RDS 사용자 지정 읽기 전용 복제본을 보여줍니다. Oracle Data Guard는 DR에 대한 장애 조치 중에 역할 전환을 제공합니다.

읽기 전용 복제본 데이터베이스가 있는 기본 RDS Custom DB 인스턴스에 대한 Oracle Data Guard 전환입니다.

AWS에서 Oracle PeopleSoft를 사용하는 대표적인 아키텍처에 대해서는 AWS에서 가용성이 높은 PeopleSoft 아키텍처 설정을 참조하세요.

도구

서비스

  • Oracle용 Amazon RDS Custom은 기본 운영 체제 및 데이터베이스 환경에 액세스해야 하는 레거시, 커스텀 및 패키지 애플리케이션을 위한 관리형 데이터베이스 서비스입니다.

  • AWS Secrets Manager를 사용하면 암호를 포함하여 코드에 하드코딩된 보안 인증을 Secrets Manager에 대한 API 호출로 대체하여 프로그래밍 방식으로 암호를 검색할 수 있습니다. 이 패턴에서는 Secrets Manager에서 암호 이름 do-not-delete-rds-custom-+<<RDS Resource ID>>+-dg를 사용하여 RDS_DATAGUARD에 대한 데이터베이스 사용자 암호를 검색합니다.

기타 서비스

  • Oracle Data Guard를 사용하면 대기 데이터베이스를 생성, 유지, 관리 및 모니터링할 수 있습니다. 이 패턴은 역할 전환(Oracle Data Guard 전환)을 위해 Oracle Data Guard 최대 성능을 사용합니다.

모범 사례

프로덕션 배포의 경우 기본 및 읽기 전용 복제본 노드와 분리된 세 번째 가용 영역에서 옵저버 인스턴스를 시작하는 것이 좋습니다.

에픽

작업설명필요한 기술

기본 및 복제본 모두에 대한 데이터베이스 자동화를 일시 중지합니다.

RDS Custom 자동화 프레임워크가 역할 전환 프로세스를 방해하지는 않지만 Oracle Data Guard 전환 중에 자동화를 일시 중지하는 것이 좋습니다.

RDS Custom 데이터베이스 자동화를 일시 중지했다가 다시 시작하려면 RDS Custom 자동화 일시 중지 및 재개의 지침을 준수합니다.

클라우드 관리자, DBA

Oracle Data Guard 상태를 확인합니다.

Oracle Data Guard 상태를 확인하려면 기본 데이터베이스에 로그인합니다. 이 패턴에는 멀티테넌트 컨테이너 데이터베이스 (CDB) 또는 비CDB 인스턴스를 사용하기 위한 코드가 포함됩니다.

비 CDB

-bash-4.2$ dgmgrl RDS_DATAGUARD@RDS_CUSTOM_ORCL_A DGMGRL for Linux: Release 19.0.0.0.0 - Production on Mon Nov 28 20:55:50 2022 Version 19.10.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Password: Connected to "ORCL_A" Connected as SYSDG. DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_a - Primary database orcl_d - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 59 seconds ago) DGMGRL>

CDB

CDB-bash-4.2$ dgmgrl C##RDS_DATAGUARD@RDS_CUSTOM_RDSCDB_A DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Jan 18 06:13:07 2023 Version 19.16.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Password: Connected to "RDSCDB_A" Connected as SYSDG. DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_a - Primary database rdscdb_b - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 52 seconds ago) DGMGRL>
DBA

인스턴스 역할을 확인합니다.

AWS Management Console에 열고 Amazon RDS 콘솔로 이동합니다. 데이터베이스의 복제 섹션의 연결 및 보안 탭에서 기본 및 복제본의 인스턴스 역할을 확인합니다.

기본 역할은 Oracle Data Guard 기본 데이터베이스와 일치해야 하고, 복제본 역할은 Oracle Data Guard 물리적 대기 데이터베이스와 일치해야 합니다.

클라우드 관리자, DBA

전환을 실시합니다.

전환을 실시하려면 프라이머리 노드에서 DGMGRL로 연결합니다.

비 CDB

DGMGRL> switchover to orcl_d; Performing switchover NOW, please wait... Operation requires a connection to database "orcl_d" Connecting ... Connected to "ORCL_D" Connected as SYSDG. New primary database "orcl_d" is opening... Operation requires start up of instance "ORCL" on database "orcl_a" Starting instance "ORCL"... Connected to an idle instance. ORACLE instance started. Connected to "ORCL_A" Database mounted. Database opened. Connected to "ORCL_A" Switchover succeeded, new primary is "orcl_d" DGMGRL>

CDB

DGMGRL> switchover to rdscdb_b Performing switchover NOW, please wait... New primary database "rdscdb_b" is opening... Operation requires start up of instance "RDSCDB" on database "rdscdb_a" Starting instance "RDSCDB"... Connected to an idle instance. ORACLE instance started. Connected to "RDSCDB_A" Database mounted. Database opened. Connected to "RDSCDB_A" Switchover succeeded, new primary is "rdscdb_b"
DBA

Oracle Data Guard 연결을 확인합니다.

전환 후 프라이머리 노드에서 DGMGRL로의 Oracle Data Guard 연결을 확인합니다.

비 CDB

DGMGRL> show configuration; Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_d - Primary database orcl_a - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 60 seconds ago) DGMGRL> DGMGRL> show configuration lag; Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_d - Primary database orcl_a - Physical standby database Transport Lag: 0 seconds (computed 0 seconds ago) Apply Lag: 0 seconds (computed 0 seconds ago) Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 44 seconds ago) DGMGRL>

CDB

DGMGRL> show configuration DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_b - Primary database rdscdb_a - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 52 seconds ago) DGMGRL> DGMGRL> show configuration lag Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_b - Primary database rdscdb_a - Physical standby database Transport Lag: 0 seconds (computed 0 seconds ago) Apply Lag: 0 seconds (computed 0 seconds ago) Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 53 seconds ago) DGMGRL>
DBA

Amazon RDS 콘솔에서 인스턴스 역할을 확인합니다.

역할 전환을 한 후 Amazon RDS 콘솔에 데이터베이스 아래에 연결 및 보안 탭에 있는 복제본 섹션 아래에 새로운 역할이 표시됩니다. 복제 상태가 비어 있다가 복제 중으로 업데이트되는 데 몇 분 정도 걸릴 수 있습니다.

DBA

역할 전환 시작

작업설명필요한 기술

기본 및 복제본 모두에 대한 데이터베이스 자동화를 일시 중지합니다.

RDS Custom 자동화 프레임워크가 역할 전환 프로세스를 방해하지는 않지만 Oracle Data Guard 전환 중에 자동화를 일시 중지하는 것이 좋습니다.

RDS Custom 데이터베이스 자동화를 일시 중지했다가 다시 시작하려면 RDS Custom 자동화 일시 중지 및 재개의 지침을 준수합니다.

클라우드 관리자, DBA

Oracle Data Guard 상태를 확인합니다.

Oracle Data Guard 상태를 확인하려면 기본 데이터베이스에 로그인합니다. 이 패턴에는 멀티테넌트 컨테이너 데이터베이스 (CDB) 또는 비CDB 인스턴스를 사용하기 위한 코드가 포함됩니다.

비 CDB

-bash-4.2$ dgmgrl RDS_DATAGUARD@RDS_CUSTOM_ORCL_A DGMGRL for Linux: Release 19.0.0.0.0 - Production on Mon Nov 28 20:55:50 2022 Version 19.10.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Password: Connected to "ORCL_A" Connected as SYSDG. DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_a - Primary database orcl_d - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 59 seconds ago) DGMGRL>

CDB

CDB-bash-4.2$ dgmgrl C##RDS_DATAGUARD@RDS_CUSTOM_RDSCDB_A DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Jan 18 06:13:07 2023 Version 19.16.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Password: Connected to "RDSCDB_A" Connected as SYSDG. DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_a - Primary database rdscdb_b - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 52 seconds ago) DGMGRL>
DBA

인스턴스 역할을 확인합니다.

AWS Management Console에 열고 Amazon RDS 콘솔로 이동합니다. 데이터베이스의 복제 섹션의 연결 및 보안 탭에서 기본 및 복제본의 인스턴스 역할을 확인합니다.

기본 역할은 Oracle Data Guard 기본 데이터베이스와 일치해야 하고, 복제본 역할은 Oracle Data Guard 물리적 대기 데이터베이스와 일치해야 합니다.

클라우드 관리자, DBA

전환을 실시합니다.

전환을 실시하려면 프라이머리 노드에서 DGMGRL로 연결합니다.

비 CDB

DGMGRL> switchover to orcl_d; Performing switchover NOW, please wait... Operation requires a connection to database "orcl_d" Connecting ... Connected to "ORCL_D" Connected as SYSDG. New primary database "orcl_d" is opening... Operation requires start up of instance "ORCL" on database "orcl_a" Starting instance "ORCL"... Connected to an idle instance. ORACLE instance started. Connected to "ORCL_A" Database mounted. Database opened. Connected to "ORCL_A" Switchover succeeded, new primary is "orcl_d" DGMGRL>

CDB

DGMGRL> switchover to rdscdb_b Performing switchover NOW, please wait... New primary database "rdscdb_b" is opening... Operation requires start up of instance "RDSCDB" on database "rdscdb_a" Starting instance "RDSCDB"... Connected to an idle instance. ORACLE instance started. Connected to "RDSCDB_A" Database mounted. Database opened. Connected to "RDSCDB_A" Switchover succeeded, new primary is "rdscdb_b"
DBA

Oracle Data Guard 연결을 확인합니다.

전환 후 프라이머리 노드에서 DGMGRL로의 Oracle Data Guard 연결을 확인합니다.

비 CDB

DGMGRL> show configuration; Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_d - Primary database orcl_a - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 60 seconds ago) DGMGRL> DGMGRL> show configuration lag; Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_d - Primary database orcl_a - Physical standby database Transport Lag: 0 seconds (computed 0 seconds ago) Apply Lag: 0 seconds (computed 0 seconds ago) Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 44 seconds ago) DGMGRL>

CDB

DGMGRL> show configuration DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_b - Primary database rdscdb_a - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 52 seconds ago) DGMGRL> DGMGRL> show configuration lag Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_b - Primary database rdscdb_a - Physical standby database Transport Lag: 0 seconds (computed 0 seconds ago) Apply Lag: 0 seconds (computed 0 seconds ago) Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 53 seconds ago) DGMGRL>
DBA

Amazon RDS 콘솔에서 인스턴스 역할을 확인합니다.

역할 전환을 한 후 Amazon RDS 콘솔에 데이터베이스 아래에 연결 및 보안 탭에 있는 복제본 섹션 아래에 새로운 역할이 표시됩니다. 복제 상태가 비어 있다가 복제 중으로 업데이트되는 데 몇 분 정도 걸릴 수 있습니다.

DBA
작업설명필요한 기술

전환을 재설정합니다.

전환을 프라이머리 노드로 다시 설정합니다.

DBA

옵저버를 설치하고 시작합니다.

옵저버 프로세스는 일반적으로 기본 및 대기 데이터베이스와는 다른 시스템에서 실행되고 있는 DGMGRL 클라이언트 구성 요소입니다. 옵저버용 ORACLE HOME 설치는 Oracle Client Administrator 설치일 수도 있거나, Oracle Database Enterprise Edition 또는 Personal Edition을 설치할 수도 있습니다. 데이터베이스 릴리스의 옵저버 설치에 대한 자세한 내용은 옵저버 설치 및 시작을 참조하세요. 옵저버 프로세스의 고가용성을 구성하려면 다음을 수행할 수 있습니다.

  • 옵저버를 실행 중인 EC2 인스턴스에 대해 EC2 인스턴스 자동 복구를 활성화합니다. OS 스타트업의 일부로 옵저버 스타트업 프로세스를 자동화해야 합니다.

  • EC2 인스턴스에 옵저버를 배포하고 Amazon EC2 Auto Scaling 그룹을 사이즈 일(1)로 구성합니다. EC2 인스턴스에 장애가 발생하는 경우 자동 규모 조정 그룹이 자동으로 다른 EC2 인스턴스를 가동합니다.

Oracle 12c Release 2 이상의 경우 최대 3명의 옵저버를 배포할 수 있습니다. 한 명의 옵저버가 기본 옵저버이고 나머지는 백업 옵저버입니다. 기본 옵저버가 실패하면 백업 옵저버 중 한 명이 기본 역할을 맡습니다.

DBA

옵저버 호스트에서 DGMGRL에 연결합니다.

옵저버 호스트는 기본 및 대기 데이터베이스 연결을 위한 tnsnames.ora 항목으로 구성됩니다. 데이터 손실이 FastStartFailoverLagLimit 구성(초 단위 값) 내에 있는 한 최대 성능 보호 모드로 FSFO를 활성화할 수 있지만 데이터 손실이 전혀 없도록(RPO=0) 하려면 최대 가용성 보호 모드를 사용해야 합니다.

비 CDB

DGMGRL> show configuration; Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_a - Primary database orcl_d - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 58 seconds ago) DGMGRL> show configuration lag Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_a - Primary database orcl_d - 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 5 seconds ago) DGMGRL>

CDB

-bash-4.2$ dgmgrl C##RDS_DATAGUARD@RDS_CUSTOM_RDSCDB_A DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Jan 18 06:55:09 2023 Version 19.16.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Password: Connected to "RDSCDB_A" Connected as SYSDG. DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_a - Primary database rdscdb_b - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 18 seconds ago) DGMGRL>
DBA

대기 데이터베이스를 장애 조치 대상으로 수정합니다.

프라이머리 노드 또는 옵저버 노드에서 하나의 대기 데이터베이스로 접속합니다. (구성에 여러 대기 데이터베이스가 있을 수 있지만 지금은 하나만 연결하면 됩니다.)

비 CDB

DGMGRL> edit database orcl_a set property FastStartFailoverTarget='orcl_d'; Property "faststartfailovertarget" updated DGMGRL> edit database orcl_d set property FastStartFailoverTarget='orcl_a'; Property "faststartfailovertarget" updated DGMGRL> show database orcl_a FastStartFailoverTarget; FastStartFailoverTarget = 'orcl_d' DGMGRL> show database orcl_d FastStartFailoverTarget; FastStartFailoverTarget = 'orcl_a' DGMGRL>

CDB

DGMGRL> edit database orcl_a set property FastStartFailoverTarget='rdscdb_b'; Object "orcl_a" was not found DGMGRL> edit database rdscdb_a set property FastStartFailoverTarget='rdscdb_b'; Property "faststartfailovertarget" updated DGMGRL> edit database rdscdb_b set property FastStartFailoverTarget='rdscdb_a'; Property "faststartfailovertarget" updated DGMGRL> show database rdscdb_a FastStartFailoverTarget; FastStartFailoverTarget = 'rdscdb_b' DGMGRL> show database rdscdb_b FastStartFailoverTarget; FastStartFailoverTarget = 'rdscdb_a' DGMGRL>
DBA

DGMGRL에 대한 연결을 위해 FastStartFailoverThreshold를 구성합니다.

Oracle 19c의 기본값은 30초이고 최소값은 6초입니다. 값이 낮으면 장애 조치 중에 Recovery Time Objective (RTO)가 단축될 가능성이 있습니다. 값이 높을수록 기본 데이터베이스에서 불필요한 장애 조치 일시적 오류가 발생할 가능성을 줄이는 데 도움이 됩니다.

Oracle용 RDS Custom 자동화 프레임워크는 데이터베이스 상태를 모니터링하고 몇 초마다 수정 작업을 수행합니다. 따라서 FastStartFailoverThreshold를 10초보다 큰 값으로 설정하는 것이 좋습니다. 다음 예제에서는 임계값을 35초로 구성합니다.

비·CBD 또는 CDB

DGMGRL> edit configuration set property FastStartFailoverThreshold=35; Property "faststartfailoverthreshold" updated DGMGRL> show configuration FastStartFailoverThreshold; FastStartFailoverThreshold = '35' DGMGRL>
DBA

기본 또는 옵저버 노드에서 DGMGRL에 연결하여 FSFO를 활성화합니다.

데이터베이스에 플래시백 데이터베이스가 활성화되지 않은 경우 경고 메시지 ORA-16827가 나타납니다. 선택적 플래시백 데이터베이스를 사용하면 FastStartFailoverAutoReinstate 구성 속성이 TRUE(기본값)으로 설정된 경우 장애가 발생한 기본 데이터베이스를 장애 조치 이전의 특정 시점으로 자동으로 복원할 수 있습니다.

비 CDB

DGMGRL> enable fast_start failover; Warning: ORA-16827: Flashback Database is disabled Enabled in Zero Data Loss Mode. DGMGRL> DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_a - Primary database Warning: ORA-16819: fast-start failover observer not started orcl_d - (*) Physical standby database Warning: ORA-16819: fast-start failover observer not started Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: WARNING (status updated 29 seconds ago) DGMGRL>

CDB

DGMGRL> enable fast_start failover; Warning: ORA-16827: Flashback Database is disabled Enabled in Zero Data Loss Mode. DGMGRL> show configuration; Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_a - Primary database Warning: ORA-16819: fast-start failover observer not started rdscdb_b - (*) Physical standby database Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: WARNING (status updated 11 seconds ago) DGMGRL>
DBA

FSFO 모니터링을 위한 옵저버를 시작하고 상태를 확인합니다.

FSFO를 활성화하기 전 또는 활성화한 후에 옵저버를 시작할 수 있습니다. FSFO가 이미 활성화된 경우 옵저버는 즉시 기본 및 대상 대기 데이터베이스에 대한 상태 및 연결 모니터링을 시작합니다. FSFO가 활성화되지 않은 경우 옵저버는 FSFO가 활성화될 때까지 모니터링을 시작하지 않습니다.

옵저버를 시작하면 이전 show configuration 명령에서 알 수 있듯이 기본 DB 구성이 오류 메시지 없이 표시됩니다.

비 CDB

DGMGRL> start observer; [W000 2022-12-01T06:16:51.271+00:00] FSFO target standby is orcl_d Observer 'ip-10-0-1-89' started [W000 2022-12-01T06:16:51.352+00:00] Observer trace level is set to USER DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_a - Primary database orcl_d - (*) Physical standby database Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: SUCCESS (status updated 56 seconds ago) DGMGRL> DGMGRL> show observer Configuration - rds_dg Primary: orcl_a Active Target: orcl_d Observer "ip-10-0-1-89" - Master Host Name: ip-10-0-1-89 Last Ping to Primary: 1 second ago Last Ping to Target: 1 second ago DGMGRL>

CDB

DGMGRL> start observer; Succeeded in opening the observer file "/home/oracle/fsfo_ip-10-0-1-56.dat". [W000 2023-01-18T07:31:32.589+00:00] FSFO target standby is rdscdb_b Observer 'ip-10-0-1-56' started The observer log file is '/home/oracle/observer_ip-10-0-1-56.log'. DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_a - Primary database rdscdb_b - (*) Physical standby database Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: SUCCESS (status updated 12 seconds ago) DGMGRL> DGMGRL> show observer; Configuration - rds_dg Primary: rdscdb_a Active Target: rdscdb_b Observer "ip-10-0-1-56" - Master Host Name: ip-10-0-1-56 Last Ping to Primary: 1 second ago Last Ping to Target: 2 seconds ago DGMGRL>
DBA

장애 조치 확인합니다.

이 시나리오에서는 기본 EC2 인스턴스를 수동으로 중지하여 장애 조치 테스트를 수행할 수 있습니다. EC2 인스턴스를 중지하기 전에 tail 명령을 사용하여 구성을 기반으로 옵저버 로그 파일을 모니터링합니다. DGMGRL을 사용하여 사용자 RDS_DATAGUARD로 대기 데이터베이스 orcl_d에 로그인하고 Oracle Data Guard 상태를 확인합니다. orcl_d은 새로운 기본 데이터베이스라고 표시되어야 합니다.

참고

이 장애 조치 테스트 시나리오에서 orcl_d는 비CDB 데이터베이스입니다.

장애 조치 전에는 플래시백 데이터베이스가 orcl_a에서 활성화되었습니다. 이전의 기본 데이터베이스가 온라인 상태로 돌아와 MOUNT 상태로 시작되면 옵저버는 해당 데이터베이스를 새로운 대기 데이터베이스로 복원합니다. 복원된 데이터베이스는 새로운 기본 데이터베이스의 FSFO 대상 역할을 합니다. 옵저버 로그에서 세부 정보를 확인할 수 있습니다.

DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_d - Primary database Warning: ORA-16824: multiple warnings, including fast-start failover-related warnings, detected for the database orcl_a - (*) Physical standby database (disabled) ORA-16661: the standby database needs to be reinstated Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: WARNING (status updated 25 seconds ago) DGMGRL>

다음은 observer.log에서의 출력 예입니다.

$ tail -f /tmp/observer.log Unable to connect to database using rds_custom_orcl_a [W000 2023-01-18T07:50:32.589+00:00] Primary database cannot be reached. [W000 2023-01-18T07:50:32.589+00:00] Fast-Start Failover threshold has expired. [W000 2023-01-18T07:50:32.590+00:00] Try to connect to the standby. [W000 2023-01-18T07:50:32.590+00:00] Making a last connection attempt to primary database before proceeding with Fast-Start Failover. [W000 2023-01-18T07:50:32.591+00:00] Check if the standby is ready for failover. [S002 2023-01-18T07:50:32.591+00:00] Fast-Start Failover started... 2023-01-18T07:50:32.591+00:00 Initiating Fast-Start Failover to database "orcl_d"... [S002 2023-01-18T07:50:32.592+00:00] Initiating Fast-start Failover. Performing failover NOW, please wait... Failover succeeded, new primary is "orcl_d" 2023-01-18T07:55:32.101+00:00 [S002 2023-01-18T07:55:32.591+00:00] Fast-Start Failover finished... [W000 2023-01-18T07:55:32.591+00:00] Failover succeeded. Restart pinging. [W000 2023-01-18T07:55:32.603+00:00] Primary database has changed to orcl_d. [W000 2023-01-18T07:55:33.618+00:00] Try to connect to the primary. [W000 2023-01-18T07:55:33.622+00:00] Try to connect to the primary rds_custom_orcl_d. [W000 2023-01-18T07:55:33.634+00:00] The standby orcl_a needs to be reinstated [W000 2023-01-18T07:55:33.654+00:00] Try to connect to the new standby orcl_a. [W000 2023-01-18T07:55:33.654+00:00] Connection to the primary restored! [W000 2023-01-18T07:55:35.654+00:00] Disconnecting from database rds_custom_orcl_d. [W000 2023-01-18T07:55:57.701+00:00] Try to connect to the new standby orcl_a. ORA-12170: TNS:Connect timeout occurred
DBA

FSFO 구성

작업설명필요한 기술

전환을 재설정합니다.

전환을 프라이머리 노드로 다시 설정합니다.

DBA

옵저버를 설치하고 시작합니다.

옵저버 프로세스는 일반적으로 기본 및 대기 데이터베이스와는 다른 시스템에서 실행되고 있는 DGMGRL 클라이언트 구성 요소입니다. 옵저버용 ORACLE HOME 설치는 Oracle Client Administrator 설치일 수도 있거나, Oracle Database Enterprise Edition 또는 Personal Edition을 설치할 수도 있습니다. 데이터베이스 릴리스의 옵저버 설치에 대한 자세한 내용은 옵저버 설치 및 시작을 참조하세요. 옵저버 프로세스의 고가용성을 구성하려면 다음을 수행할 수 있습니다.

  • 옵저버를 실행 중인 EC2 인스턴스에 대해 EC2 인스턴스 자동 복구를 활성화합니다. OS 스타트업의 일부로 옵저버 스타트업 프로세스를 자동화해야 합니다.

  • EC2 인스턴스에 옵저버를 배포하고 Amazon EC2 Auto Scaling 그룹을 사이즈 일(1)로 구성합니다. EC2 인스턴스에 장애가 발생하는 경우 자동 규모 조정 그룹이 자동으로 다른 EC2 인스턴스를 가동합니다.

Oracle 12c Release 2 이상의 경우 최대 3명의 옵저버를 배포할 수 있습니다. 한 명의 옵저버가 기본 옵저버이고 나머지는 백업 옵저버입니다. 기본 옵저버가 실패하면 백업 옵저버 중 한 명이 기본 역할을 맡습니다.

DBA

옵저버 호스트에서 DGMGRL에 연결합니다.

옵저버 호스트는 기본 및 대기 데이터베이스 연결을 위한 tnsnames.ora 항목으로 구성됩니다. 데이터 손실이 FastStartFailoverLagLimit 구성(초 단위 값) 내에 있는 한 최대 성능 보호 모드로 FSFO를 활성화할 수 있지만 데이터 손실이 전혀 없도록(RPO=0) 하려면 최대 가용성 보호 모드를 사용해야 합니다.

비 CDB

DGMGRL> show configuration; Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_a - Primary database orcl_d - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 58 seconds ago) DGMGRL> show configuration lag Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_a - Primary database orcl_d - 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 5 seconds ago) DGMGRL>

CDB

-bash-4.2$ dgmgrl C##RDS_DATAGUARD@RDS_CUSTOM_RDSCDB_A DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Jan 18 06:55:09 2023 Version 19.16.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved. Welcome to DGMGRL, type "help" for information. Password: Connected to "RDSCDB_A" Connected as SYSDG. DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_a - Primary database rdscdb_b - Physical standby database Fast-Start Failover: Disabled Configuration Status: SUCCESS (status updated 18 seconds ago) DGMGRL>
DBA

대기 데이터베이스를 장애 조치 대상으로 수정합니다.

프라이머리 노드 또는 옵저버 노드에서 하나의 대기 데이터베이스로 접속합니다. (구성에 여러 대기 데이터베이스가 있을 수 있지만 지금은 하나만 연결하면 됩니다.)

비 CDB

DGMGRL> edit database orcl_a set property FastStartFailoverTarget='orcl_d'; Property "faststartfailovertarget" updated DGMGRL> edit database orcl_d set property FastStartFailoverTarget='orcl_a'; Property "faststartfailovertarget" updated DGMGRL> show database orcl_a FastStartFailoverTarget; FastStartFailoverTarget = 'orcl_d' DGMGRL> show database orcl_d FastStartFailoverTarget; FastStartFailoverTarget = 'orcl_a' DGMGRL>

CDB

DGMGRL> edit database orcl_a set property FastStartFailoverTarget='rdscdb_b'; Object "orcl_a" was not found DGMGRL> edit database rdscdb_a set property FastStartFailoverTarget='rdscdb_b'; Property "faststartfailovertarget" updated DGMGRL> edit database rdscdb_b set property FastStartFailoverTarget='rdscdb_a'; Property "faststartfailovertarget" updated DGMGRL> show database rdscdb_a FastStartFailoverTarget; FastStartFailoverTarget = 'rdscdb_b' DGMGRL> show database rdscdb_b FastStartFailoverTarget; FastStartFailoverTarget = 'rdscdb_a' DGMGRL>
DBA

DGMGRL에 대한 연결을 위해 FastStartFailoverThreshold를 구성합니다.

Oracle 19c의 기본값은 30초이고 최소값은 6초입니다. 값이 낮으면 장애 조치 중에 Recovery Time Objective (RTO)가 단축될 가능성이 있습니다. 값이 높을수록 기본 데이터베이스에서 불필요한 장애 조치 일시적 오류가 발생할 가능성을 줄이는 데 도움이 됩니다.

Oracle용 RDS Custom 자동화 프레임워크는 데이터베이스 상태를 모니터링하고 몇 초마다 수정 작업을 수행합니다. 따라서 FastStartFailoverThreshold를 10초보다 큰 값으로 설정하는 것이 좋습니다. 다음 예제에서는 임계값을 35초로 구성합니다.

비·CBD 또는 CDB

DGMGRL> edit configuration set property FastStartFailoverThreshold=35; Property "faststartfailoverthreshold" updated DGMGRL> show configuration FastStartFailoverThreshold; FastStartFailoverThreshold = '35' DGMGRL>
DBA

기본 또는 옵저버 노드에서 DGMGRL에 연결하여 FSFO를 활성화합니다.

데이터베이스에 플래시백 데이터베이스가 활성화되지 않은 경우 경고 메시지 ORA-16827가 나타납니다. 선택적 플래시백 데이터베이스를 사용하면 FastStartFailoverAutoReinstate 구성 속성이 TRUE(기본값)으로 설정된 경우 장애가 발생한 기본 데이터베이스를 장애 조치 이전의 특정 시점으로 자동으로 복원할 수 있습니다.

비 CDB

DGMGRL> enable fast_start failover; Warning: ORA-16827: Flashback Database is disabled Enabled in Zero Data Loss Mode. DGMGRL> DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_a - Primary database Warning: ORA-16819: fast-start failover observer not started orcl_d - (*) Physical standby database Warning: ORA-16819: fast-start failover observer not started Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: WARNING (status updated 29 seconds ago) DGMGRL>

CDB

DGMGRL> enable fast_start failover; Warning: ORA-16827: Flashback Database is disabled Enabled in Zero Data Loss Mode. DGMGRL> show configuration; Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_a - Primary database Warning: ORA-16819: fast-start failover observer not started rdscdb_b - (*) Physical standby database Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: WARNING (status updated 11 seconds ago) DGMGRL>
DBA

FSFO 모니터링을 위한 옵저버를 시작하고 상태를 확인합니다.

FSFO를 활성화하기 전 또는 활성화한 후에 옵저버를 시작할 수 있습니다. FSFO가 이미 활성화된 경우 옵저버는 즉시 기본 및 대상 대기 데이터베이스에 대한 상태 및 연결 모니터링을 시작합니다. FSFO가 활성화되지 않은 경우 옵저버는 FSFO가 활성화될 때까지 모니터링을 시작하지 않습니다.

옵저버를 시작하면 이전 show configuration 명령에서 알 수 있듯이 기본 DB 구성이 오류 메시지 없이 표시됩니다.

비 CDB

DGMGRL> start observer; [W000 2022-12-01T06:16:51.271+00:00] FSFO target standby is orcl_d Observer 'ip-10-0-1-89' started [W000 2022-12-01T06:16:51.352+00:00] Observer trace level is set to USER DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_a - Primary database orcl_d - (*) Physical standby database Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: SUCCESS (status updated 56 seconds ago) DGMGRL> DGMGRL> show observer Configuration - rds_dg Primary: orcl_a Active Target: orcl_d Observer "ip-10-0-1-89" - Master Host Name: ip-10-0-1-89 Last Ping to Primary: 1 second ago Last Ping to Target: 1 second ago DGMGRL>

CDB

DGMGRL> start observer; Succeeded in opening the observer file "/home/oracle/fsfo_ip-10-0-1-56.dat". [W000 2023-01-18T07:31:32.589+00:00] FSFO target standby is rdscdb_b Observer 'ip-10-0-1-56' started The observer log file is '/home/oracle/observer_ip-10-0-1-56.log'. DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: rdscdb_a - Primary database rdscdb_b - (*) Physical standby database Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: SUCCESS (status updated 12 seconds ago) DGMGRL> DGMGRL> show observer; Configuration - rds_dg Primary: rdscdb_a Active Target: rdscdb_b Observer "ip-10-0-1-56" - Master Host Name: ip-10-0-1-56 Last Ping to Primary: 1 second ago Last Ping to Target: 2 seconds ago DGMGRL>
DBA

장애 조치 확인합니다.

이 시나리오에서는 기본 EC2 인스턴스를 수동으로 중지하여 장애 조치 테스트를 수행할 수 있습니다. EC2 인스턴스를 중지하기 전에 tail 명령을 사용하여 구성을 기반으로 옵저버 로그 파일을 모니터링합니다. DGMGRL을 사용하여 사용자 RDS_DATAGUARD로 대기 데이터베이스 orcl_d에 로그인하고 Oracle Data Guard 상태를 확인합니다. orcl_d은 새로운 기본 데이터베이스라고 표시되어야 합니다.

참고

이 장애 조치 테스트 시나리오에서 orcl_d는 비CDB 데이터베이스입니다.

장애 조치 전에는 플래시백 데이터베이스가 orcl_a에서 활성화되었습니다. 이전의 기본 데이터베이스가 온라인 상태로 돌아와 MOUNT 상태로 시작되면 옵저버는 해당 데이터베이스를 새로운 대기 데이터베이스로 복원합니다. 복원된 데이터베이스는 새로운 기본 데이터베이스의 FSFO 대상 역할을 합니다. 옵저버 로그에서 세부 정보를 확인할 수 있습니다.

DGMGRL> show configuration Configuration - rds_dg Protection Mode: MaxAvailability Members: orcl_d - Primary database Warning: ORA-16824: multiple warnings, including fast-start failover-related warnings, detected for the database orcl_a - (*) Physical standby database (disabled) ORA-16661: the standby database needs to be reinstated Fast-Start Failover: Enabled in Zero Data Loss Mode Configuration Status: WARNING (status updated 25 seconds ago) DGMGRL>

다음은 observer.log에서의 출력 예입니다.

$ tail -f /tmp/observer.log Unable to connect to database using rds_custom_orcl_a [W000 2023-01-18T07:50:32.589+00:00] Primary database cannot be reached. [W000 2023-01-18T07:50:32.589+00:00] Fast-Start Failover threshold has expired. [W000 2023-01-18T07:50:32.590+00:00] Try to connect to the standby. [W000 2023-01-18T07:50:32.590+00:00] Making a last connection attempt to primary database before proceeding with Fast-Start Failover. [W000 2023-01-18T07:50:32.591+00:00] Check if the standby is ready for failover. [S002 2023-01-18T07:50:32.591+00:00] Fast-Start Failover started... 2023-01-18T07:50:32.591+00:00 Initiating Fast-Start Failover to database "orcl_d"... [S002 2023-01-18T07:50:32.592+00:00] Initiating Fast-start Failover. Performing failover NOW, please wait... Failover succeeded, new primary is "orcl_d" 2023-01-18T07:55:32.101+00:00 [S002 2023-01-18T07:55:32.591+00:00] Fast-Start Failover finished... [W000 2023-01-18T07:55:32.591+00:00] Failover succeeded. Restart pinging. [W000 2023-01-18T07:55:32.603+00:00] Primary database has changed to orcl_d. [W000 2023-01-18T07:55:33.618+00:00] Try to connect to the primary. [W000 2023-01-18T07:55:33.622+00:00] Try to connect to the primary rds_custom_orcl_d. [W000 2023-01-18T07:55:33.634+00:00] The standby orcl_a needs to be reinstated [W000 2023-01-18T07:55:33.654+00:00] Try to connect to the new standby orcl_a. [W000 2023-01-18T07:55:33.654+00:00] Connection to the primary restored! [W000 2023-01-18T07:55:35.654+00:00] Disconnecting from database rds_custom_orcl_d. [W000 2023-01-18T07:55:57.701+00:00] Try to connect to the new standby orcl_a. ORA-12170: TNS:Connect timeout occurred
DBA
작업설명필요한 기술

기본 데이터베이스에서 서비스를 생성하고 시작합니다.

구성에 기본 및 대기 데이터베이스 엔드포인트가 모두 포함된 TNS 항목을 사용하면 역할 전환 중에 애플리케이션 구성이 변경되지 않도록 할 수 있습니다. 읽기/쓰기 및 읽기 전용 워크로드를 모두 지원하는 두 개의 역할 기반 데이터베이스 서비스를 정의할 수 있습니다. 다음 예에서는 기본 데이터베이스에서 orcl_rw는 기본 데이터베이스에 활성화된 읽기/쓰기 서비스입니다. orcl_ro는 읽기 전용 서비스이며 읽기 전용 모드로 열린 대기 데이터베이스에서 활성화됩니다.

SQL> select name,open_mode from v$database; NAME OPEN_MODE --------- -------------------- ORCL READ WRITE SQL> exec dbms_service.create_service('orcl_rw','orcl_rw'); PL/SQL procedure successfully completed. SQL> exec dbms_service.create_service('orcl_ro','orcl_ro'); PL/SQL procedure successfully completed. SQL> exec dbms_service.start_service('orcl_rw'); PL/SQL procedure successfully completed. SQL>
DBA

대기 데이터베이스에서 서비스를 시작합니다.

읽기 전용 대기 데이터베이스에서 서비스를 시작하려면 다음 코드를 사용합니다.

SQL> select name,open_mode from v$database; NAME OPEN_MODE --------- -------------------- ORCL READ ONLY WITH APPLY SQL> exec dbms_service.start_service('orcl_ro'); PL/SQL procedure successfully completed. SQL>
DBA

기본 DB 재시작 시 서비스 시작을 자동화합니다.

서비스를 다시 시작할 때 기본 데이터베이스에서 서비스를 자동으로 시작하려면 다음 코드를 사용합니다.

SQL> CREATE OR REPLACE TRIGGER TrgDgServices after startup on database DECLARE db_role VARCHAR(30); db_open_mode VARCHAR(30); BEGIN SELECT DATABASE_ROLE, OPEN_MODE INTO db_role, db_open_mode FROM V$DATABASE; IF db_role = 'PRIMARY' THEN DBMS_SERV 2 ICE.START_SERVICE('orcl_rw'); END IF; IF db_role = 'PHYSICAL STANDBY' AND db_open_mode LIKE 'READ ONLY%' THEN DBMS_SERVICE.START_SERVICE('orcl_ro'); END IF; END; / Trigger created. SQL>
DBA

읽기/쓰기 데이터베이스와 읽기 전용 데이터베이스 간의 연결을 구성합니다.

다음 애플리케이션 구성 예제를 읽기/쓰기 및 읽기 전용 연결에 사용할 수 있습니다.

ORCL_RW = (DESCRIPTION = (CONNECT_TIMEOUT= 120)(RETRY_COUNT=20)(RETRY_DELAY=3)(TRANSPORT_CONNECT_TIMEOUT=3) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST=devpsftdb.******.us-west-2.rds.amazonaws.com)(PORT=1521)) (ADDRESS = (PROTOCOL = TCP)(HOST=psftread.******.us-west-2.rds.amazonaws.com)(PORT=1521)) ) (CONNECT_DATA=(SERVICE_NAME = orcl_rw)) ) ORCL_RO = (DESCRIPTION = (CONNECT_TIMEOUT= 120)(RETRY_COUNT=20)(RETRY_DELAY=3)(TRANSPORT_CONNECT_TIMEOUT=3) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST=devpsftdb.******.us-west-2.rds.amazonaws.com)(PORT=1521)) (ADDRESS = (PROTOCOL = TCP)(HOST=psftread.******.us-west-2.rds.amazonaws.com)(PORT=1521)) ) (CONNECT_DATA=(SERVICE_NAME = orcl_ro)) )
DBA

Oracle Peoplesoft 애플리케이션과 데이터베이스 간의 연결 구성

작업설명필요한 기술

기본 데이터베이스에서 서비스를 생성하고 시작합니다.

구성에 기본 및 대기 데이터베이스 엔드포인트가 모두 포함된 TNS 항목을 사용하면 역할 전환 중에 애플리케이션 구성이 변경되지 않도록 할 수 있습니다. 읽기/쓰기 및 읽기 전용 워크로드를 모두 지원하는 두 개의 역할 기반 데이터베이스 서비스를 정의할 수 있습니다. 다음 예에서는 기본 데이터베이스에서 orcl_rw는 기본 데이터베이스에 활성화된 읽기/쓰기 서비스입니다. orcl_ro는 읽기 전용 서비스이며 읽기 전용 모드로 열린 대기 데이터베이스에서 활성화됩니다.

SQL> select name,open_mode from v$database; NAME OPEN_MODE --------- -------------------- ORCL READ WRITE SQL> exec dbms_service.create_service('orcl_rw','orcl_rw'); PL/SQL procedure successfully completed. SQL> exec dbms_service.create_service('orcl_ro','orcl_ro'); PL/SQL procedure successfully completed. SQL> exec dbms_service.start_service('orcl_rw'); PL/SQL procedure successfully completed. SQL>
DBA

대기 데이터베이스에서 서비스를 시작합니다.

읽기 전용 대기 데이터베이스에서 서비스를 시작하려면 다음 코드를 사용합니다.

SQL> select name,open_mode from v$database; NAME OPEN_MODE --------- -------------------- ORCL READ ONLY WITH APPLY SQL> exec dbms_service.start_service('orcl_ro'); PL/SQL procedure successfully completed. SQL>
DBA

기본 DB 재시작 시 서비스 시작을 자동화합니다.

서비스를 다시 시작할 때 기본 데이터베이스에서 서비스를 자동으로 시작하려면 다음 코드를 사용합니다.

SQL> CREATE OR REPLACE TRIGGER TrgDgServices after startup on database DECLARE db_role VARCHAR(30); db_open_mode VARCHAR(30); BEGIN SELECT DATABASE_ROLE, OPEN_MODE INTO db_role, db_open_mode FROM V$DATABASE; IF db_role = 'PRIMARY' THEN DBMS_SERV 2 ICE.START_SERVICE('orcl_rw'); END IF; IF db_role = 'PHYSICAL STANDBY' AND db_open_mode LIKE 'READ ONLY%' THEN DBMS_SERVICE.START_SERVICE('orcl_ro'); END IF; END; / Trigger created. SQL>
DBA

읽기/쓰기 데이터베이스와 읽기 전용 데이터베이스 간의 연결을 구성합니다.

다음 애플리케이션 구성 예제를 읽기/쓰기 및 읽기 전용 연결에 사용할 수 있습니다.

ORCL_RW = (DESCRIPTION = (CONNECT_TIMEOUT= 120)(RETRY_COUNT=20)(RETRY_DELAY=3)(TRANSPORT_CONNECT_TIMEOUT=3) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST=devpsftdb.******.us-west-2.rds.amazonaws.com)(PORT=1521)) (ADDRESS = (PROTOCOL = TCP)(HOST=psftread.******.us-west-2.rds.amazonaws.com)(PORT=1521)) ) (CONNECT_DATA=(SERVICE_NAME = orcl_rw)) ) ORCL_RO = (DESCRIPTION = (CONNECT_TIMEOUT= 120)(RETRY_COUNT=20)(RETRY_DELAY=3)(TRANSPORT_CONNECT_TIMEOUT=3) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST=devpsftdb.******.us-west-2.rds.amazonaws.com)(PORT=1521)) (ADDRESS = (PROTOCOL = TCP)(HOST=psftread.******.us-west-2.rds.amazonaws.com)(PORT=1521)) ) (CONNECT_DATA=(SERVICE_NAME = orcl_ro)) )
DBA

관련 리소스

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.