

# Amazon RDS for Db2 のトラブルシューティング
<a name="db2-troubleshooting"></a>

以降のコンテンツは、RDS for Db2 で発生する可能性のある問題のトラブルシューティングに役立ちます。

Amazon RDS の一般的な問題のトラブルシューティングの詳細については、「[Amazon RDS のトラブルシューティング](CHAP_Troubleshooting.md)」を参照してください。

**Topics**
+ [データベース接続エラー](#db2-database-connection-error)
+ [ファイル I/O エラー](#db2-file-input-output-error)
+ [ストアドプロシージャエラー](#db2-troubleshooting-stored-procedures)

## データベース接続エラー
<a name="db2-database-connection-error"></a>

次のエラーメッセージは、サーバーに十分なメモリがないため、データベースの接続に失敗したことを示しています。

```
SQL1643C The database manager failed to allocate shared memory because the
database manager instance memory limit has been reached.
```

DB インスタンスのメモリを増やしてから、データベースに再度接続してください。データベースのメモリ使用量と推奨事項については、「[Amazon RDS for Db2 DB インスタンス上の複数のデータベース](db2-multiple-databases.md)」を参照してください。RDS for Db2 データベースのメモリを更新する方法については、「[rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param)」を参照してください。

## ファイル I/O エラー
<a name="db2-file-input-output-error"></a>

`LOAD` コマンドを使用したり、`rdsadmin.restore_database` ストアドプロシージャを呼び出したりすると、さまざまな理由によるファイル I/O エラーが発生することがあります。

例えば、次の `LOAD` コマンドを実行したとします。

```
db2 "call sysproc.admin_cmd('load from "DB2REMOTE://s3test//public/datapump/t6.del" of del lobs from "DB2REMOTE://s3test/public/datapump/" modified by lobsinfile MESSAGES ON SERVER insert INTO RDSDB.t6 nonrecoverable ')"
```

`LOAD` コマンドは次のメッセージを返します。

```
  Result set 1
  --------------

  ROWS_READ            ROWS_SKIPPED         ROWS_LOADED          ROWS_REJECTED        ROWS_DELETED         ROWS_COMMITTED       ROWS_PARTITIONED     NUM_AGENTINFO_ENTRIES MSG_RETRIEVAL                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    MSG_REMOVAL
  -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- --------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
                     -                    -                    -                    -                    -                    -                    -                     - SELECT SQLCODE, MSG FROM TABLE(SYSPROC.ADMIN_GET_MSGS('1594987316_285548770')) AS MSG                                                                                                                                                                                                                                                                                                                                                                                                                                            CALL SYSPROC.ADMIN_REMOVE_MSGS('1594987316_285548770')

  1 record(s) selected.

  Return Status = 0

SQL20397W  Routine "SYSPROC.ADMIN_CMD" execution has completed, but at least
one error, "SQL1652", was encountered during the execution. More information
is available.  SQLSTATE=01H52
```

エラーメッセージを表示するには、前のレスポンスで提案したように SQL コマンドを実行します。`SELECT SQLCODE, MSG FROM TABLE(SYSPROC.ADMIN_GET_MSGS('1594987316_285548770')) AS MSG` は次のメッセージを返します。

```
SQLCODE   MSG
--------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL2025N  An I/O error occurred. Error code “438”. Media on which this error occurred: “DB2REMOTE://s3test//public/datapump/t6.del”

SQL3500W The utility is beginning the LOAD phase at time “07/05/2024 21:21:48.082954”

SQL1652N File I/O error occurred
```

Db2 診断ログには、次のようなログファイルが含まれています。

```
2024-07-05-21.20.09.440609+000 I1191321E864          LEVEL: Error
PID     : 2710                 TID : 139619509200640 PROC : db2sysc 0
INSTANCE: rdsdb                NODE : 000            DB   : NTP
APPHDL  : 0-12180              APPID: xxx.xx.x.xxx.xxxxx.xxxxxxxxxxxx
UOWID   : 5                    ACTID: 1
AUTHID  : ADMIN                HOSTNAME: ip-xx-xx-x-xx
EDUID   : 147                  EDUNAME: db2lmr 0
FUNCTION: DB2 UDB, oper system services, sqloS3Client_GetObjectInfo, probe:219
MESSAGE : ZRC=0x870F01B6=-2029059658=SQLO_FAILED
          "An unexpected error is encountered"
DATA #1 : String, 29 bytes
S3:HeadObject request failed.
DATA #2 : signed integer, 4 bytes
99
DATA #3 : String, 0 bytes
Object not dumped: Address: 0x00007EFC08A9AE38 Size: 0 Reason: Zero-length data
DATA #4 : String, 33 bytes
curlCode: 28, Timeout was reached
```

このファイル I/O エラーは、さまざまなシナリオによって発生する可能性があります。例えば、RDS for Db2 DB インスタンスの作成に使用したセキュリティグループの VPC に、Amazon S3 ゲートウェイエンドポイントがない可能性があります。このエンドポイントがない場合、RDS for Db2 は Amazon S3 にアクセスできません。RDS for Db2 DB インスタンスがプライベートサブネットに存在する場合は、Amazon S3 ゲートウェイエンドポイントが必要です。Amazon RDS サブネットグループを設定することで、DB インスタンスがプライベートとパブリックのどちらのサブネットを使用するかを指定できます。詳細については、「[DB サブネットグループの使用](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Subnets)」を参照してください。

**Topics**
+ [ステップ 1: これにより、Amazon S3 用の VPC ゲートウェイエンドポイントを作成する](#db2-creating-endpoint)
+ [ステップ 2: Amazon S3 の VPC ゲートウェイエンドポイントが存在することを確認する](#db2-confirming-endpoint)

### ステップ 1: これにより、Amazon S3 用の VPC ゲートウェイエンドポイントを作成する
<a name="db2-creating-endpoint"></a>

RDS for Db2 DB インスタンスから Amazon S3 と対話するには、VPC を作成し、続いてプライベートサブネットの Amazon S3 ゲートウェイエンドポイントを作成します。

**S3 の VPC ゲートウェイエンドポイントを作成するには**

1. VPC を作成します。詳細については、「*Amazon Virtual Private Cloud ユーザーガイド*」の「[VPC を作成する](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html)」を参照してください。

1. プライベートサブネットの Amazon S3 ゲートウェイエンドポイントを作成します。詳細については、*「AWS PrivateLink ガイド*」の「[Gateway endpoints](https://docs.aws.amazon.com/vpc/latest/privatelink/gateway-endpoints.html)」を参照してください。

### ステップ 2: Amazon S3 の VPC ゲートウェイエンドポイントが存在することを確認する
<a name="db2-confirming-endpoint"></a>

AWS マネジメントコンソールまたは AWS CLI を使用して、Amazon S3 ゲートウェイエンドポイントが正常に作成されたことを確認します。

#### コンソール
<a name="db2-confirming-endpoing-console"></a>

**Amazon S3 ゲートウェイエンドポイントを確認するには**

1. AWS マネジメントコンソール にサインインし、[https://console.aws.amazon.com/vpc](https://console.aws.amazon.com/vpc) で Amazon VPC コンソールを開きます。

1.  コンソールの右上で、VPC の AWS リージョン を選択します。

1. 作成した VPC を選択します。

1. **[リソースマップ]** タブの **[ネットワーク接続]** で、Amazon S3 ゲートウェイエンドポイントがリストに表示されていることを確認します。

#### AWS CLI
<a name="db2-confirming-endpoint-cli"></a>

Amazon S3 ゲートウェイエンドポイントを確認するには、[https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) コマンドを実行します。次の例では、*vpc\$1id* を VPC ID に、*region* を AWS リージョンに、*profile* をプロファイル名に置き換えてください。

Linux、macOS、Unix の場合:

```
aws ec2 describe-vpc-endpoints \
    --filters "Name=vpc-id,Values=$vpc_id" \
    "Name=service-name,\
    Values=com.amazonaws.${region}.s3" \
    --region $region --profile=$profile \
    --query "VpcEndpoints[*].VpcEndpointId" --output text
```

Windows の場合:

```
aws ec2 describe-vpc-endpoints ^
    --filters "Name=vpc-id,Values=$vpc_id" ^
    "Name=service-name,^
    Values=com.amazonaws.${region}.s3" ^
    --region $region --profile=$profile ^
    --query "VpcEndpoints[*].VpcEndpointId" --output text
```

Amazon S3 ゲートウェイエンドポイントが存在する場合、このコマンドプロシージャによって、次の例のような出力が生成されます。

```
[
    "vpce-0ea810434ff0b97e4"
]
```

Amazon S3 ゲートウェイエンドポイントが存在しない場合、このコマンドプロシージャによって、次の例のような出力が生成されます。

```
[]
```

Amazon S3 ゲートウェイエンドポイントがリストに表示されない場合は、「[ステップ 1: これにより、Amazon S3 用の VPC ゲートウェイエンドポイントを作成する](#db2-creating-endpoint)」の手順を実行してください。

## ストアドプロシージャエラー
<a name="db2-troubleshooting-stored-procedures"></a>

このセクションでは、ストアドプロシージャを呼び出すときに返されるさまざまなエラーとその解決方法について説明します。


| Category | ストアドプロシージャエラー | 
| --- | --- | 
|  データベース  |  [rdsadmin.activate\$1database エラー](#db2-troubleshooting-activate-database-sp-errors)  | 
|  データベース  |  [rdsadmin.backup\$1database エラー](#db2-troubleshooting-backup-database-sp-errors)  | 
|  データベース  |  [rdsadmin.create\$1database エラー](#db2-troubleshooting-create-database-sp-errors)  | 
|  データベース  |  [rdsadmin.deactivate\$1database エラー](#db2-troubleshooting-deactivate-database-sp-errors)  | 
|  データベース  |  [rdsadmin.drop\$1database エラー](#db2-troubleshooting-drop-database-sp-errors)  | 
|  データベース  |  [rdsadmin.reactivate\$1database エラー](#db2-troubleshooting-reactivate-database-sp-errors)  | 
|  データベース  |  [rdsadmin.restore\$1database エラー](#db2-troubleshooting-restore-database-sp-errors)  | 
|  データベース  |  [rdsadmin.update\$1db\$1param エラー](#db2-troubleshooting-update-db-param-sp-errors)  | 
|  テーブルスペース  |  [rdsadmin.alter\$1tablespace エラー](#db2-troubleshooting-alter-tablespace-sp-errors)  | 

### rdsadmin.activate\$1database エラー
<a name="db2-troubleshooting-activate-database-sp-errors"></a>

[rdsadmin.activate\$1database](db2-sp-managing-databases.md#db2-sp-activate-database) ストアドプロシージャを呼び出すと、以下のエラーが発生する場合があります。


| エラー | エラーメッセージ | 
| --- | --- | 
|  [Failed to allocate shared memory](#activate-database-sp-failed-to-allocate-shared-memory)  |  `SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.`  | 
|  [Unable to activate because of running processes](#activate-database-sp-unable-to-activate-processes)  |  `The database can’t be activated because it's in the process of being created or restored.`  | 

**共有メモリの割り当てに失敗した**

次のエラーメッセージは、DB インスタンスに十分なメモリがないため、ストアドプロシージャがデータベースのアクティブ化に失敗したことを示しています。

```
SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.
```

DB インスタンスのメモリを増やしてから、`rdsadmin.activate_database` ストアドプロシージャを再度呼び出してください。データベースのメモリ使用量と推奨事項については、「[Amazon RDS for Db2 DB インスタンス上の複数のデータベース](db2-multiple-databases.md)」を参照してください。

**実行中のプロセスが原因でアクティブ化できない**

次のエラーメッセージは、`rdsadmin.create_database` または `rdsadmin.restore_database` ストアドプロシージャが実行されているため、ストアドプロシージャがデータベースをアクティブ化できなかったことを示しています。

```
The database can’t be activated because it's in the process of being created or restored.
```

数分間待ってから、再度 `rdsadmin.activate_database` ストアドプロシージャを呼び出してください。

### rdsadmin.alter\$1tablespace エラー
<a name="db2-troubleshooting-alter-tablespace-sp-errors"></a>

[rdsadmin.alter\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-alter-tablespace) ストアドプロシージャを呼び出すと、以下のエラーが発生する場合があります。


| エラー | エラーメッセージ | 
| --- | --- | 
|  [Statement not valid](#alter-tablespace-sp-statement-not-valid)  |  `DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: ` `SQL1763N Invalid ALTER TABLESPACE statement for table space "TBSP_TEST" due to reason "12"`  | 
|  [tablespace_prefetch_size value not valid](#alter-tablespace-sp-prefetch-value-not-valid)  |  `Invalid tablespace_prefetch_size. Set value to AUTOMATIC or to a non-zero positive numerical value.`  | 
|  [tablespace_prefetch_size numerical value not valid](#alter-tablespace-sp-prefetch-numerical-value-not-valid)  |  `Invalid tablespace_prefetch_size. The number of pages can't be greater than 32767.`  | 
|  [Parameter can't be used with tablespace_prefetch_size](#alter-tablespace-sp-prefetch-incompatible-parameter)  |  `You can't use tablespace_prefetch_size with {parameter}.`  | 
|  [Tablespace change failed](#alter-tablespace-sp-tablespace-change-failed)  |  `The change to tablespace {tablespace_name} failed because you can only alter LARGE or REGULAR tablespaces.`  | 

**ステートメントが無効です**

次のエラーメッセージは、ストアドプロシージャが相互に排他的なオプションパラメータと他のオプションパラメータを組み合わせたことを示しています。`rdsadmin.alter_tablespace` ストアドプロシージャのオプションパラメータ `reduce_max, reduce_stop`、`reduce_value`、`lower_high_water`、`lower_high_water_stop`、`switch_online` は、相互に排他的です。`rdsadmin.alter_tablespace` ストアドプロシージャで、これらを他のオプションパラメータ (`buffer_pool_name` など) と組み合わせることはできません。組み合わせると、`rdsadmin.get_task_status` ユーザー定義関数を呼び出したときに、このエラーメッセージが Db2 から返されます。

```
DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned: 
SQL1763N Invalid ALTER TABLESPACE statement for table space "TBSP_TEST" due to reason "12"
```

相互に排他的なオプションパラメータを他のオプションパラメータと組み合わせずに、`rdsadmin.alter_tablespace` ストアドプロシージャを再度呼び出します。次に、`rdsadmin.get_task_status` ユーザー定義関数を呼び出します。詳細については、「[rdsadmin.alter\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-alter-tablespace)」および「[rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status)」を参照してください。

**tablespace\$1prefetch\$1size 値が無効です**

次のエラーメッセージは、`tablespace_prefetch_size` を `AUTOMATIC` または正でない数値に設定していないことを示しています。例えば、`testinput` に設定しようとしました。

```
Invalid tablespace_prefetch_size. Set value to AUTOMATIC or to a non-zero positive numerical value.
```

`rdsadmin.alter_tablespace` ストアドプロシージャを再度呼び出し、`tablespace_prefetch_size` を `AUTOMATIC` または正でない数値に設定します。

**tablespace\$1prefetch\$1size の数値が無効です**

次のエラーメッセージは、`tablespace_prefetch_size` を 32767 より大きい数値に設定していることを示しています。

```
Invalid tablespace_prefetch_size. The number of pages can't be greater than 32767.
```

`rdsadmin.alter_tablespace` ストアドプロシージャを再度呼び出し、`tablespace_prefetch_size` を 32767 以下のゼロ以外の正の数値に設定します。

**パラメータは tablespace\$1prefetch\$1size では使用できません**

次のエラーメッセージは、互換性のないパラメータで `tablespace_prefetch_size` を使用しようとしたことを示しています。

```
You can't use tablespace_prefetch_size with {parameter}.
```

`rdsadmin.alter_tablespace` ストアドプロシージャを再度呼び出し、互換性のあるパラメータでのみ `tablespace_prefetch_size` を使用します。`tablespace_prefetch_size` で使用できるパラメータについては、「[rdsadmin.alter\$1tablespace](db2-sp-managing-tablespaces.md#db2-sp-alter-tablespace)」を参照してください。

**テーブルスペースの変更に失敗しました**

次のエラーメッセージは、テーブルスペースを変更しようとしたことを示しています。

```
The change to tablespace {tablespace_name} failed because you can only alter LARGE or REGULAR tablespaces.
```

### rdsadmin.backup\$1database エラー
<a name="db2-troubleshooting-backup-database-sp-errors"></a>

[rdsadmin.backup\$1database](db2-sp-managing-databases.md#db2-sp-backup-database) ストアドプロシージャを呼び出すと、以下のエラーが発生する場合があります。


| エラー | エラーメッセージ | 
| --- | --- | 
|  [Insufficient disk space](#backup-database-sp-insufficient-disk-space)  |  `Aborting task. Reason Backing up your database failed because of insufficient disk space. Increase the storage for your DB instance and rerun the rdsadmin.backup_database stored procedure.`  | 
|  [Internal error](#backup-database-sp-internal-error)  |  `Caught exception during executing task id 104, Aborting task. Reason Internal Error`  | 

**ディスク容量の不足**

次のエラーメッセージは、DB インスタンスにデータベースをバックアップするのに十分なディスク容量がないことを示しています。

```
Aborting task. Reason Backing up your database failed because of insufficient disk space. Increase the storage for your DB instance and rerun the rdsadmin.backup_database stored procedure.
```

データベースをリモートストレージにバックアップするときは、バックアップセッションと作業ファイルに十分な空きディスク容量があることを確認してください。各バックアップセッションは最大 5 GB のデータを処理しますが、トランザクションログ、一時ファイル、継続的なデータベースオペレーションには追加のスペースが必要です。

データベースサイズに基づいて、バックアップ用に次の空きディスク容量を用意することをお勧めします。
+ 5 GB 未満のデータベースの場合 – データベースサイズ \$1 3 GB バッファ
+ 5 GB 以上のデータベースの場合 – 10 GB 以上の空き容量

この空きディスク容量は、バックアップセッション処理、バックアップ中のトランザクションログの蓄積、一時作業ファイル、および設定されている場合は並列バックアップストリームを考慮したものです。詳細については、「[DB インスタンスストレージの容量を増加する](USER_PIOPS.ModifyingExisting.md)」を参照してください。

ディスク容量を増やしてから、[rdsadmin.backup\$1database](db2-sp-managing-databases.md#db2-sp-backup-database) ストアドプロシージャを再度呼び出してください。データベースが正しくバックアップされたことを確認するには、[rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status) を使用してタスクのステータスを確認します。*s3\$1prefix/dbi\$1resource\$1id/db\$1name* の Amazon S3 バケットにバックアップファイルが存在することを確認することもできます。

**内部エラー**

次のエラーメッセージは、ストアドプロシージャで内部エラーが発生したことを示します。

```
Caught exception during executing task id 104, Aborting task. Reason Internal Error
```

[AWS Support](https://aws.amazon.com/premiumsupport/) にお問い合わせください。

### rdsadmin.create\$1database エラー
<a name="db2-troubleshooting-create-database-sp-errors"></a>

[rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database) ストアドプロシージャを呼び出すと、次のエラーが発生する場合があります。


| エラー | エラーメッセージ | 
| --- | --- | 
|  [Failed to allocate shared memory](#create-database-sp-failed-to-allocate-shared-memory)  |  `SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.`  | 

**共有メモリの割り当てに失敗した**

次のエラーメッセージは、DB インスタンスに十分なメモリがないため、ストアドプロシージャがデータベースの作成に失敗したことを示しています。

```
SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.
```

DB インスタンスのメモリを増やしてから、`rdsadmin.create_database` ストアドプロシージャを再度呼び出してください。データベースのメモリ使用量と推奨事項については、「[Amazon RDS for Db2 DB インスタンス上の複数のデータベース](db2-multiple-databases.md)」を参照してください。

データベースが作成されたことを確認するには、[rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases) ユーザー定義関数を呼び出し、新しいデータベースがリストに表示されていることを確認します。

### rdsadmin.deactivate\$1database エラー
<a name="db2-troubleshooting-deactivate-database-sp-errors"></a>

[rdsadmin.deactivate\$1database](db2-sp-managing-databases.md#db2-sp-deactivate-database) ストアドプロシージャを呼び出すと、次のエラーが発生する場合があります。


| エラー | エラーメッセージ | 
| --- | --- | 
|  [Unable to deactivate because of running processes](#deactivate-database-sp-unable-to-deactivate-processes)  |  `The database can’t be deactivated because it's in the process of being created or restored.`  | 

**実行中のプロセスが原因で非アクティブ化できない**

次のエラーメッセージは、`rdsadmin.create_database` または `rdsadmin.restore_database` ストアドプロシージャが実行されているため、ストアドプロシージャがデータベースを非アクティブ化できなかったことを示しています。

```
The database can’t be deactivated because it's in the process of being created or restored.
```

数分間待ってから、再度 `rdsadmin.deactivate_database` ストアドプロシージャを呼び出してください。

### rdsadmin.drop\$1database エラー
<a name="db2-troubleshooting-drop-database-sp-errors"></a>

[rdsadmin.drop\$1database](db2-sp-managing-databases.md#db2-sp-drop-database) ストアドプロシージャを呼び出すと、以下のエラーが発生する場合があります。


| エラー | エラーメッセージ | 
| --- | --- | 
|  [Database name doesn't exist](#drop-database-sp-database-name-not-exist)  |  `SQL0438N Application raised error or warning with diagnostic text: "Cannot drop database. Database with provided name does not exist". SQLSTATE=99993`  | 
|  [Return status = 0](#drop-database-sp-return-status-zero)  |  `Return Status = 0`  | 
|  [Dropping database not allowed](#drop-database-sp-not-allowed)  |  `1 ERROR DROP_DATABASE RDSDB 2023-10-10-16.33.03.744122 2023-10-10-16.33.30.143797 - 2023-10-10-16.33.30.098857 Task execution has started. 2023-10-10-16.33.30.143797 Caught exception during executing task id 1, Aborting task. Reason Dropping database created via rds CreateDBInstance api is not allowed. Only database created using rdsadmin.create_database can be dropped`  | 

**データベース名が存在しません**

次のエラーメッセージは、`rdsadmin.drop_database` ストアドプロシージャで誤ったデータベース名を渡したことを示しています。

```
SQL0438N Application raised error or warning with diagnostic text: "Cannot
drop database. Database with provided name does not exist". SQLSTATE=99993
```

正しいデータベース名を使用して `rdsadmin.drop_database` ストアドプロシージャを再度呼び出します。データベースが破棄されたことを確認するには、[rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases) ユーザー定義関数を呼び出し、破棄されたデータベースがリストに表示されていないことを確認します。

**戻りステータス = 0**

次のエラーメッセージは、ストアドプロシージャを完了できなかったことを示しています。

```
Return Status = 0
```

`Return Status = 0` を受け取ったら、[rdsadmin.get\$1task\$1status](db2-user-defined-functions.md#db2-udf-get-task-status) ユーザー定義関数を呼び出します。

**データベースの削除は許可されていません**

次のエラーメッセージは、Amazon RDS コンソールまたは AWS CLI を使用してデータベースを作成したことを示しています。`rdsadmin.drop_database` ストアドプロシージャは、[rdsadmin.create\$1database](db2-sp-managing-databases.md#db2-sp-create-database) ストアドプロシージャを呼び出してデータベースを作成した場合のみ使用できます。

```
1 ERROR DROP_DATABASE RDSDB 2023-10-10-16.33.03.744122 2023-10-10-16.33.30.143797 - 2023-10-10-16.33.30.098857 Task execution has started.
2023-10-10-16.33.30.143797 Caught exception during executing task id 1, Aborting task. 
Reason Dropping database created via rds CreateDBInstance api is not allowed. 
Only database created using rdsadmin.create_database can be dropped
```

Amazon RDS コンソールまたは AWS CLI を使用して作成したデータベースを削除するには、クライアントを使用してデータベースに接続し、適切なコマンドを実行します。

### rdsadmin.reactivate\$1database エラー
<a name="db2-troubleshooting-reactivate-database-sp-errors"></a>

[rdsadmin.reactivate\$1database](db2-sp-managing-databases.md#db2-sp-reactivate-database) ストアドプロシージャを呼び出すと、次のエラーが発生する場合があります。


| エラー | エラーメッセージ | 
| --- | --- | 
|  [Failed to allocate shared memory](#reactivate-database-sp-failed-to-allocate-shared-memory)  |  `SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.`  | 
|  [Unable to reactivate because of running processes](#reactivate-database-sp-unable-to-reactivate-processes)  |  `The database can’t be reactivated because it's in the process of being created or restored.`  | 

**共有メモリの割り当てに失敗した**

次のエラーメッセージは、DB インスタンスに十分なメモリがないため、ストアドプロシージャがデータベースのアクティブ化に失敗したことを示しています。

```
SQL1643C The database manager failed to allocate shared memory because the database manager instance memory limit has been reached.
```

DB インスタンスのメモリを増やしてから、`rdsadmin.activate_database` ストアドプロシージャを再度呼び出してください。データベースのメモリ使用量と推奨事項については、「[Amazon RDS for Db2 DB インスタンス上の複数のデータベース](db2-multiple-databases.md)」を参照してください。

**実行中のプロセスが原因で再アクティブ化できない**

次のエラーメッセージは、`rdsadmin.create_database` または `rdsadmin.restore_database` ストアドプロシージャが実行されているため、ストアドプロシージャがデータベースを再アクティブ化できなかったことを示しています。

```
The database can’t be reactivated because it's in the process of being created or restored.
```

数分間待ってから、再度 `rdsadmin.reactivate_database` ストアドプロシージャを呼び出してください。

### rdsadmin.restore\$1database エラー
<a name="db2-troubleshooting-restore-database-sp-errors"></a>

[rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database) ストアドプロシージャを呼び出すと、次のエラーが発生する可能性があります。


| エラー | エラーメッセージ | 
| --- | --- | 
|  [Insufficient disk space](#restore-database-sp-insufficient-disk-space)  |  `Aborting task. Reason Restoring your database failed because of insufficient disk space. Increase the storage for your DB instance and rerun the rdsadmin.restore_database stored procedure.`  | 
|  [Internal error](#restore-database-sp-internal-error)  |  `Caught exception during executing task id 104, Aborting task. Reason Internal Error`  | 
|  [Non-fenced routines not allowed](#restore-database-sp-non-fenced-routines)  |  `Caught exception during executing task id 2, Aborting task. Reason Non fenced routines are not allowed. Please delete the routines and retry the restore.`  | 
| [Tablespaces not restored](#restore-database-sp-tablespaces-not-restored) |  `Reason SQL0970N The system attempted to write to a read-only file. Reason SQL2563W The Restore process has completed successfully. However one or more table spaces from the backup were not restored.`  | 

**ディスク容量の不足**

次のエラーメッセージは、DB インスタンスにデータベースを復元するのに十分なディスク容量がないことを示しています。

```
Aborting task. Reason Restoring your database failed because of insufficient disk space. Increase the storage for your DB instance and rerun the rdsadmin.restore_database stored procedure.
```

DB インスタンスの空き容量は、バックアップイメージの 2 倍以上である必要があります。バックアップイメージが圧縮されている場合、DB インスタンスの空き容量はバックアップイメージの 3 倍以上である必要があります。詳細については、「[DB インスタンスストレージの容量を増加する](USER_PIOPS.ModifyingExisting.md)」を参照してください。

ディスク容量を増やしてから、`rdsadmin.restore_database` ストアドプロシージャを再度呼び出してください。データベースが復元されたことを確認するには、[rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases) ユーザー定義関数を呼び出し、復元されたデータベースがリストに表示されていることを確認します。

**内部エラー**

次のエラーメッセージは、ストアドプロシージャで内部エラーが発生したことを示します。

```
Caught exception during executing task id 104, Aborting task. Reason Internal Error
```

[AWS Support](https://aws.amazon.com/premiumsupport/) にお問い合わせください。

**フェンスなしのルーチンは許可されません**

次のエラーメッセージは、データベースにフェンスのないルーチンが含まれていることを示します。

```
Caught exception during executing task id 2, Aborting task. Reason Non fenced routines are not allowed. Please delete the routines and retry the restore.
```

RDS for Db2 は、フェンスされていないルーチンをサポートしていません。フェンスされていないルーチンをソースデータベースから削除し、もう一度 `rdsadmin.restore_database` を呼び出します。データベースが復元されたことを確認するには、[rdsadmin.list\$1databases](db2-user-defined-functions.md#db2-udf-list-databases) ユーザー定義関数を呼び出し、復元されたデータベースがリストに表示されていることを確認します。詳細については、「[フェンスされていないルーチン](db2-known-issues-limitations.md#db2-known-issues-limitations-non-fenced-routines)」を参照してください。

**テーブルスペースが復元されていません**

次のエラーメッセージは、RDS for Db2 がデータベースを正常に復元したが、1 つ以上のテーブルスペースを復元できなかったことを示しています。

```
Reason SQL0970N The system attempted to write to a read-only file.
Reason SQL2563W The Restore process has completed successfully. However one or more table spaces from the backup were not restored.
```

RDS for Db2 は、非自動ストレージをサポートしていません。非自動ストレージを自動ストレージに変換してから、もう一度 `rdsadmin.restore_database` を呼び出します。詳細については、「IBM Db2 ドキュメント」の「[非自動ストレージストレージデータベースを自動ストレージを使用するように変換する](https://www.ibm.com/docs/en/db2/11.5?topic=databases-converting-nonautomatic-storage-database-use-automatic-storage)」を参照してください。

非自動 SMS ストレージのデータベースは、手動で復元する必要があります。データベースに非自動 SMS ストレージがある場合は、[AWS サポート](https://aws.amazon.com/premiumsupport/)にお問い合わせください。

非自動ストレージと 1 回限りの移行の詳細については、「[移行中の非自動ストレージテーブルスペース](db2-known-issues-limitations.md#db2-known-issues-limitations-non-automatic-storage-tablespaces)」を参照してください。

### rdsadmin.update\$1db\$1param エラー
<a name="db2-troubleshooting-update-db-param-sp-errors"></a>

[rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param) ストアドプロシージャを呼び出すと、次のエラーが発生する場合があります。


| エラー | エラーメッセージ | 
| --- | --- | 
|  [Parameter not supported or modifiable](#update-db-param-sp-parameter-not-supported-modifiable)  | SQL0438N Application raised error or warning with diagnostic text: "Parameter is either not supported or not modifiable to customers". SQLSTATE=99993 | 

**パラメータはサポートされていないか、変更不可です**

次のエラーメッセージは、変更しようとしたデータベース設定パラメータがサポートされていないか、変更不可であることを示しています。

```
SQL0438N Application raised error or warning with diagnostic text: "Parameter
is either not supported or not modifiable to customers". SQLSTATE=99993
```

パラメータグループを参照することで、変更可能なパラメータを確認できます。詳細については、「[Amazon RDS のDB パラメータグループのパラメータ値の表示](USER_WorkingWithParamGroups.Viewing.md)」を参照してください。