Amazon RDS for Db2 の既知の問題と制限 - Amazon Relational Database Service

Amazon RDS for Db2 の既知の問題と制限

Amazon RDS for Db2 を使用する際の既知の問題と制限は、以下のとおりです。

認証の制限

Amazon RDS はデフォルトで db2authJCC_ENFORCE_SECMEC に設定します。ただし、ユーザー ID とパスワードの暗号化をオンラインで強制しない場合は、パラメータグループで db2auth パラメータを CLEAR_TEXT に変更することで、この設定を上書きできます。詳細については、「Amazon RDS の DB パラメータグループのパラメータの変更」を参照してください。

フェンスされていないルーチン

RDS for Db2 は、フェンスされていないルーチンの作成と、データのバックアップと復元によるこれらのルーチンの移行をサポートしていません。データベースにフェンスされていないルーチンが含まれているかどうかを確認するには、次の SQL コマンドを実行します。

SELECT 'COUNT:' || count(*) FROM SYSCAT.ROUTINES where fenced='N' and routineschema not in ('SQLJ','SYSCAT','SYSFUN','SYSIBM','SYSIBMADM','SYSPROC','SYSTOOLS')

移行中の非自動ストレージテーブルスペース

RDS for Db2 は、非自動ストレージテーブルスペースの新規作成をサポートしていません。データベースの 1 回限りの移行にネイティブ復元を使用すると、RDS for Db2 は、非自動ストレージテーブルスペースを自動的に自動ストレージテーブルスペースに変換して、データベースを RDS for Db2 に復元します。1 回限りの移行については、「Amazon RDS for Db2 の Linux から Linux への移行」と「Amazon RDS for Db2 の AIX または Windows から Linux への移行」を参照してください。

db2_compatibility_vector パラメータの設定

Amazon RDS では、DB インスタンスの作成時に初期データベースを作成し、関連するパラメータグループを変更できます。ただし、Db2 では、パラメータグループに db2_compatibility_vector パラメータを設定する場合は、まずカスタムパラメータグループでそのパラメータを変更し、データベースなしで DB インスタンスを作成してから、rdsadmin.create_database ストアドプロシージャを使用してデータベースを作成する必要があります。

db2_compatibility_vector パラメータを設定するには
  1. カスタムパラメータグループを作成します。(デフォルトのパラメータグループを変更することはできません。)

  2. パラメータを変更します

  3. DB インスタンスを作成します

  4. rdsadmin.create_database ストアドプロシージャを使用してデータベースを作成します

  5. パラメータグループを、データベースを含む DB インスタンスに関連付けます。

INVALID パッケージを含むデータベースの移行

RESTORE コマンドを使用して INVALID パッケージを含む Db2 データベースを RDS for Db2 に移行すると、データベースの使用開始時に問題が発生する可能性があります。INVALID パッケージは、DB インスタンスユーザー rdsdb の認証設定と PUBLIC からの認証の削除が原因で問題を引き起こす可能性があります。INVALID パッケージにより、以下のコマンドは失敗します。

  • db2updv115

  • db2 "call SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS()"

RESTORE コマンドを使用してデータベースを移行する前に、次のコマンドを実行して、データベースに INVALID パッケージが含まれていないことを確認してください。

db2 "select count(*) from sysibm.sysroutines where valid = 'N'"

コマンドが 0 より大きい数を返す場合は、次のコマンドを呼び出します。

db2 "call SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS()"

その後、前のコマンドを呼び出して、データベースに INVALID パッケージが含まれていないことを確認します。

db2 "select count(*) from sysibm.sysroutines where valid = 'N'"

これで、データベースのバックアップを作成し、RDS for Db2 DB インスタンスに復元する準備が整いました。