

# Amazon RDS for Oracle でマイナーバージョンアップグレードの事前チェックを実行する
<a name="USER_UpgradeDBInstance.Oracle.Precheck"></a>

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

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

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

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

**Topics**
+ [マイナーバージョンアップグレードの事前チェックの実行](#USER_UpgradeDBInstance.Oracle.Precheck.Running)
+ [事前チェックの結果の表示](#USER_UpgradeDBInstance.Oracle.Precheck.Viewing)
+ [事前チェックの結果の解釈](#USER_UpgradeDBInstance.Oracle.Precheck.Interpreting)
+ [事前チェックがチェックする内容](#USER_UpgradeDBInstance.Oracle.Precheck.Checks)
+ [事前チェックを実行するタイミング](#USER_UpgradeDBInstance.Oracle.Precheck.When)

## マイナーバージョンアップグレードの事前チェックの実行
<a name="USER_UpgradeDBInstance.Oracle.Precheck.Running"></a>

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.` になると終了します。

## 事前チェックの結果の表示
<a name="USER_UpgradeDBInstance.Oracle.Precheck.Viewing"></a>

ログファイルを読み取るには、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 インスタンスディレクトリ内のファイルの読み取り](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles)」を参照してください。

## 事前チェックの結果の解釈
<a name="USER_UpgradeDBInstance.Oracle.Precheck.Interpreting"></a>

ログには、チェックごとに 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 インスタンスが合格したことを確認します。

## 事前チェックがチェックする内容
<a name="USER_UpgradeDBInstance.Oracle.Precheck.Checks"></a>

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



| チェック | 失敗する条件 | 
| --- | --- | 
| 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 | 分散トランザクションが未解決。 | 

## 事前チェックを実行するタイミング
<a name="USER_UpgradeDBInstance.Oracle.Precheck.When"></a>

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

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

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