を使用して IBM DB2 for z/OS データベースに接続する AWS Schema Conversion Tool - AWS Schema Conversion Tool

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用して IBM DB2 for z/OS データベースに接続する AWS Schema Conversion Tool

AWS SCT を使用して、スキーマ、コードオブジェクト、アプリケーションコードを Db2 for IBM z/OS から次のターゲットに変換できます。

  • Amazon RDS for MySQL

  • Amazon Aurora My SQL互換エディション

  • Amazon RDS for PostgreSQL

  • Amazon Aurora Postgre SQL互換エディション

Db2 for z/OS をソースデータベースとして使用するための前提条件

IBM Db2 for z/OS バージョン 12 関数レベル 100 データベースバージョンは、Db2 for IBM z/OS バージョン 12 のほとんどの新機能をサポートしていません。このデータベースバージョンは、Db2 バージョン 11 へのフォールバックと Db2 バージョン 11 とのデータ共有をサポートしています。Db2 バージョン 11 でサポートされていない機能の変換を避けるため、IBMDb2 for z/OS データベース関数レベル 500 以上を のソースとして使用することをお勧めします AWS SCT。

次のコード例を使用して、ソース Db2 for IBM z/OS データベースのバージョンを確認できます。

SELECT GETVARIABLE('SYSIBM.VERSION') as version FROM SYSIBM.SYSDUMMY1;

このコードがバージョン DSN12015 以上を返すことを確認してください。

次のコード例を使用して、ソース Db2 for IBM z/OS データベースのAPPLICATION COMPATIBILITY特殊レジスタの値を確認できます。

SELECT CURRENT APPLICATION COMPATIBILITY as version FROM SYSIBM.SYSDUMMY1;

このコードがバージョン V12R1M500 以上を返すことを確認してください。

ソースデータベースとしての Db2 for z/OS の権限

Db2 for z/OS データベースに接続し、システムカタログとテーブルを読み取るのに必要な権限は次のとおりです。

  • SELECT オンSYSIBM。LOCATIONS

  • SELECT オンSYSIBM。SYSCHECKS

  • SELECT オンSYSIBM。SYSCOLUMNS

  • SELECT オンSYSIBM。SYSDATABASE

  • SELECT オンSYSIBM。SYSDATATYPES

  • SELECT オンSYSIBM。SYSDUMMY1

  • SELECT オンSYSIBM。SYSFOREIGNKEYS

  • SELECT オンSYSIBM。SYSINDEXES

  • SELECT オンSYSIBM。SYSKEYCOLUSE

  • SELECT オンSYSIBM。SYSKEYS

  • SELECT オンSYSIBM。SYSKEYTARGETS

  • SELECT オンSYSIBM。SYSJAROBJECTS

  • SELECT オンSYSIBM。SYSPACKAGE

  • SELECT オンSYSIBM。SYSPARMS

  • SELECT オンSYSIBM。SYSRELS

  • SELECT オンSYSIBM。SYSROUTINES

  • SELECT オンSYSIBM。SYSSEQUENCES

  • SELECT オンSYSIBM。SYSSEQUENCESDEP

  • SELECT オンSYSIBM。SYSSYNONYMS

  • SELECT オンSYSIBM。SYSTABCONST

  • SELECT オンSYSIBM。SYSTABLES

  • SELECT オンSYSIBM。SYSTABLESPACE

  • SELECT オンSYSIBM。SYSTRIGGERS

  • SELECT オンSYSIBM。SYSVARIABLES

  • SELECT オンSYSIBM。SYSVIEWS

Db2 for z/OS テーブルを PostgreSQL パーティションテーブルに変換するには、次に示すように RUNSTATSユーティリティを使用して、データベース内のテーブルスペースとテーブルに関する統計を収集します。

LISTDEF YOURLIST INCLUDE TABLESPACES DATABASE YOURDB RUNSTATS TABLESPACE LIST YOURLIST TABLE (ALL) INDEX (ALL KEYCARD) UPDATE ALL REPORT YES SHRLEVEL REFERENCE

前述の例では、YOURDB プレースホルダーをソースデータベースの名前に置き換えます。

ソースとしての Db2 for z/OS への接続

以下の手順を使用して、Db2 for z/OS ソースデータベースを AWS SCTに接続します。

Db2 for IBM z/OS ソースデータベースに接続するには
  1. で AWS Schema Conversion Tool、ソースの追加 を選択します。

  2. [Db2 for z/OS]、[次へ] の順に選択します。

    [Add source] (ソースの追加) ダイアログボックスが表示されます。

  3. [接続名] にデータベースの名前を入力します。この名前が AWS SCT の左側のパネルのツリーに表示されます。

  4. からデータベース認証情報を使用するか AWS Secrets Manager 、手動で入力します。

    • Secrets Manager のデータベース認証情報を使用するには、以下の手順に従ってください。

      1. [AWS シークレット] で、シークレットの名前を選択します。

      2. [入力] を選択すると、Secrets Manager のデータベース接続ダイアログボックスにすべての値が自動的に入力されます。

      Secrets Manager のデータベース認証情報を使用する方法については、「AWS Secrets Manager での の設定 AWS Schema Conversion Tool」を参照してください。

    • Db2 for IBM z/OS ソースデータベース接続情報を手動で入力するには、以下の手順に従います。

      パラメータ アクション
      [Server name] (サーバー名)

      ソースデータベースサーバーのドメインネームシステム (DNS) 名または IP アドレスを入力します。

      Server port

      ソースデータベースサーバーへの接続に使用するポートを入力します。

      場所

      アクセスする Db2 ロケーションの一意名を入力します。

      User name (ユーザー名) と [Password] (パスワード)

      データベース認証情報を入力して、ソースデータベースサーバーに接続します。

      AWS SCT は、プロジェクト内のデータベースに接続する場合にのみ、パスワードを使用してソースデータベースに接続します。ソースデータベースのパスワードが公開されないように、デフォルトではパスワードを保存 AWS SCT しません。 AWS SCT プロジェクトを閉じて再度開くと、必要に応じてソースデータベースに接続するパスワードの入力を求められます。

      を使用する SSL

      Secure Sockets Layer (SSL) を使用してデータベースに接続する場合は、このオプションを選択します。必要に応じて、 SSLタブに次の追加情報を入力します。

      • [信頼ストア]: 証明書を保存している信頼ストアの場所。この場所を [グローバル設定] に追加すると、ここに表示されます。

      Store Password

      AWS SCT は、SSL証明書とデータベースパスワードを保存するための安全なボールトを作成します。このオプションをオンにすると、データベースのパスワードが保存されるため、パスワードを入力しなくてもデータベースにすばやく接続できます。

      [Db2 for z/OS ドライバーパス]

      ソースデータベースへの接続に使用するドライバのパスを入力します。詳細については、「のJDBCドライバーのインストール AWS Schema Conversion Tool」を参照してください。

      ドライバパスをグローバルプロジェクト設定に保存する場合、ドライバパスは接続ダイアログボックスに表示されません。詳細については、「グローバル設定でのドライバパスの保存」を参照してください。

  5. 接続のテストを選択して、 がソースデータベースに接続 AWS SCT できることを確認します。

  6. [Connect] (接続) を選択して、ソースデータベースに接続します。

ターゲットデータベースとしての MySQL の権限

ターゲットとしての MySQL に必要な権限は次のとおりです。

  • CREATE ON *.*

  • ALTER ON *.*

  • DROP ON *.*

  • INDEX ON *.*

  • REFERENCES ON *.*

  • SELECT ON *.*

  • CREATE VIEW ON *.*

  • SHOW VIEW ON *.*

  • TRIGGER ON *.*

  • CREATE ROUTINE ON *.*

  • ALTER ROUTINE ON *.*

  • EXECUTE ON *.*

  • SELECT mysql.proc で

  • INSERT、UPDATEON AWS_DB2ZOS_EXT.*

  • INSERT、UPDATE、DELETEON AWS_DB2ZOS_EXT_DATA.*

  • CREATE TEMPORARY TABLES ON AWS_DB2ZOS_EXT_DATA.*

次のコード例を使用してデータベースユーザーを作成し、権限を付与できます。

CREATE USER 'user_name' IDENTIFIED BY 'your_password'; GRANT CREATE ON *.* TO 'user_name'; GRANT ALTER ON *.* TO 'user_name'; GRANT DROP ON *.* TO 'user_name'; GRANT INDEX ON *.* TO 'user_name'; GRANT REFERENCES ON *.* TO 'user_name'; GRANT SELECT ON *.* TO 'user_name'; GRANT CREATE VIEW ON *.* TO 'user_name'; GRANT SHOW VIEW ON *.* TO 'user_name'; GRANT TRIGGER ON *.* TO 'user_name'; GRANT CREATE ROUTINE ON *.* TO 'user_name'; GRANT ALTER ROUTINE ON *.* TO 'user_name'; GRANT EXECUTE ON *.* TO 'user_name'; GRANT SELECT ON mysql.proc TO 'user_name'; GRANT INSERT, UPDATE ON AWS_DB2ZOS_EXT.* TO 'user_name'; GRANT INSERT, UPDATE, DELETE ON AWS_DB2ZOS_EXT_DATA.* TO 'user_name'; GRANT CREATE TEMPORARY TABLES ON AWS_DB2ZOS_EXT_DATA.* TO 'user_name';

前の例では、user_name ユーザーの名前を入力します。次に、your_password 安全なパスワードを使用します。

Amazon RDS for MySQL をターゲットとして使用するには、 log_bin_trust_function_creatorsパラメータを true に設定し、 character_set_serverを に設定しますlatin1。これらのパラメータを設定するには、新しい DB パラメータグループを作成するか、既存の DB パラメータグループを変更します。

Aurora MySQL をターゲットとして使用するには、 log_bin_trust_function_creatorsパラメータを true に設定し、 character_set_serverを に設定しますlatin1lower_case_table_names パラメータを true に設定します。これらのパラメータを設定するには、新しい DB パラメータグループを作成するか、既存の DB パラメータグループを変更します。

ターゲットデータベースとしての PostgreSQL の権限

PostgreSQL をターゲットとして使用するには、 CREATE ON DATABASE 権限 AWS SCT が必要です。ターゲット PostgreSQL データベースごとにこの権限を付与してください。

Amazon RDS for PostgreSQL をターゲットとして使用するには、 rds_superuser 権限 AWS SCT が必要です。

変換されたパブリックシノニムを使用するには、データベースのデフォルト検索パスを "$user", public_synonyms, public に変更します。

次のコード例を使用してデータベースユーザーを作成し、権限を付与できます。

CREATE ROLE user_name LOGIN PASSWORD 'your_password'; GRANT CREATE ON DATABASE db_name TO user_name; GRANT rds_superuser TO user_name; ALTER DATABASE db_name SET SEARCH_PATH = "$user", public_synonyms, public;

前の例では、user_name ユーザーの名前を入力します。次に、db_name ターゲットデータベースの名前。最後に、your_password 安全なパスワードを使用します。

Postgre ではSQL、スキーマ所有者または のみがスキーマを削除superuserできます。スキーマ所有者が一部のオブジェクトを所有していない場合でも、スキーマとスキーマに含まれるすべてのオブジェクトを削除できます。

異なるユーザーを使用して異なるスキーマを変換し、ターゲットデータベースに適用すると、 AWS SCT がスキーマを削除できない場合にエラーメッセージが表示されることがあります。このエラーメッセージを回避するには、superuser ロールを使用してください。

Db2 for z/OS から PostgreSQL への変換設定

Db2 for z/OS から PostgreSQL への変換設定を編集するには、設定 を選択し、変換設定 を選択します。上部のリストから Db2 for z/OS を選択し、Db2 for z/OS – PostgreSQL または Db2 for z/OS – Amazon Aurora (PostgreSQL 互換) を選択します。 AWS SCT はIBM、Db2 for z/OS から PostgreSQL への変換に使用できるすべての設定を表示します。

の Db2 for z/OS から PostgreSQL への変換設定 AWS SCT には、以下のオプションが含まれています。

  • 変換されたコード内のアクション項目に関するコメントの数を制限する。

    選択した重要度以上のアクションアイテムの変換されたコードにコメントを追加する で、アクションアイテムの重要度を選択します。選択した重要度以上のアクションアイテムの変換されたコードにコメント AWS SCT を追加します。

    たとえば、変換したコード内のコメントの数を最小限に抑えるには、[エラーのみ] を選択します。変換したコードのすべてのアクション項目にコメントを含めるには、[すべてのメッセージ] を選択します。

  • ターゲットデータベース内の制約に固有の名前を生成するには。

    Postgre ではSQL、使用するすべての制約名は一意である必要があります。 AWS SCT は、テーブル名のプレフィックスを制約の名前に追加することで、変換されたコード内の制約の一意の名前を生成できます。 AWS SCT ですべての制約に固有の名前が生成されるようにするには、[制約の固有の名前を生成] を選択します。

  • 変換されたコードの DMLステートメントで列名、式、句の書式を保持するには。

    AWS SCT は、列名、式、および句のレイアウトを、ソースコードと同様の位置と順序でDMLステートメントに保持できます。これを行うには、ステートメント で列名、式、および句の書式を維持する に はい を選択します。 DML

  • テーブルパーティションを変換スコープから除外するには。

    AWS SCT は、変換中にソーステーブルのすべてのパーティションをスキップできます。そのためには、[変換スコープからテーブルパーティションを除外する] を選択します。

  • 増加に応じてパーティション化されたテーブルに自動パーティション化を使用するには。

    データ移行の場合、指定したサイズより大きいすべてのテーブルを自動的にパーティション分割 AWS SCT できます。このオプションを使用するには、[より大きいテーブルのパーティションを強制する] を選択し、テーブルのサイズをギガバイト単位で入力します。次に、このオプションをオンにするときに、partitions の数を入力します。ソースデータベースの直接アクセスストレージデバイス (DASD) のサイズ AWS SCT を考慮します。

    AWS SCT はパーティションの数を自動的に決定できます。そのためには、[パーティション数を比例的に増やす] を選択し、最大パーティション数を入力します。

  • 動的結果セットを refcursor データ型の値の配列として返すには。

    AWS SCT は、動的結果セットを返すソースプロシージャを、追加の出力パラメータとしてオープンリファクタラーの配列を持つプロシージャに変換できます。そのためには、[参照カーソルの配列を使ってすべての動的結果セットを返す] を選択します。

  • 日付と時刻の値を文字列表現に変換する際に使用する標準を指定するには。

    AWS SCT は、サポートされている業界形式のいずれかを使用して、日付と時刻の値を文字列表現に変換できます。そのためには、[日付値の文字列表現を使用する] または [時間値の文字列表現を使用する] を選択します。次に、以下のいずれかの標準を選択します。

    • 国際標準化機構 (ISO)

    • IBM 欧州標準 (EUR)

    • IBM USA 標準 (USA)

    • 日本工業規格 Era (JIS)