AWS DMS のソースとしての SAP ASE データベースの使用 - AWS データベース移行サービス

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

AWS DMS のソースとしての SAP ASE データベースの使用

AWS DMS を使用して、SAP Adaptive Server Enterprise (ASE) データベース (旧名 Sybase) からデータを移行できます。SAP ASE データベースをソースとして使用する場合、AWS DMS がサポートする任意のターゲットにデータを移行できます。

AWS DMS がソースとしてサポートする SAP ASE のバージョンについては、「のソース AWS DMS」を参照してください。

SAP ASE ソースデータベースと AWS DMS の使用の詳細については、次のセクションを参照してください。

SAP ASE データベースを AWS DMS のソースとして使用するための前提条件

SAP ASE データベースを AWS DMS のソースとする場合、次を実行します。

  • sp_setreptable コマンドを使用して、テーブルの SAP ASE レプリケーションを有効にします。詳細については、「Sybase Infocenter Archive」を参照してください。

  • SAP ASE データベースの RepAgent を無効にします。詳細については、「Stop and disable the RepAgent thread in the primary database」を参照してください。

  • 非ラテン文字 (中国語など) 向けに設定された、Windows EC2 インスタンス上の SAP ASE バージョン 15.7 にレプリケートするには、ターゲットコンピュータに SAP ASE 15.7 SP121 をインストールします。

注記

継続的な変更データキャプチャ (CDC) レプリケーションの場合、DMS は dbcc logtransferdbcc log を実行して、トランザクションログからデータを読み取ります。

SAP ASE を AWS DMS のソースとして使用する場合の制限

SAP ASE データベースを AWS DMS のソースとして使用する場合、以下の制限が適用されます。

  • SAP ASE データベースごとに、継続的なレプリケーションまたは CDC を使用して実行できる AWS DMS のタスクは 1 つのみです。フルロードのみのタスクは複数で並行して実行できます。

  • テーブル名の変更はできません。例えば、以下のコマンドは失敗します。

    sp_rename 'Sales.SalesRegion', 'SalesReg;
  • 列名の変更はできません。例えば、以下のコマンドは失敗します。

    sp_rename 'Sales.Sales.Region', 'RegID', 'COLUMN';
  • バイナリデータ型文字列の末尾にあるゼロ値は、ターゲットデータベースにレプリケートされる際に切り捨てられます。例えば、ソーステーブル内の 0x0000000000000000000000000100000100000000 は、ターゲットテーブルでは 0x00000000000000000000000001000001 となります。

  • データベースがデフォルトで NULL 値が許容しない場合、AWS DMS は NULL 値を許容しない列を持つターゲットテーブルを作成します。そのため、フルロードまたは CDC レプリケーションタスクに空の値が含まれる場合、AWS DMS はエラーを発生させます。このようなエラーは、次のコマンドを使用してソースデータベースで NULL 値を許可すると回避できます。

    sp_dboption database_name, 'allow nulls by default', 'true' go use database_name CHECKPOINT go
  • reorg rebuild インデックスコマンドはサポートされていません。

  • AWS DMS は、クラスターやソースとしての MSA (マルチサイト可用性) やウォームスタンバイの使用をサポートしていません。

  • AR_H_TIMESTAMP 変換ヘッダー式がマッピング ルールで使用されている場合、追加された列のミリ秒はキャプチャされません。

  • CDC 中に Merge 操作を実行すると、回復不可能なエラーが発生します。ターゲットを同期状態に戻すには、フルロードを実行します。

  • ロールバックトリガーイベントは、データ行ロックスキームを使用するテーブルではサポートされません。

  • AWS DMS は、ソース SAP データベースからタスクの範囲内のテーブルを削除した後はレプリケーションタスクを再開できません DMS レプリケーションタスクが停止し、DML 操作 (INSERT、UPDATE、DELETE) が実行された後にテーブルを削除した場合、レプリケーションタスクをもう一度開始する必要があります。

SAP ASE を AWS DMS のソースとして使用する場合に必要なアクセス権限

SAP ASE データベースを AWS DMS タスクのソースとして使用するには、アクセス権限を付与する必要があります。AWS DMS データベース定義に指定されたユーザーアカウントに、SAP ASE データベースで次のアクセス権限を付与します。

  • sa_role

  • replication_role

  • sybase_ts_role

  • デフォルトでは、sp_setreptable ストアドプロシージャを実行するための許可が必要な場合、AWS DMS は SAP ASE レプリケーションオプションを有効にします。AWS DMS 自体を介さず、データベースエンドポイントから直接テーブルに対してsp_setreptable を実行する場合は、enableReplication 追加接続属性を使用できます。詳細については、「SAP ASE を AWS DMS のソースとして使用する場合のエンドポイントの設定」を参照してください。

切り捨て点の削除

タスクが開始されると、AWS DMS は、syslogshold システムビューに $replication_truncation_point エントリを確立して、レプリケーションプロセスが進行中であることを示します。この間、既にターゲットにコピーされたデータの量に応じて、AWS DMS は定期的にレプリケーション切り捨て点を進めます。

$replication_truncation_point エントリが確立された後、データベースログの増大を避けるため、AWS DMS タスクは実行したままにしておく必要があります。AWS DMS タスクを永続的に停止する場合、次のコマンドを発行してレプリケーション切り捨て点を削除します。

dbcc settrunc('ltm','ignore')

切り捨て点が削除されたら、AWS DMS タスクを再開することはできません。ログは、引き続きチェックポイントで自動的に切り捨てられます (自動切り捨てが設定されている場合)。

SAP ASE を AWS DMS のソースとして使用する場合のエンドポイントの設定

追加の接続属性の使用と同様、エンドポイントの設定を使用して、ソースの SAP ASE データベースを設定できます。ソースエンドポイントを作成する際に、AWS DMS コンソールを使用するか、AWS CLI--sybase-settings '{"EndpointSetting": "value", ...}' の JSON 構文を指定して create-endpoint コマンドを使用して設定を指定します。

次の表は、ソースとして SAP ASE を使用できるエンドポイント設定を説明しています。

名前 説明
Charset

この属性を国際文字セットに対応する SAP ASE 名に設定する。

デフォルト値: iso_1

例: --sybase-settings '{"Charset": "utf8"}'

有効値:

  • acsii_8

  • big5hk

  • cp437

  • cp850

  • cp852

  • cp852

  • cp855

  • cp857

  • cp858

  • cp860

  • cp864

  • cp866

  • cp869

  • cp874

  • cp932

  • cp936

  • cp950

  • cp1250

  • cp1251

  • cp1252

  • cp1253

  • cp1254

  • cp1255

  • cp1256

  • cp1257

  • cp1258

  • deckanji

  • euccns

  • eucgb

  • eucjis

  • eucksc

  • gb18030

  • greek8

  • iso_1

  • iso88592

  • iso88595

  • iso88596

  • iso88597

  • iso88598

  • iso88599

  • iso15

  • kz1048

  • koi8

  • roman8

  • iso88599

  • sjis

  • tis620

  • turkish8

  • utf8

SAP ASE データベースでサポートされる文字セットに関するその他の不明な点については、「Adaptive Server Enterprise: Supported character sets」を参照。

EnableReplication

AWS DMS 経由でなくデータベース側からテーブルで sp_setreptable を有効にする場合、この属性を設定する。

デフォルト値: true

有効値: true または false

例: --sybase-settings '{"EnableReplication": false}'

EncryptPassword

ソースデータベースで "net password encryption reqd" を有効にした場合は、この属性を設定する。

デフォルト値: 0

有効値: 01、または 2

例: --sybase-settings '{"EncryptPassword": 1}'

これらのパラメータ値の詳細については、「Adaptive Server Enterprise: Using the EncryptPassword Connection string property」を参照。

Provider

ASE 15.7 以降のバージョンで Transport Layer Security (TLS) 1.1 または 1.2 を使用する場合は、この属性を設定する。AWS では TLS バージョン 1.2 以降が必要であり、推奨はバージョン 1.3 であることに注意する。

デフォルト値: Adaptive Server Enterprise

有効値: Adaptive Server Enterprise 16.03.06

例: --sybase-settings '{"Provider": "Adaptive Server Enterprise 16.03.06"}'

ソースの SAP ASE のデータ型

AWS DMS​ の使用時にサポートされるソースの SAP ASE のデータ型のリストと、AWS DMS データ型へのデフォルトのマッピングについては、次の表を参照してください。AWS DMS​ は、ユーザー定義型 (UDT) データ型の列を含む SAP ASE ソーステーブルをサポートしていません。このデータ型のレプリケート列は NULL として作成されます。

ターゲットにマップされるデータ型を確認する方法については、使用しているターゲットエンドポイントの「「データ移行のターゲット」」セクションを参照してください。

AWS DMS のデータ型の詳細については、「AWS Database Migration Service のデータ型」を参照してください。

SAP ASE のデータ型

AWS DMS のデータ型

BIGINT

INT8

UNSIGNED BIGINT

UINT8

INT

INT4

UNSIGNED INT

UINT4

SMALLINT

INT2

UNSIGNED SMALLINT

UINT2

TINYINT

UINT1

DECIMAL

NUMERIC

NUMERIC

NUMERIC

FLOAT

REAL8

DOUBLE

REAL8

REAL

REAL4

MONEY

NUMERIC

SMALLMONEY

NUMERIC

DATETIME

DATETIME

BIGDATETIME

DATETIME(6)

SMALLDATETIME

DATETIME

DATE

DATE

TIME

TIME

BIGTIME

TIME

CHAR

STRING

UNICHAR

WSTRING

NCHAR

WSTRING

VARCHAR

STRING

UNIVARCHAR

WSTRING

NVARCHAR

WSTRING

BINARY

BYTES

VARBINARY

BYTES

BIT

BOOLEAN

TEXT

CLOB

UNITEXT

NCLOB

IMAGE

BLOB