View a markdown version of this page

Amazon RDS for Oracle でマイナーバージョンアップグレードの事前チェックを実行する - Amazon Relational Database Service

Amazon RDS for Oracle でマイナーバージョンアップグレードの事前チェックを実行する

Amazon RDS for Oracle が DB マイナーバージョンアップグレードを実行する前に、DB インスタンスがアップグレードの完了を許可する状態であることを確認します。チェックで問題が見つかった場合、修正するまでアップグレードを続行できません。

これらのチェックは、アップグレードを開始せずにいつでも自分で実行できます。これにより、メンテナンスウィンドウの前に問題を見つけて修正できます。チェックを実行するには、Amazon RDS プロシージャ rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade を使用します。事前チェックは読み取り専用です。データや設定は変更されません。

プロシージャはタスク ID を返します。事前チェックは、BDUMP ディレクトリの dbtask-task_id.log という名前のログファイルに結果を書き込みます。ログファイルをダウンロードするには、「データベースログファイルのダウンロード」を参照してください。

注記

プライマリ DB インスタンスで事前チェックを実行します。リードレプリカでの事前チェックの実行はサポートされていません。

マイナーバージョンアップグレードの事前チェックの実行

DB インスタンスが DB マイナーバージョンアップグレードの準備ができているかどうかを確認するには、プロシージャ rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade を実行します。プロシージャでは、パラメータは使用しません。次のクエリは事前チェックを開始し、タスク ID を返します。

SQL> SELECT rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade() AS task_id FROM DUAL; TASK_ID ------------------ 1784924903020-9

タスク ID を SQL クライアント変数に保存し、その変数を他のステートメントで使用することもできます。

SQL> VAR task_id VARCHAR2(80); SQL> EXEC :task_id := rdsadmin.rdsadmin_precheck_tasks.precheck_minor_upgrade(); PL/SQL procedure successfully completed.

事前チェックはバックグラウンドで実行されます。ログの最後の行が The task finished successfully. または The task failed. になると終了します。

事前チェックの結果の表示

ログファイルを読み取るには、Amazon RDS プロシージャ rdsadmin.rds_file_util.read_text_file を実行します。ファイル名にタスク ID を含めます。次の例は、チェックで問題が見つからなかった事前チェックを示しています。

SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------------------------------------------------------- 2026-08-28 18:30:20.461 UTC [INFO ] Starting minor version upgrade precheck... 2026-08-28 18:30:20.461 UTC [INFO ] NOTE: This precheck validates against the current engine version's known checks. Target-version-specific checks (e.g., autoupgrade) are not included. 2026-08-28 18:30:20.470 UTC [INFO ] CHECK: FreeStorageSpace - PASSED 2026-08-28 18:30:20.515 UTC [INFO ] CHECK: SystemTablespace - PASSED 2026-08-28 18:30:20.523 UTC [INFO ] CHECK: AuditTablespace - PASSED 2026-08-28 18:30:20.541 UTC [INFO ] CHECK: RedoApplyLag - SKIPPED: the DB instance has no read replicas 2026-08-28 18:30:20.612 UTC [INFO ] CHECK: MdsysUser - PASSED 2026-08-28 18:30:20.688 UTC [INFO ] CHECK: ConflictingSynonyms - PASSED 2026-08-28 18:30:20.731 UTC [INFO ] CHECK: WorkspaceManager - PASSED 2026-08-28 18:30:20.790 UTC [INFO ] CHECK: SchemaVersionRegistry - PASSED 2026-08-28 18:30:20.846 UTC [INFO ] CHECK: XmlDbSchema - PASSED 2026-08-28 18:30:20.903 UTC [INFO ] CHECK: ApexStatus - PASSED 2026-08-28 18:30:20.955 UTC [INFO ] CHECK: CtxsysSequences - PASSED 2026-08-28 18:30:21.304 UTC [INFO ] CHECK: InvalidSystemObjects - PASSED 2026-08-28 18:30:21.549 UTC [INFO ] CHECK: InvalidTriggers - PASSED 2026-08-28 18:30:21.601 UTC [INFO ] CHECK: PendingDistributedTransactions - PASSED 2026-08-28 18:30:21.602 UTC [INFO ] Summary: 13 passed, 1 skipped, 0 warnings, 0 errors, 0 blockers 2026-08-28 18:30:21.602 UTC [INFO ] Result: PASSED 2026-08-28 18:30:21.602 UTC [INFO ] The task finished successfully.

BDUMP ディレクトリ内のファイルを確認するには、次のクエリを実行します。

SELECT * FROM table(rdsadmin.rds_file_util.listdir('BDUMP')) order by mtime;

このプロシージャ rdsadmin.rds_file_util.read_text_file の詳細については、「DB インスタンスディレクトリ内のファイルの読み取り」を参照してください。

事前チェックの結果の解釈

ログには、チェックごとに 1 行の CHECK: 行が含まれており、その後に Summary: 行と Result: 行が続きます。実行するチェックは、エンジンのバージョン、データベースアーキテクチャ、DB インスタンスの設定によって異なります。各チェックでは、次のいずれかの結果が報告されます。

PASSED

チェックで問題は見つかりませんでした。

FAILED [BLOCKER]

このチェックでは、DB マイナーバージョンのアップグレード前に修正する必要がある問題が検出されました。行には、問題と対処方法が記載されています。

WARN

チェックで確認すべき内容が見つかりました。警告が表示されても、アップグレードはブロックされません。

SKIPPED

このチェックはお使いの DB インスタンスには適用されません。その行に理由が記載されています。

ERROR

チェックを完了できませんでした。事前チェックを再度実行します。

すべてのチェックは、以前のチェックが失敗した場合でも実行されるため、1 つの実行では、事前チェックで検出されたすべての問題が報告されます。チェックで FAILED [BLOCKER] または ERROR が報告された場合、ログには Result: FAILED と表示されます。それ以外の場合は、Result: PASSED が表示されます。

次の例は、1 つの問題が見つかった事前チェックを示しています。

SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------------------------------------------------------- 2026-08-28 18:57:39.105 UTC [INFO ] Starting minor version upgrade precheck... 2026-08-28 18:57:39.105 UTC [INFO ] NOTE: This precheck validates against the current engine version's known checks. Target-version-specific checks (e.g., autoupgrade) are not included. 2026-08-28 18:57:39.112 UTC [INFO ] CHECK: FreeStorageSpace - PASSED 2026-08-28 18:57:39.125 UTC [INFO ] CHECK: SystemTablespace - PASSED 2026-08-28 18:57:39.133 UTC [INFO ] CHECK: AuditTablespace - PASSED 2026-08-28 18:57:39.150 UTC [INFO ] CHECK: RedoApplyLag - SKIPPED: the DB instance has no read replicas 2026-08-28 18:57:39.221 UTC [INFO ] CHECK: MdsysUser - PASSED 2026-08-28 18:57:39.297 UTC [INFO ] CHECK: ConflictingSynonyms - PASSED 2026-08-28 18:57:39.340 UTC [INFO ] CHECK: WorkspaceManager - PASSED 2026-08-28 18:57:39.399 UTC [INFO ] CHECK: SchemaVersionRegistry - PASSED 2026-08-28 18:57:39.455 UTC [INFO ] CHECK: XmlDbSchema - PASSED 2026-08-28 18:57:39.512 UTC [INFO ] CHECK: ApexStatus - PASSED 2026-08-28 18:57:39.564 UTC [INFO ] CHECK: CtxsysSequences - PASSED 2026-08-28 18:57:39.913 UTC [INFO ] CHECK: InvalidSystemObjects - PASSED 2026-08-28 18:57:40.097 UTC [ERROR] CHECK: InvalidTriggers - FAILED [BLOCKER]: The DB instance has triggers that aren't valid. Fix or disable them. 2026-08-28 18:57:40.151 UTC [INFO ] CHECK: PendingDistributedTransactions - PASSED 2026-08-28 18:57:40.152 UTC [INFO ] Summary: 12 passed, 1 skipped, 0 warnings, 0 errors, 1 blocker 2026-08-28 18:57:40.152 UTC [INFO ] RDS can't upgrade the DB instance. Resolve the blockers listed above, and then try again. 2026-08-28 18:57:40.152 UTC [INFO ] Result: FAILED 2026-08-28 18:57:40.152 UTC [INFO ] The task failed.

ログが報告する各問題を修正し、事前チェックを再度実行して DB インスタンスが合格したことを確認します。

事前チェックがチェックする内容

次の表に、各チェックおよび失敗する条件を示します。チェックが失敗すると、ログ内の行に問題とその修正方法が示されます。

チェック 失敗する条件
FreeStorageSpace DB インスタンスの空きストレージが 768 MB 未満。
SystemTablespace SYSTEM または SYSAUX テーブルスペースの空き容量が 300 MB 未満であるか、自動拡張可能ではない。CDB の場合、事前チェックは各コンテナをチェックします。
AuditTablespace 監査テーブルスペースの空き容量が 300 MB 未満であるか、自動拡張可能ではない。
RedoApplyLag リードレプリカの REDO 適用ラグが 5 分を超えている。DB インスタンスにリードレプリカがない場合、スキップされます。
MdsysUser MDSYS ユーザーが Oracle で管理されていない。
ConflictingSynonyms Synonyms が新しい Oracle バージョンが予約されている名前を使用している。
WorkspaceManager Workspace Manager (WMSYS) オブジェクトが存在している。
SchemaVersionRegistry 1 つ以上の SCHEMA_VERSION_REGISTRY ビューが無効。
XmlDbSchema 1 つ以上の XML DB スキーマオブジェクトが無効。
ApexStatus APEX コンポーネントが VALID 状態ではない。
CtxsysSequences CTXSYS スキーマに 3 つの Oracle Text シーケンス (DR_ID_SEQ、MESG_ID_SEQ、THS_SEQ) が存在しない。CDB の場合はスキップされます。
InvalidSystemObjects Oracle が管理するオブジェクトが無効。
InvalidTriggers トリガーが無効。
PendingDistributedTransactions 分散トランザクションが未解決。

事前チェックを実行するタイミング

空きストレージやリードレプリカの遅延など、一部の条件は時間の経過とともに変化します。アップグレードの直前に事前チェックを実行します。DB インスタンスがマイナーバージョンの自動アップグレードを使用している場合は、メンテナンス予定の通知を受信した後、メンテナンスウィンドウの前に事前チェックを実行します。

チェック対象の条件に影響する変更を行った場合は、事前チェックを再度実行してください。例えば、ストレージの追加、テーブルスペースの変更、オブジェクトの削除または再コンパイル、分散トランザクションの解決を行ったら、再度実行します。これらの条件に影響を与えない変更については、結果に変更はありません。例えば、バックアップの取得や DB インスタンスクラスの変更を行っても、結果に変更はありません。

注記

事前チェックは、現在のエンジンバージョンのチェックを実行します。アップグレード先のバージョンに依存するチェックは含まれません。