DTS による増分データの同期または移行中、ターゲットデータベース内のシーケンスはソースと独立して値を生成し続けます。このドリフトにより、ターゲット側のシーケンスが既に移行済みデータ内に存在する値を生成した場合、プライマリキーの競合が発生する可能性があります。シーケンス値調整機能を使用すると、ソースデータベースから現在のシーケンス値を読み取り、指定したオフセットを加算し、その結果を対応する各ターゲットシーケンスの開始値として設定できます。
たとえば、オフセットを 10,000 に設定した場合:ソースデータベース内のシーケンスの現在値が 12,345 であれば、DTS はターゲットデータベース内の対応するシーケンスの開始値を 22,345 に設定します。
サポートされるデータベースペア
PostgreSQL とは、以下の表で示すように、ApsaraDB RDS for PostgreSQL インスタンスまたは自主管理 PostgreSQL データベースのいずれかを指します。
| ソースデータベース | ターゲットデータベース | 関連ドキュメント |
|---|---|---|
| PostgreSQL | PostgreSQL、PolarDB (Compatible with Oracle)、または PolarDB for PostgreSQL | PostgreSQL データベースからのデータ同期 / PostgreSQL データベースからのデータ移行 |
| PolarDB for PostgreSQL | PostgreSQL または PolarDB for PostgreSQL | PolarDB for PostgreSQL クラスターからのデータ同期 / PolarDB for PostgreSQL クラスターからのデータ移行 |
| PolarDB (Compatible with Oracle) | PolarDB (Compatible with Oracle) | PolarDB for PostgreSQL (Compatible with Oracle) クラスター間の片方向データ同期 / PolarDB for PostgreSQL (Compatible with Oracle) クラスター間のデータ移行 |
| Oracle | PolarDB (Compatible with Oracle) | 自己管理 Oracle データベースから PolarDB for PostgreSQL (Compatible with Oracle) クラスターへのデータ同期 / 自己管理 Oracle データベースから PolarDB for PostgreSQL (Compatible with Oracle) クラスターへのデータ移行 |
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
このインスタンスは、増分同期または移行を伴うデータの同期処理を行います。
インスタンスが「増分データ移行」または「増分データ同期」フェーズであること
インスタンスのステータスが実行中または一時停止であること
制限事項
双方向同期インスタンスではサポートされていません。
デフォルトでは、DTS は、ソースデータベースにある同名のシーケンスの現在の値に基づいて、ターゲットデータベースのシーケンスの開始値を更新します。個々のシーケンスを調整することはサポートされていません。
ターゲットデータベース内のシーケンスの開始値が更新された後に増分データがソースデータベースに書き込まれると、更新されたシーケンス値が期待通りにならない可能性があります。
シーケンスの開始値を更新する
データ同期またはデータ移行ページへ移動します。
DTS コンソールを使用する
DTS コンソールにログインします。左側のナビゲーションウィンドウで、データ同期またはデータ移行をクリックします。上部のナビゲーションバーから、ご利用の DTS インスタンスが配置されているリージョンを選択します。
DMS コンソールを使用する
DMS コンソールにログインします。上部のナビゲーションバーで、Data + AI > DTS (DTS) > データ同期、または Data + AI > DTS (DTS) > データ移行 を選択します。データ同期タスクまたはデータ移行タスクの右側にあるドロップダウンリストから、ご利用の DTS インスタンスが配置されているリージョンを選択します。
対象の DTS インスタンスを見つけ、インスタンス ID をクリックします。
タスク管理ページで、増分書き込みをクリックします。Data Management (DMS)
基本情報タブで、シーケンス同期をクリックします。
ダイアログボックスで、シーケンスオフセットの値を設定します。
同期をクリックします。更新が完了すると、「同期済み」というメッセージが表示され、更新前のシーケンス値と更新後のシーケンス値が表示されます。
閉じるをクリックします。