使用僅供讀取複本將 HA 新增至 Oracle PeopleSoft Amazon 自訂 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用僅供讀取複本將 HA 新增至 Oracle PeopleSoft Amazon 自訂

創建者:自動化(AWS)

環境:生產

技術:資料庫;基礎架構

工作量:甲骨文

AWS 服務:Amazon RDS

Summary

若要在 Amazon Web Services (AWS) 上執行 Oracle PeopleSoft 企業資源規劃 (ERP) 解決方案,您可以使用 Amazon Relational Database Service 服務 (Amazon RDS) 或 Amazon RDS 自訂軟體,該服務支援需要存取基礎作業系統和資料庫環境的傳統、自訂和封裝應用程式。如需規劃移轉時要考量的關鍵因素,請參閱 AWS Prescriptive Guidance 中的 Oracle 資料庫遷移策略

在撰寫本文時,適用於 Oracle 的 RDS 自訂不支援異地同步備份選項,該選項適用於 Amazon RDS 適用於 Oracle,使用儲存複寫作為 HA 解決方案。而是使用待命資料庫建立並維護主要資料庫的實體副本,此模式可達到 HA。該模式著重於使用 Oracle 資料保全設定僅供讀取複本,在具有 HA 的 Amazon RDS 自訂上執行 PeopleSoft 應用程式資料庫的步驟。

此模式也會將僅供讀取複本變更為唯讀模式。讓僅供讀取複本處於唯讀模式可提供額外的好處:

  • 從主要資料庫卸載唯讀工作負載

  • 使用「Oracle Active 資料保全」功能,從待命資料庫擷取狀況良好的區塊,啟用自動修復損毀的區塊

  • 使用「遠端同步」功能,讓遠端待命資料庫保持同步,而不會產生與長距離重做日誌傳輸相關的效能額外負荷。

以唯讀模式使用複本需要 「Oracle 作用中的資料保全」選項,此選項需要額外付費,因為它是「Oracle 資料庫企業版」的個別授權功能。

先決條件和限制

前提

  • Amazon RDS 自定義上的現有 PeopleSoft 應用程序。如果您沒有應用程式,請參閱將甲骨文遷移 PeopleSoft 到 Amazon RDS 自訂模式。

  • 單一 PeopleSoft 應用程式層。不過,您可以調整此模式來處理多個應用程式層級。

  • Amazon RDS 自訂設定了至少 8 GB 的交換空間。

  • 一種 Oracle Active Data Guard 資料庫授權,用於將僅供讀取複本轉換為唯讀模式,並使用該授權將報告作業卸載至待命模式。如需更多資訊,請參閱 Oracle 技術管理系統的商業價目表

限制

產品版本

架構

目標技術堆疊

  • Amazon RDS Custom for Oracle

  • AWS Secrets Manager

  • Oracle Active Data Guard

  • 甲骨文 PeopleSoft 應用

目標架構

下圖顯示 Amazon RDS 自訂資料庫執行個體和 Amazon RDS 自訂僅供讀取複本。僅供讀取複本使用「Oracle 作用中資料保全」複寫到另一個可用區域。您也可以使用僅供讀取複本卸載主要資料庫上的讀取流量,以及用於報告用途。

VPC 包括 AWS Secrets Manager、Amazon EFS、應用程式層和資料庫層。

如需使用 AWS PeopleSoft 上 Oracle 的代表性架構,請參閱在 AWS 上設定高可用性 PeopleSoft 架構

工具

AWS 服務

  • Amazon RDS Custom for Oracle 是一種受管資料庫服務,適用於需要存取基礎作業系統和資料庫環境的舊式、自訂和封裝應用程式。

  • AWS Secrets Manager 可協助您透過 API 呼叫秘密管 Secrets Manager 員來取代程式碼中的硬式編碼登入資料 (包括密碼),以程式設計方式擷取密碼。在此模式中,您可以使用密碼名稱從「秘密管理員」擷取資料庫使用者密碼do-not-delete-rds-custom-+<<RDS Resource ID>>+-dgRDS_DATAGUARD

其他工具

最佳實務

若要實現零資料遺失 (RPO=0) 目標,請使用「MaxAvailability資料保全」保護模式與重做傳輸SYNC+NOAFFIRM設定,以獲得更好的效能。如需有關選取資料庫保護模式的詳細資訊,請參閱其他資訊一節。

史诗

任務描述所需技能

建立僅供讀取複本。

若要建立 Amazon RDS 自訂資料庫執行個體的僅供讀取複本,請遵循 Amazon RDS 文件中的指示,並使用您建立的 Amazon RDS 自訂資料庫執行個體 (請參閱先決條件一節) 做為來源資料庫。

依預設,Amazon RDS 自訂僅供讀取複本建立為實體待命,並處於掛接狀態。這是故意確保符合 Oracle 主動資料保全授權的規定。

此模式包含用於設定多租用戶容器資料庫 (CDB) 或非 CDB 執行個體的程式碼。

DBA
任務描述所需技能

存取主要資料庫上的「資料保全」中介組態。

在此範例中,Amazon RDS 自訂僅供讀取複本RDS_CUSTOM_ORCL_D適用於非 CDB 執行個體和 RDS_CUSTOM_RDSCDB_B CDB 執行個體。非 CDB 的資料庫為 orcl_a (主要) 和 orcl_d (待命)。CDB 的資料庫名稱為 rdscdb_a (主要) 和 rdscdb_b (待命)。

您可以直接或透過主要資料庫連線到 RDS Custom 僅供讀取複本。您可以在$ORACLE_HOME/network/admin目錄中的tnsnames.ora檔案中找到資料庫的網路服務名稱。適用於 Oracle 的 RDS 自訂會自動為您的主要資料庫和僅供讀取複本填入這些項目。

RDS_DATAGUARD使用者的密碼會以密碼名稱儲存在 AWS Secrets Manager 中do-not-delete-rds-custom-+<<RDS Resource ID>>+-dg。如需有關如何使用從 Secrets Manager 擷取的安全殼層 (安全殼層) 金鑰連線至 RDS 自訂執行個體的詳細資訊,請參閱使用 SSH 連線至 RDS 自訂資料庫執行個體。

若要透過「資料保全」命令行 (dgmgrl) 存取「Oracle 資料保全」中介組態,請使用下列程式碼。

非國家開發行

$ dgmgrl RDS_DATAGUARD@RDS_CUSTOM_ORCL_D DGMGRL for Linux: Release 19.0.0.0.0 - Production on Fri Sep 30 22:44:49 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_D" Connected as SYSDG. DGMGRL> DGMGRL> show database orcl_d Database - orcl_d Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 0 seconds ago) Apply Lag: 0 seconds (computed 0 seconds ago) Average Apply Rate: 11.00 KByte/s Instance(s): ORCL SUCCESS DGMGRL>

國家開發行

-bash-4.2$ dgmgrl C##RDS_DATAGUARD@RDS_CUSTOM_RDSCDB_B DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Jan 11 20:24:11 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_B" Connected as SYSDG. DGMGRL> DGMGRL> show database rdscdb_b Database - rdscdb_b Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Average Apply Rate: 2.00 KByte/s Real Time Query: OFF Instance(s): RDSCDB Database Status: SUCCESS DGMGRL>
DBA

透過從主要節點連線到 DGMGRL 來變更記錄傳輸設定。

將記錄傳輸模式變更為FastSync,對應於重做傳輸設定SYNC+NOAFFIRM。若要確保在角色切換之後擁有有效的設定值,請同時針對主要資料庫和待命資料庫進行變更。

非國家開發行

DGMGRL> DGMGRL> edit database orcl_d set property logxptmode=fastsync; Property "logxptmode" updated DGMGRL> show database orcl_d LogXptMode; LogXptMode = 'fastsync' DGMGRL> edit database orcl_a set property logxptmode=fastsync; Property "logxptmode" updated DGMGRL> show database orcl_a logxptmode; LogXptMode = 'fastsync' DGMGRL>

國家開發行

DGMGRL> edit database rdscdb_b set property logxptmode=fastsync;DGMGRL> edit database rdscdb_b set property logxptmode=fastsync; Property "logxptmode" updated DGMGRL> show database rdscdb_b LogXptMode; LogXptMode = 'fastsync' DGMGRL> edit database rdscdb_a set property logxptmode=fastsync; Property "logxptmode" updated DGMGRL> show database rdscdb_a logxptmode; LogXptMode = 'fastsync' DGMGRL>
DBA

將保護模式變更為 MaxAvailability。

透過DGMGRL從主要節點MaxAvailability連線,將保護模式變更為。

非國家開發行

DGMGRL> edit configuration set protection mode as maxavailability; Succeeded. 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 38 seconds ago) DGMGRL>

國家開發行

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 57 seconds ago) DGMGRL>
DBA
任務描述所需技能

停止待命資料庫的重做套用。

依預設,僅供讀取複本是以MOUNT模式建立的。若要以唯讀模式開啟它,您首先需要透過DGMGRL從主節點或待命節點連線至來關閉 redo apply。

非國家開發行

DGMGRL> show database orcl_dDGMGRL> show database orcl_d Database - orcl_d Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Average Apply Rate: 11.00 KByte/s Real Time Query: OFF Instance(s): ORCL Database Status: SUCCESS DGMGRL> edit database orcl_d set state=apply-off; Succeeded. DGMGRL> show database orcl_d Database - orcl_d Role: PHYSICAL STANDBY Intended State: APPLY-OFF Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 42 seconds (computed 1 second ago) Average Apply Rate: (unknown) Real Time Query: OFF Instance(s): ORCL Database Status: SUCCESS DGMGRL>

國家開發行

DGMGRL> show configurationDGMGRL> 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 57 seconds ago) DGMGRL> show database rdscdb_b; Database - rdscdb_b Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Average Apply Rate: 2.00 KByte/s Real Time Query: OFF Instance(s): RDSCDB Database Status: SUCCESS DGMGRL> edit database rdscdb_b set state=apply-off; Succeeded. DGMGRL> show database rdscdb_b; Database - rdscdb_b Role: PHYSICAL STANDBY Intended State: APPLY-OFF Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Average Apply Rate: (unknown) Real Time Query: OFF Instance(s): RDSCDB Database Status: SUCCESS
DBA

以唯讀模式開啟僅供讀取複本執行個體。

使用 TNS 項目 Connect 到待命資料庫,然後從主要或待命節點連線至該資料庫,以唯讀模式開啟它。

非國家開發行

$ sqlplus RDS_DATAGUARD@RDS_CUSTOM_ORCL_D as sysdg -bash-4.2$ sqlplus RDS_DATAGUARD@RDS_CUSTOM_ORCL_D as sysdg SQL*Plus: Release 19.0.0.0.0 - Production on Fri Sep 30 23:00:14 2022 Version 19.10.0.0.0 Copyright (c) 1982, 2020, Oracle. All rights reserved. Enter password: Last Successful login time: Fri Sep 30 2022 22:48:27 +00:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.10.0.0.0 SQL> select open_mode from v$database; OPEN_MODE -------------------- MOUNTED SQL> alter database open read only; Database altered. SQL> select open_mode from v$database; OPEN_MODE -------------------- READ ONLY SQL>

國家開發行

-bash-4.2$ sqlplus C##RDS_DATAGUARD@RDS_CUSTOM_RDSCDB_B as sysdg SQL*Plus: Release 19.0.0.0.0 - Production on Wed Jan 11 21:14:07 2023 Version 19.16.0.0.0 Copyright (c) 1982, 2022, Oracle. All rights reserved. Enter password: Last Successful login time: Wed Jan 11 2023 21:12:05 +00:00 Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.16.0.0.0 SQL> select name,open_mode from v$database; NAME OPEN_MODE --------- -------------------- RDSCDB MOUNTED SQL> alter database open read only; Database altered. SQL> select name,open_mode from v$database; NAME OPEN_MODE --------- -------------------- RDSCDB READ ONLY SQL>
DBA

在僅供讀取複本執行個體上啟用重做套用。

使用主節點或待命節點的 DGMGR L,在僅供讀取複本執行個體上啟動重做套用。

非國家開發行

$ dgmgrl RDS_DATAGUARD@RDS_CUSTOM_ORCL_D DGMGRL for Linux: Release 19.0.0.0.0 - Production on Fri Sep 30 23:02:16 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_D" Connected as SYSDG. DGMGRL> edit database orcl_d set state=apply-on; DGMGRL> edit database orcl_d set state=apply-on; Succeeded. DGMGRL> show database orcl_d Database - orcl_d Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 0 seconds ago) Apply Lag: 0 seconds (computed 0 seconds ago) Average Apply Rate: 496.00 KByte/s Real Time Query: ON Instance(s): ORCL Database Status: SUCCESS DGMGRL>

國家開發行

-bash-4.2$ dgmgrl C##RDS_DATAGUARD@RDS_CUSTOM_RDSCDB_B-bash-4.2$ dgmgrl C##RDS_DATAGUARD@RDS_CUSTOM_RDSCDB_B DGMGRL for Linux: Release 19.0.0.0.0 - Production on Wed Jan 11 21:21:11 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_B" Connected as SYSDG. DGMGRL> edit database rdscdb_b set state=apply-on; Succeeded. DGMGRL> show database rdscdb_b Database - rdscdb_b Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 0 seconds ago) Apply Lag: 0 seconds (computed 0 seconds ago) Average Apply Rate: 35.00 KByte/s Real Time Query: ON Instance(s): RDSCDB Database Status: SUCCESS DGMGRL> show database rdscdb_b Database - rdscdb_b Role: PHYSICAL STANDBY Intended State: APPLY-ON Transport Lag: 0 seconds (computed 1 second ago) Apply Lag: 0 seconds (computed 1 second ago) Average Apply Rate: 16.00 KByte/s Real Time Query: ON Instance(s): RDSCDB Database Status: SUCCESS DGMGRL>
DBA

相關資源

其他資訊

選取您的資料庫保護模式

Oracle 資料保全提供三種保護模式,可根據您的可用性、保護和效能需求來設定「資料保全」環境。下表摘要說明這三種模式。

保護模式

重做傳輸設定

Description

最高效能

ASYNC

對於主要資料庫上發生的交易,重做資料會以非同步方式傳輸,並寫入待命資料庫重做日誌。因此,效能的影響是最小的。

MaxPerformance由於非同步記錄傳送,無法提供 RPO=0。

最大保護

SYNC+AFFIRM

對於主要資料庫上的交易,在確認交易之前,會同步傳輸重做資料,並將其寫入磁碟上的待命資料庫重做日誌。如果待命資料庫無法使用,主要資料庫會自行關閉,以確保交易受到保護。

最大可用性

SYNC+AFFIRM

這與MaxProtection模式類似,除非沒有從待命資料庫接收到確認。在這種情況下,它會像處於MaxPerformance模式一樣,以保留主要資料庫可用性,直到能夠再次將其重做串流寫入同步處理的待命資料庫為止。

SYNC+NOAFFIRM

對於主要資料庫上的交易,redo 會同步傳輸至待命資料庫,且主要資料庫只會等待重做已在待命時接收到的確認,而不是已寫入待命磁碟。此模式 (也稱為) 可提供效能優勢FastSync,但在多次同時發生故障的特殊情況下,可能會遭受資料遺失的潛在風險。

RDS 自訂適用於 Oracle 的僅供讀取複本是以最高效能保護模式建立的,這也是 Oracle 資料保全的預設保護模式。最大效能模式對主要資料庫的效能影響最低,可協助您符合以秒為單位測量的復原點目標 (RPO) 需求。

若要達成零資料遺失 (RPO=0) 目標,您可以MaxAvailability使用重做傳輸的SYNC+NOAFFIRM設定,將「Oracle 資料保全」保護模式自訂為,以獲得更好的效能。由於只有在對應的重做向量順利傳輸至待命資料庫之後才會確認主要資料庫上的認可,因此主要執行個體和複本之間的網路延遲對於認可敏感性工作負載而言至關重要。建議您對工作負載執行負載測試,以評估自訂僅供讀取複本以在MaxAvailability模式下執行時的效能影響。

與在不同可用區域部署僅供讀取複本相比,在主要資料庫相同的可用區域中部署僅供讀取複本可提供較低的網路延遲。但是,在相同的可用區域中部署主要和僅供讀取複本可能不符合 HA 需求,因為在可用區域無法使用的情況下,主要執行個體和僅供讀取複本執行個體都會受到影響。