針對 Amazon RDS Custom for Oracle 的資料庫問題進行故障診斷 - Amazon Relational Database Service

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

針對 Amazon RDS Custom for Oracle 的資料庫問題進行故障診斷

RDS Custom 的共同的責任模型提供作業系統殼層層級存取權和資料庫管理員存取權。RDS Custom 會執行您的帳戶中的資源,不像是 Amazon RDS,它會執行系統帳戶中的資源。責任越大,存取權也越大。在下列區段中,您可以了解如何針對 Amazon RDS Custom 資料庫執行個體的問題進行疑難排解。

注意

本節說明如何對 RDS Custom for Oracle 進行故障診斷。若要對 RDS Custom for SQL Server 進行故障診斷,請參閱 疑難排解 Amazon SQL 伺服器RDS自訂的資料庫問題

檢視 RDS Custom 事件

RDS Custom 和 Amazon RDS 資料庫執行個體的檢視事件程序相同。如需詳細資訊,請參閱 查看 Amazon RDS 活動

若要使用檢視 RDS 自訂事件通知 AWS CLI,請使用describe-events命令。RDS Custom 引入數個新事件。事件類別與 Amazon RDS 的類別相同。如需事件清單,請參閱 Amazon RDS事件類別和事件訊息

下列範例會擷取針對指定 RDS Custom 資料庫執行個體發生之事件的詳細資訊。

aws rds describe-events \ --source-identifier my-custom-instance \ --source-type db-instance

訂閱 RDS 自訂事件

RDS Custom 與 Amazon RDS 資料庫執行個體的訂閱事件程序相同。如需詳細資訊,請參閱 訂閱 Amazon RDS 事件通知

若要使用 CLI 來訂閱 RDS Custom 事件通知,請使用 create-event-subscription 命令。包含下列必要參數:

  • --subscription-name

  • --sns-topic-arn

下列範例會在目前 AWS 帳戶中建立 RDS Custom 資料庫執行個體之備份和復原事件的訂閱。通知會傳送至 Amazon Simple Notification Service (Amazon SNS) 主題,由 --sns-topic-arn 指定。

aws rds create-event-subscription \ --subscription-name my-instance-events \ --source-type db-instance \ --event-categories '["backup","recovery"]' \ --sns-topic-arn arn:aws:sns:us-east-1:123456789012:interesting-events

針對 RDS Custom for Oracle 的自訂引擎版本建立進行疑難排解

當 CEV 建立失敗時,會發生 RDS Custom 問題 RDS-EVENT-0198 並且有訊息 Creation failed for custom engine version major-engine-version.cev_name,其中包含失敗的詳細資訊。例如,事件會列印遺失的檔案。

CEV 建立可能因為發生下列問題而失敗:

  • 包含安裝檔案的 Amazon S3 儲存貯體與 CEV 位於不同的 AWS 區域。

  • 當您第一次在中請求建立 CEV 時,RDS 自訂會建立用於存放 RDS 自訂資源 (例如 CEV 成品、 AWS CloudTrail 記錄和交易記錄) 的 S3 儲存貯體。 AWS 區域

    如果 RDS Custom 無法建立 S3 儲存貯體,則 CEV 建立會失敗。呼叫者沒有如 步驟 5:將必要許可授予 IAM 使用者或角色 中所述的 S3 許可,或者 S3 儲存貯體的數量已達到限制。

  • 呼叫者沒有從包含安裝媒體檔案的 S3 儲存貯體中取得檔案的許可。這些許可在 步驟 7:添加必要的IAM權限 中描述。

  • 您的 IAM 政策具有 aws:SourceIp 條件。請務必遵循《AWS Identity and Access Management 使用者指南》中的 AWS 根據來源 IP 拒絕存取 AWS。另外,請確認呼叫者擁有 S3 許可,如 步驟 5:將必要許可授予 IAM 使用者或角色 中所述。

  • CEV 資訊清單中列出的安裝媒體檔案不在 S3 儲存貯體中。

  • RDS Custom 的安裝檔案的 SHA-256 檢查總和未知。

    請確認提供的檔案的 SHA-256 檢查總和符合 Oracle 網站上的 SHA-256 檢查總和。如果檢查總和相符,請聯絡 AWS 支援,並提供失敗的 CEV 名稱、檔案名稱和檢查總和。

  • OPatch 版本與修補程式檔案不相容。您可能會收到下列訊息:OPatch is lower than minimum required version. Check that the version meets the requirements for all patches, and try again。如要套用 Oracle 修補程式,必須使用相容版本的 OPatch 公用程式。您可在修補程式的讀我檔案中找到 Opatch 公用程式的所需版本。從 My Oracle Support 下載最新的 OPatch 公用程式,然後再次嘗試建立 CEV。

  • CEV 資訊清單中指定的修補程式順序錯誤。

您可以在 RDS 主控台上 (在導覽窗格中選擇「事件」) 或使用describe-events AWS CLI 命令來檢視 RDS 事件。預設持續時間為 60 分鐘。如果未傳回任何事件,請指定較長的持續時間,如以下範例所示。

aws rds describe-events --duration 360

目前,從 Amazon S3 匯入檔案以建立 CEV 的 MediaImport 服務並未與 AWS CloudTrail整合。因此,如果您開啟 Amazon RDS 的資料記錄功能 CloudTrail,則不會記錄對 MediaImport 服務 (例如CreateCustomDbEngineVersion事件) 的呼叫。

不過,您可能會看到來自可存取 Amazon S3 儲存貯體的 API Gateway 的呼叫。這些呼叫來自CreateCustomDbEngineVersion事件的 MediaImport服務。

修正 RDS Custom for Oracle 中不支援的組態

在共同的責任模型中,您必須負責修正讓 RDS Custom for Oracle 資料庫執行個體進入 unsupported-configuration 狀態的組態問題。如果問題出在 AWS 基礎結構上,您可以使用主控台或修正此問題。 AWS CLI 如果問題與作業系統或資料庫組態相關,您可以登入主機進行修正。

注意

本節說明如何修正 RDS Custom for Oracle 中不支援的組態。如需 RDS Custom for SQL Server 的相關資訊,請參閱 修正SQL伺服器RDS自訂中不受支援的組態

您可以在下表中找到支援周邊所傳送通知和事件的說明,以及了解如何進行修正。這些通知和支援周邊可能會變更。如需支援周邊的相關背景,請參閱 RDS Custom 支援周邊。如需事件說明,請參閱 Amazon RDS事件類別和事件訊息

事件 ID 組態 RDS 事件訊息 動作

SP-O0000

手動不受支援的

於以下原因,RDS 自訂資料庫執行個體狀態設定為 [不支援的組態]。

若要解決此問題,請建立 AWS Support 案例。

AWS 資源 (基礎架構)

SP-O1001

Amazon Elastic Block Store (Amazon EBS) 磁碟區

下列 EBS 磁碟區已新增至 EC2 執行個體 ec2_id:磁碟區。若要解決此問題,請從執行個體中卸離指定的磁碟區。

除了從 Amazon 機器映像 (AMI) 建立的根磁碟區外,RDS 自訂還會建立兩種類型的 EBS 磁碟區,並將它們與 EC2 執行個體建立關聯:

  • 資料庫軟體二進位檔所在的二進位磁碟區

  • 資料庫檔案所在的資料磁碟區

建立資料庫執行個體時,您指定的儲存組態會設定資料磁碟區。

支援周邊會監控下列項目:

  • 使用資料庫執行個體建立的初始 EBS 磁碟區仍與執行個體相關聯。

  • 初始 EBS 磁碟區仍具有與初始設定相同的組態:儲存類型、大小、佈建 IOPS 和儲存輸送量。

  • 沒有額外 EBS 磁碟區連接至資料庫執行個體。

使用下列 CLI 命令來比較 EBS 磁碟區詳細資料的磁碟區類型和適用於 Oracle 資料庫執行個體的 RDS 自訂詳細資訊:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name | grep StorageType

SP-O1002

Amazon Elastic Block Store (Amazon EBS) 磁碟區

EBS 磁碟區磁碟區識別碼已從 EC2 執行個體 [ec2_id] 分離。您無法從這個執行個體卸離原始磁碟區。若要解決此問題,請將磁碟區識別碼重新附加至 ec2_id

除了從 Amazon 機器映像 (AMI) 建立的根磁碟區外,RDS 自訂還會建立兩種類型的 EBS 磁碟區,並將它們與 EC2 執行個體建立關聯:

  • 資料庫軟體二進位檔所在的二進位磁碟區

  • 資料庫檔案所在的資料磁碟區

建立資料庫執行個體時,您指定的儲存組態會設定資料磁碟區。

支援周邊會監控下列項目:

  • 使用資料庫執行個體建立的初始 EBS 磁碟區仍與執行個體相關聯。

  • 初始 EBS 磁碟區仍具有與初始設定相同的組態:儲存類型、大小、佈建 IOPS 和儲存輸送量。

  • 沒有額外 EBS 磁碟區連接至資料庫執行個體。

使用下列 CLI 命令來比較 EBS 磁碟區詳細資料的磁碟區類型和適用於 Oracle 資料庫執行個體的 RDS 自訂詳細資訊:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name | grep StorageType

SP-O1003

Amazon Elastic Block Store (Amazon EBS) 磁碟區

附加至 EC2 執行個體 ec2 _id 的原始 EBS 磁碟區磁碟區編號已修改如下:大小 [X] 到 [Y],將 [N] 輸入 [M] 或 IOPS [J] 到 [K]。若要解決此問題,請回復修改。

除了從 Amazon 機器映像 (AMI) 建立的根磁碟區外,RDS 自訂還會建立兩種類型的 EBS 磁碟區,並將它們與 EC2 執行個體建立關聯:

  • 資料庫軟體二進位檔所在的二進位磁碟區

  • 資料庫檔案所在的資料磁碟區

建立資料庫執行個體時,您指定的儲存組態會設定資料磁碟區。

支援周邊會監控下列項目:

  • 使用資料庫執行個體建立的初始 EBS 磁碟區仍與執行個體相關聯。

  • 初始 EBS 磁碟區仍具有與初始設定相同的組態:儲存類型、大小、佈建 IOPS 和儲存輸送量。

  • 沒有額外 EBS 磁碟區連接至資料庫執行個體。

使用下列 CLI 命令來比較 EBS 磁碟區詳細資料的磁碟區類型和適用於 Oracle 資料庫執行個體的 RDS 自訂詳細資訊:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name | grep StorageType

SP-O1004

Amazon EC2 執行個體狀態

自動復原使 EC2 執行個體 [ec2_id] 處於受損狀態。若要解決問題,請參閱疑難排解執行個體復原失敗

若要檢查資料庫執行個體的狀態,請使用主控台或執行下列 AWS CLI 命令:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep DBInstanceStatus

SP-O1005

Amazon EC2 執行個體屬性

EC2 實例 [ec2_id] 被修改如下:屬性 [att1] 從 [val-old] 更改為 [VAL-新],屬性 [att2] 從 [val-old] 更改為 [VAL-新]。若要解決此問題,請回復為原始值。

SP-O1006

Amazon EC2 執行個體狀態

EC2 執行個體 [ec2_id] 已終止或找不到。若要解決此問題,請刪除 RDS 自訂資料庫執行個體。

支援周邊會監控 EC2 執行個體狀態變更通知。EC2 執行個體必須永遠在執行中。

刪除資料庫執行個體
  1. 若要檢查資料庫執行個體的狀態,請使用主控台或執行下列 AWS CLI 命令:

    aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep DBInstanceStatus
  2. 刪除適用於 Oracle 資料庫執行個體的 RDS 自訂。

SP-O1007

Amazon EC2 執行個體狀態

EC2 執行個體 [ec2_id] 已停止。若要解決此問題,請啟動執行個體。

支援周邊會監控 EC2 執行個體狀態變更通知。EC2 執行個體必須永遠在執行中。

重新啟動資料庫執行個體
  1. 若要檢查資料庫執行個體的狀態,請使用主控台或執行下列 AWS CLI 命令:

    aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep DBInstanceStatus
  2. 啟動資料庫執行個體。

  3. 重新掛載二進位和資料磁碟區。

作業系統

SP-O2001

RDS Custom 代理程式狀態

RDS 自訂代理程式未在 EC2 執行個體 [ec2_id] 上執行。請確定代理程式在 [ec2_id] 上執行。

在 RDS Custom for Oracle 上,如果 RDS Custom 代理程式停止,則資料庫執行個體就會在支援周邊外面。代理程式會 CloudWatch 每隔 30 秒將IamAlive指標發佈到 Amazon。如果超過 30 秒未發佈指標,則會觸發警示。支援周邊也會每 30 分鐘監控主機上的 RDS Custom 代理程式程序狀態。

重新啟動 RDS 自訂代理程式
  1. 登入主機並確定 RDS Custom 代理程式正常執行。

  2. 執行下列命令以尋找代理程式的狀態。

    service rdscustomagent status
  3. 使用下列命令啟動代理程式。

    service rdscustomagent start

當 RDS 自訂代理程式再次執行時,指IamAlive標會發佈至 Amazon CloudWatch,並且警示會切換至該OK狀態。此切換會通知支援周邊代理程式正在執行。

SP-O2002

AWS Systems Manager 代理程式 (SSM 代理程式) 狀態

無法存取 EC2 執行個體 [ec2_id] 上的系統管理員代理程式。確認您已正確設定網路、代理程式和 IAM 許可。

SSM 代理程式必須始終在執行中。RDS Custom 代理程序必須負責確定 Systems Manager 代理程式在執行中。如果 SSM 代理程式已終止然後重新啟動,則 RDS 自訂代理程式會將指標發佈至 CloudWatch。RDS Custom 代理程式具有指標警示,設定為在每次重新啟動的前三分鐘觸發。支援範圍也會每隔 30 分鐘監視主機上 SSM 代理程式的處理序狀態。

如需詳細資訊,請參閱針對 SSM Agent 進行疑難排解

SP-O2003

AWS Systems Manager 代理程式 (SSM 代理程式) 狀態

EC2 實例 [ec2_id] 上的系統管理器代理程序崩潰了多次。如需詳細資訊,請參閱 SSM 代理程式疑難排解說明文件。

如需詳細資訊,請參閱針對 SSM Agent 進行疑難排解

SP-O2004

作業系統時區

已變更 EC2 執行個體 [ec2_id] 上的時區。若要解決此問題,請將時區還原為先前的 [previous-time-zone] 設定。然後使用 RDS 選項群組來變更時區。

RDS 自動化偵測到主機上的時區已變更,而不使用選項群組。此主機層級變更可能會導致 RDS 自動化失敗,因此 EC2 執行個體會置於狀態。unsupported-configuration

修正時區設定
  1. 登入 EC2 主機並檢查作業系統時區,如下所示:

    timedatectl
  2. 暫停 RDS Custom 自動化。如需詳細資訊,請參閱 暫停和繼續自訂RDS資料庫執行個體

  3. 停止資料庫執行個體。

  4. 還原作業系統上的時區變更。

  5. 啟動資料庫執行個體。

  6. 繼續 RDS Custom 自動化。

資料庫執行個體會在 30 分鐘內變成可用。若要避免 future 移出周邊,請透過選項群組修改您的時區。如需詳細資訊,請參閱 Oracle 時區

SP-O2005

sudo 組態

EC2 執行個體 [ec2_id] 上的 sudo 組態缺少必要的許可。若要解決此問題,請將最近的變更還原至 sudo 組態。

支援周邊會監控某些作業系統使用者可以在方塊上執行特定命令。它會監控 sudo 組態與支援的狀態。

sudo 組態不受支援時,RDS Custom 會嘗試將它們覆寫回先前支援的狀態。如果成功,則會傳送下列通知:

RDS Custom 已成功覆寫您的組態。

若要調查 sudo 組態的變更
  1. 登入您的主機。

  2. 執行下列命令。

    visudo -c -f /etc/sudoers.d/individual_sudo_files
  3. 視需要修改sudo模型組態。

在支援範圍判斷sudo組態是否受支援之後,您的 RDS 自訂適用於 Oracle 資料庫執行個體會在 30 分鐘內提供使用。

SP-O2006

S3 儲存貯體存取

RDS 自訂自動化無法從 EC2 執行個體 [ec2_id] 上的 S3 儲存貯體下載檔案。檢查您的聯網組態,並確定執行個體允許與 S3 之間的連線。

資料庫

SP-O3001

資料庫封存延遲目標

EC2 執行個體 [ec2_id] 上的存檔 _ 落格 _ 目標參數超出建議的值範圍。若要解決此問題,請將參數設定為值範圍內的值。

支援範圍會監控ARCHIVE_LAG_TARGET資料庫參數,以確認資料庫執行個體的最新可還原時間是否在合理的範圍內。

變更存檔重做日誌的延遲目標
  1. 登入您的 EC2 主機

  2. Connect 到適用於 Oracle 資料庫執行個體的 RDS 自訂

  3. ARCHIVE_LAG_TARGET參數變更為介於 60—7200 之間的值。例如,使用下列 SQL 陳述式。

    ALTER SYSTEM SET ARCHIVE_LAG_TARGET=300 SCOPE=BOTH;

資料庫執行個體會在 30 分鐘內變成可用。

SP-O3002

Oracle Data Guard 角色

在 EC2 執行個體 [ec 2 _id] 上的 Oracle 資料保全不支援資料庫角色 [角色名稱]。若要解決此問題,請將 DATABASE_ROLE 參數設定為主要或實體待命。

支援周邊每 15 秒會監視目前的資料庫角色,並在資料庫角色變更時傳送 CloudWatch 通知。Oracle Data Guard DATABASE_ROLE 參數必須是 PRIMARYPHYSICAL STANDBY

將 Oracle 資料保全資料庫角色還原為支援的值
  1. 執行下列陳述式,以檢查「Oracle 資料保全」角色:

    SELECT DATABASE_ROLE FROM V$DATABASE;
  2. 如果您的資料庫執行個體是獨立的,請使用下列其中一個陳述式將其變更回PRIMARY角色:

    ALTER DATABASE COMMIT TO SWITCHOVER PRIMARY; ALTER DATABASE ACTIVATE STANDBY DATABASE;

    如果您的資料庫執行個體是複本,請使用下列陳述式將其變更回PHYSICAL STANDBY角色:

    ALTER DATABASE CONVERT TO PHYSICAL STANDBY;

在支援周邊判斷支援資料庫角色之後,RDS Custom for Oracle 資料庫執行個體會在 15 秒內變成可用。

SP-O3003

資料庫運作狀態

甲骨文數據庫的 SMON 進程處於殭屍狀態。若要解決此問題,請手動復原 EC2 執行個體 [ec2_id] 上的資料庫,開啟資料庫,然後立即備份。如需更多協助,請聯絡 AWS Support。

支援周邊會監控資料庫執行個體狀態。它也會監控前一小時和前一天發生的重新啟動次數。當執行個體處於仍然存在的狀態時,您會收到通知,但無法與其互動。

使支撐周邊評估您的執行個體狀態
  1. 登入主機並判斷資料庫狀態。

    ps -eo pid,state,command | grep smon
  2. 必要時,請重新啟動資料庫執行個體。如果重新啟動失敗,請繼續執行下一個步驟。

  3. 如有必要,請重新啟動 EC2 主機。

資料庫執行個體重新啟動後,RDS Custom 代理程式會偵測到您的資料庫執行個體不再處於無回應狀態。然後,它會通知支援周邊重新評估您的資料庫執行個體狀態。

SP-O3004

資料庫日誌模式

EC2 執行個體 [ec2_id] 上的資料庫記錄模式已變更為 [值]。若要解決此問題,請將記錄模式設定為 [value_ a]。

將資料庫執行個體記錄模式變更為 ARCHIVELOG
  1. 登入您的 EC2 主機。

  2. Connect 到資料庫並執行下列陳述式:

    SELECT LOG_MODE FROM V$DATABASE;

    或者您可以在 SQL* Plus 中運行以下命令:

    ARCHIVE LOG LIST
  3. 執行下列 SQL*Plus 命令以起始一致的關閉。

    SHUTDOWN IMMEDIATE

RDS 自訂代理程式會自動重新啟動資料庫執行個體,並將記錄模式設定為ARCHIVELOG。資料庫執行個體會在 30 分鐘內變成可用。

SP-O3005

Oracle 本位目錄路徑

EC2 執行個體 [ec2_id] 上的甲骨文本位目錄已變更為新路徑。若要解決此問題,請將設定還原為 old_path

SP-O3006

資料庫唯一名稱

EC2 實例 [ec2_id] 上的數據庫唯一名稱已更改為新值。若要解決此問題,請將名稱還原為 old_value

變更資料庫執行個體的資料庫唯一名稱
  1. 登入您的 EC2 主機。

  2. Connect 至資料庫並執行下列陳述式:

    SELECT DB_UNIQUE_NAME FROM V$DATABASE;
  3. 使用指令指定原始資料庫唯一名稱ALTER SYSTEM SET DB_UNIQUE_NAME

  4. 執行下列 SQL 陳述式以起始一致性關閉。

    SHUTDOWN IMMEDIATE;

RDS 自訂代理程式會自動重新啟動資料庫執行個體,並將記錄模式設定為ARCHIVELOG。資料庫執行個體會在 30 分鐘內變成可用。

針對 RDS Custom for Oracle 升級進行疑難排解

您的 RDS Custom for Oracle 執行個體升級可能會失敗。接著,您可以找到在升級 RDS Custom DB for Oracle 資料庫執行個體期間可以使用的技巧:

  • 檢查資料庫執行個體 /tmp 目錄中的升級輸出日誌檔。日誌名稱取決於您的資料庫引擎版本。例如,您可能會看到包含字串 catupgrdcatup 的日誌。

  • 檢查位於 /rdsdbdata/log/trace 目錄的 alert.log 檔案。

  • root 目錄中執行下列 grep 命令以追蹤升級作業系統程序。此命令會顯示寫入日誌檔的位置,並判斷升級程序的狀態。

    ps -aux | grep upg

    下面顯示了範例輸出。

    root 18884 0.0 0.0 235428 8172 ? S< 17:03 0:00 /usr/bin/sudo -u rdsdb /rdsdbbin/scripts/oracle-control ORCL op_apply_upgrade_sh RDS-UPGRADE/2.upgrade.sh rdsdb 18886 0.0 0.0 153968 12164 ? S< 17:03 0:00 /usr/bin/perl -T -w /rdsdbbin/scripts/oracle-control ORCL op_apply_upgrade_sh RDS-UPGRADE/2.upgrade.sh rdsdb 18887 0.0 0.0 113196 3032 ? S< 17:03 0:00 /bin/sh /rdsdbbin/oracle/rdbms/admin/RDS-UPGRADE/2.upgrade.sh rdsdb 18900 0.0 0.0 113196 1812 ? S< 17:03 0:00 /bin/sh /rdsdbbin/oracle/rdbms/admin/RDS-UPGRADE/2.upgrade.sh rdsdb 18901 0.1 0.0 167652 20620 ? S< 17:03 0:07 /rdsdbbin/oracle/perl/bin/perl catctl.pl -n 4 -d /rdsdbbin/oracle/rdbms/admin -l /tmp catupgrd.sql root 29944 0.0 0.0 112724 2316 pts/0 S+ 18:43 0:00 grep --color=auto upg
  • 執行下列 SQL 查詢以驗證元件的目前狀態,以尋找資料庫版本和資料庫執行個體上安裝的選項。

    SET LINESIZE 180 COLUMN COMP_ID FORMAT A15 COLUMN COMP_NAME FORMAT A40 TRUNC COLUMN STATUS FORMAT A15 TRUNC SELECT COMP_ID, COMP_NAME, VERSION, STATUS FROM DBA_REGISTRY ORDER BY 1;

    輸出結果與以下內容相似。

    COMP_NAME STATUS PROCEDURE ---------------------------------------- -------------------- -------------------------------------------------- Oracle Database Catalog Views VALID DBMS_REGISTRY_SYS.VALIDATE_CATALOG Oracle Database Packages and Types VALID DBMS_REGISTRY_SYS.VALIDATE_CATPROC Oracle Text VALID VALIDATE_CONTEXT Oracle XML Database VALID DBMS_REGXDB.VALIDATEXDB 4 rows selected.
  • 執行下列 SQL 查詢,以檢查是否有可能會干擾升級程序的無效物件。

    SET PAGES 1000 LINES 2000 COL OBJECT FOR A40 SELECT SUBSTR(OWNER,1,12) OWNER, SUBSTR(OBJECT_NAME,1,30) OBJECT, SUBSTR(OBJECT_TYPE,1,30) TYPE, STATUS, CREATED FROM DBA_OBJECTS WHERE STATUS <>'VALID' AND OWNER IN ('SYS','SYSTEM','RDSADMIN','XDB');

RDS Custom for Oracle 複本提升的疑難排解

您可以使用主控台、promote-read-replica AWS CLI 命令或 PromoteReadReplica API,在 RDS 自訂適用於 Oracle 中升級受管理的 Oracle 複本。如果您刪除主要資料庫執行個體,且所有複本都正常運作,則 RDS Custom for Oracle 會自動將受管複本提升為獨立執行個體。如果複本已暫停自動化或位於支援範圍之外,您必須先修正複本,RDS Custom 才能自動提升複本。如需詳細資訊,請參閱 RDS Custom for Oracle 的複本促銷限制

複本提升工作流程可能會下列情況中停滯:

  • 主要資料庫執行個體處於狀態 STORAGE_FULL

  • 主要資料庫無法封存其所有線上重做日誌。

  • 您的 Oracle 複本中的封存重做日誌檔案與主要資料庫之間存在差距。

若要回應卡住的工作流程
  1. 在 Oracle 複本資料庫執行個體上同步重做日誌差距。

  2. 強制將僅供讀取複本提升至最新套用的重做日誌。執行下列 SQL*Plus 命令:

    ALTER DATABASE ACTIVATE STANDBY DATABASE; SHUTDOWN IMMEDIATE STARTUP
  3. 聯絡 AWS Support 並要求他們將您的資料庫執行個體移至available狀態。