針對 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 RDS Custom for SQL Server 的資料庫問題進行故障診斷

檢視 RDS Custom 事件

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

若要使用 檢視 RDS Custom 事件通知 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 Custom 事件

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 區域中。

  • 當您 AWS 區域 第一次在 中請求建立 CEV 時,RDS Custom 會建立 S3 儲存貯體來存放 RDS Custom 資源 (例如 CEV 成品、 AWS CloudTrail 日誌和交易日誌)。

    如果 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 匯入檔案以建立 CEVs MediaImport 服務尚未整合 AWS CloudTrail。因此,如果您在 CloudTrail 中開啟 Amazon RDS 的資料記錄功能,不會記錄對 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 的相關資訊,請參閱 修正 RDS Custom for SQL Server 中不支援的組態

下表包含支援周邊傳送的通知和事件描述,以及如何修正這些通知和事件。這些通知和支援周邊可能會變更。如需支援周邊的相關背景,請參閱 RDS Custom 支援周邊。如需事件說明,請參閱 Amazon RDS 事件類別和事件訊息

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

SP-O0000

手動不支援的組態

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,原因為:

若要解決此問題,請建立 支援 案例。

AWS 資源 (基礎設施)

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

SP-O1001

Amazon Elastic Block Store (Amazon EBS) 磁碟區

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

除了從 Amazon Machine Image (AMI) 建立的根磁碟區之外,RDS Custom 會建立兩種類型的 EBS 磁碟區,並將其與 EC2 執行個體建立關聯:

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

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

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

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

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

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

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

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

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

SP-O1002

Amazon Elastic Block Store (Amazon EBS) 磁碟區

EBS volume_id 已從 EC2 執行個體 【ec2_id】 分離。您無法從此執行個體分離原始磁碟區。若要解決問題,請將 volume_id 重新連接至 ec2_id

除了從 Amazon Machine Image (AMI) 建立的根磁碟區之外,RDS Custom 會建立兩種類型的 EBS 磁碟區,並將其與 EC2 執行個體建立關聯:

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

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

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

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

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

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

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

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

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 volume_id 已修改如下:大小 【X】 至 【Y】、類型 【N】 至 【M】,或 IOPS 【J】 至 【K】。 若要解決問題,請還原修改。

除了從 Amazon Machine Image (AMI) 建立的根磁碟區之外,RDS Custom 會建立兩種類型的 EBS 磁碟區,並將其與 EC2 執行個體建立關聯:

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

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

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

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

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

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

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

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

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-new】,屬性 【att2】 從 【val-old】 變更為 【val-new】。若要解決問題,請還原至原始值。

SP-O1006

Amazon EC2 執行個體狀態

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

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

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

    aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep DBInstanceStatus
  2. 刪除 RDS Custom for Oracle 資料庫執行個體。

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-1008

Amazon SQS 許可

Amazon SQS 缺少許可。請檢查 IAM 執行個體描述檔、VPC 端點政策和相依服務連線的許可,然後再試一次。

您可以透過確保與主機相關聯的 IAM 設定檔具有下列許可來解決此問題:

"SQS:SendMessage" "SQS:ReceiveMessage" "SQS:DeleteMessage" "SQS:GetQueueUrl"

SP-1009

Amazon Simple Queue Service (Amazon SQS)

SQS 佇列 【%s】 已刪除且無法復原。若要解決此問題,請重新建立佇列。

重新建立 Amazon SQS 佇列。

作業系統

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

SP-O2001

RDS Custom 代理程式狀態

RDS Custom 代理程式未在 EC2 執行個體 【ec2_id】 上執行。確定代理程式在 【ec2_id】 上執行。

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

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

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

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

    service rdscustomagent start

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

SP-O2002

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

EC2 執行個體 【ec2_id】 上的 Systems Manager 代理程式無法連線。請確定您已正確設定網路、代理程式和 IAM 許可。

SSM Agent 必須一律在執行中。RDS Custom 代理程序必須負責確定 Systems Manager 代理程式在執行中。如果 SSM 代理程式已終止並重新啟動,RDS Custom 代理程式會將指標發佈至 CloudWatch。RDS Custom 代理程式具有指標警示,設定為在每次重新啟動的前三分鐘觸發。支援周邊也會每 30 分鐘監控主機上 SSM Agent 的程序狀態。

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

SP-O2003

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

EC2 執行個體 【ec2_id】 上的 Systems Manager 代理程式多次當機。如需詳細資訊,請參閱 SSM Agent 故障診斷文件。

如需詳細資訊,請參閱針對 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 分鐘內變成可用。為避免未來移出周邊,請透過選項群組修改您的時區。如需詳細資訊,請參閱Oracle 時區

SP-O2005

sudo 組態

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

支援周邊會驗證特定作業系統使用者是否可在主機上執行特定命令。它會監控sudo組態,並將其與支援的狀態進行比較。

如果不支援sudo組態,RDS Custom 會嘗試覆寫組態,並返回先前的支援狀態。如果嘗試成功,RDS Custom 會傳送下列通知:

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

如果覆寫不成功,您的資料庫執行個體會保持在不支援的組態狀態。若要解決此問題,請還原 sudoers.d/ 檔案內的變更或修正許可。

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

  2. 執行下列命令。

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

支援周邊判斷支援sudo組態後,RDS Custom for Oracle 資料庫執行個體會在 30 分鐘內可供使用。

SP-O2006

S3 儲存貯體可存取性

RDS Custom 自動化無法從 EC2 執行個體 【ec2_id】 上的 S3 儲存貯體下載檔案。檢查您的聯網組態,並確保執行個體允許往返 S3 的連線。

SP-2007

高可用性軟體解決方案版本

執行個體的 HA 解決方案與預期的版本不同。若要解決此問題,請建立 AWS 支援 案例。

建立 AWS 支援 案例。

資料庫

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

SP-O3001

資料庫封存延遲目標

EC2 執行個體 【ec2_id】 上的 ARCHIVE_LAG_TARGET 參數超出建議範圍 value_range。若要解決問題,請將 參數設定為 value_range 內的值。

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

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

  2. 連線至 RDS Custom for Oracle 資料庫執行個體

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

    ALTER SYSTEM SET ARCHIVE_LAG_TARGET=300 SCOPE=BOTH;

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

SP-O3002

Oracle Data Guard 角色

EC2 執行個體 【ec2_id】 上的 Oracle Data Guard 不支援資料庫角色 【role_name】。若要解決問題,請將 DATABASE_ROLE 參數設定為 PRIMARY 或 PHYSICAL STANDBY。

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

將 Oracle Data Guard 資料庫角色還原至支援的值
  1. 執行下列陳述式來檢查 Oracle Data Guard 角色:

    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

資料庫運作狀態

Oracle 資料庫的 SMON 程序處於殭屍狀態。若要解決此問題,請手動復原 EC2 執行個體 【ec2_id】 上的資料庫,開啟資料庫,然後立即備份。如需詳細資訊,請聯絡 支援。

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

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

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

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

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

SP-O3004

資料庫日誌模式

EC2 執行個體 【ec2_id】 上的資料庫日誌模式已變更為 【value_b】。若要解決問題,請將日誌模式設定為 【value_a】。

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

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

    SELECT LOG_MODE FROM V$DATABASE;

    或者,您可以在 SQL*Plus 中執行下列命令:

    ARCHIVE LOG LIST
  3. 執行下列 SQL*Plus 命令來啟動一致的關機。

    SHUTDOWN IMMEDIATE

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

SP-O3005

Oracle 首頁路徑

EC2 執行個體 【ec2_id】 上的 Oracle 首頁已變更為 new_path。若要解決此問題,請將 設定還原為 old_path

SP-O3006

資料庫唯一名稱

EC2 執行個體 【ec2_id】 上的資料庫唯一名稱已變更為 new_value。若要解決問題,請將名稱還原為 old_value

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

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

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

  4. 執行下列 SQL 陳述式以啟動一致的關機。

    SHUTDOWN IMMEDIATE;

RDS Custom 代理程式會自動重新啟動資料庫執行個體,並將日誌模式設定為 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 Custom for 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. 聯絡 支援 並要求他們將資料庫執行個體移至 available 狀態。