針對 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 資料庫執行個體。當您嘗試建立或還原資料庫執行個體時,Amazon RDS 會驗證您的環境,並在偵測到任何問題時傳回特定錯誤訊息。

解決所有問題後,請再試一次以建立或還原 RDS Custom for Oracle 資料庫執行個體。

常見許可問題

當您建立或還原 RDS Custom for Oracle 執行個體時,Amazon RDS 會驗證您的環境是否具有必要的許可。如果缺少或拒絕許可,操作會失敗並顯示特定的錯誤訊息。

問題類型 錯誤訊息 Action

IAM 角色存取政策

由於資源不相容,您無法建立資料庫執行個體。下列許可的主機環境驗證失敗:<permission> on resource: <resource>,因為許可問題訊息:User: <user> 未獲授權執行:<permission> on resource: <resource>,因為沒有身分型政策允許 <permission> 動作。

確保列出的必要許可存在,並在包含適當資源的存取政策Allow中設定為 。

許可界限

由於資源不相容,您無法建立資料庫執行個體。下列許可的主機環境驗證失敗:<permission> on resource: <resource>,因為許可問題訊息:User: <user> 未獲授權執行:<permission> on resource: <resource>,並在許可界限中明確拒絕。

確認連接至執行個體角色的許可界限並未限制列出的必要許可和資源。

服務控制政策

由於資源不相容,您無法建立資料庫執行個體。下列許可的主機環境驗證失敗:<permission> on resource: <resource>,因為許可問題與訊息:User: <user> 未獲授權執行:<permission> on resource: <resource> 並在服務控制政策中明確拒絕。

請聯絡您的 AWS Organizations 管理員,並確認連接至您帳戶的 服務控制政策並未限制列出的必要許可和資源。

資源控制政策

由於資源不相容,您無法建立資料庫執行個體。下列許可的主機環境驗證失敗:<permission> on resource: <resource>,因為許可問題與訊息:User: <user> 未獲授權執行:<permission> on resource: <resource>,並在資源控制政策中明確拒絕。

請聯絡您的 AWS Organizations 管理員,並確認連接至您帳戶的資源控制政策並未限制列出的必要許可和資源。

VPC 端點政策

由於資源不相容,您無法建立資料庫執行個體。下列許可的主機環境驗證失敗:<permission> on resource: <resource>,因為許可問題與訊息:User: <user> 未獲授權執行:<permission> on resource: <resource>,且在 VPC 端點政策中明確拒絕。

確保必要的 VPC 端點存在,且連接到它們的政策不會限制列出的必要許可和資源。

聯網問題

除了檢閱 之外步驟 6:設定 RDS Custom for Oracle 的 VPC,請確認下列項目已正確設定,且不會限制對所需 AWS 服務的存取:

連接至 Amazon EC2 執行個體的安全群組

確保安全群組允許 RDS Custom 操作所有必要的傳入和傳出流量。

連接到 VPC 的安全群組

確認 VPC 安全群組允許進出所需 AWS 服務的流量。

VPC 端點

確認所有必要的 VPC 端點都已正確設定並可存取。

網路存取控制清單

檢查網路 ACLs 是否未封鎖 RDS Custom 功能所需的流量。

針對 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 Configuration RDS 事件訊息 Action

SP-O0000

手動不支援的組態

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

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

AWS 資源 (基礎設施)

事件 ID Configuration RDS 事件訊息 Action

SP-O1001

Amazon Elastic Block Store (Amazon EBS) 磁碟區

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

RDS Custom 會建立兩種類型的 EBS磁碟區,除了從 Amazon Machine Image (AMI) 建立的根磁碟區,還會讓它們與 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

RDS Custom 會建立兩種類型的 EBS磁碟區,除了從 Amazon Machine Image (AMI) 建立的根磁碟區,還會讓它們與 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]。若要解決問題,請還原修改。

RDS Custom 會建立兩種類型的 EBS磁碟區,除了從 Amazon Machine Image (AMI) 建立的根磁碟區,還會讓它們與 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 Configuration RDS 事件訊息 Action

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 代理程式必須一律在執行中。RDS Custom 代理程序必須負責確定 Systems Manager 代理程式在執行中。如果 SSM 代理程式已終止並重新啟動,RDS Custom 代理程式會將指標發佈SSM_Agent_Restarted_Or_NotFound至 CloudWatch。RDS Custom 代理程式在do-not-delete-rds-custom-ssm-agent-restarted-or-notfound-ec2-id設定為在前三分鐘每次重新啟動時觸發的指標上具有警示。支援周邊也會每 30 分鐘監控主機上的 SSM 代理程式處理程序狀態。

如需詳細資訊,請參閱針對 SSM Agent 進行故障診斷

SP-O2003

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

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

如需詳細資訊,請參閱針對 SSM Agent 進行故障診斷

SP-O2004

OS 時區

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

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

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

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

  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 Support 案例。

建立 AWS Support 案例。

資料庫

事件 ID Configuration RDS 事件訊息 Action

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] 上的資料庫,開啟資料庫,然後立即備份。如需詳細資訊,請聯絡 Support。

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

讓支援周邊評估您的執行個體狀態
  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. 聯絡 Support 並要求他們將資料庫執行個體移至 available 狀態。