本記事は、前回の記事の続きです。まだご覧になっていない方はこちらからどうぞ。
■手順
・スキーマの変換
まずはOracleのスキーマをAurora MySQLのスキーマにコンバートします。
- 移行元の情報入力
ダウンロードしたSCTを開きます。
「File」、「New Project」の順に選択し、Project nameに「DMSDemoProject」と入力します。
「Add source」、「Oracle」、「Next」の順に選択します。
Connection nameに「Amazon RDS for Oracle」、server nameは前の記事でメモした値が例えば
「jdbc:oracle:thin:@dmsdemo-oracledb-XXX.XXX.ap-northeast-1.rds.amazonaws.com:1521:ORCL」であれば太字部分のみ入力します。
最後にパスワードを入力します。初期設定のままであれば「oraadmin123」です。
その後「Test connection」を選択します。
「Accept the risk and conrinue」を選択する。
下記画面が出れば問題ないです。OKを選択します。
「Connect」を選択します。
- 移行先の情報入力
移行元の情報が入力されたので、次は移行先の情報を入力します。
「Add source」、「Amazon Aurora(MySQL compatible)」、「Next」の順に選択。
Connection nameに「Amazon RDS for Oracle」、server nameは前の記事でメモした値が例えば
「dbc:mysql://dmsdemo-auroracluster-XXX.cluster-XXX.ap-northeast-1.rds.amazonaws.com:3306
」であれば太字部分のみを入力する。
最後にパスワードを入力します。初期設定のままであれば「auradmin123」です。
その後「Test connection」を選択します。
後は同様に「Accept the risk and conrinue」、「OK」、「Connect」の順に選択します。
これで移行元と移行先の情報入力が完了しました。
左のパネルから「HR」のみ、右のパネルから「Aurora MySQL database」のみ選択し、「Create mapping」を選択します。
左のパネルの「HR」を右クリックし、「Create report」を選択します。
すると移行評価レポートが発行されます。pdfやcsvファイルで保存が可能です。DB移行前に見れるのがポイントです。
Action Itemsに戻り、左のパネルの「HR」を右クリックし、「Convert schema」を選択します。
その後、右のパネルの「hr」から「Apply to database」、「Yes」と選択します。
再び右のパネルの「hr」から「Refresh from Database」、「Yes」を選択します。
これで移行元から移行先へスキーマが反映されました。
※参考元ページでは、移行先のDBに実際にスキーマが反映されたか確認するフェーズがありますが今回はスキップします。
・レプリケーションインスタンスの作成
AWS Database Migration Serviceへいき、レプリケーションインスタンスの作成を選択します。(画像無し)
下の画像の赤枠部分を基に以下のパラメータを入力し、
「レプリケーションインスタンスの作成」を選択します。
項目名 | 値 |
---|---|
名前 | DMSdemo-repserver |
説明 | 自由記入 |
マルチAZ | 開発またはテストワークロード(シングルAZ) |
Virtual private cloud(VPC) for IPv4 | DMSdemo |
すると10分ほどでレプリケーションインスタンスが作成されます。
・AWS DMSのソースエンドポイントとターゲットエンドポイントの作成します。
DMSのコンソールからエンドポイントの作成を選択します。
設定後、「エンドポイントの作成」を選択。
下の画像の赤枠部分を基に以下のパラメータを入力し、
「レプリケーションインスタンスの作成」を選択します。
項目名 | 値 |
---|---|
エンドポイントタイプ | ソースエンドポイントにチェック RDS DBインスタンスの選択にチェック RDSインスタンスは先ほど作成したレプリケーションインスタンスを選択 |
エンドポイント識別子 | Orasource |
エンドポイントデータベースへのアクセス | アクセス情報を手動で提供する |
パスワード | 自分で設定したもの(デフォルトのままならoraadmin123) |
するとソースエンドポイントが作成されます。
続いてターゲットエンドポイントを作成します。再びエンドポイントの作成を選択します。
下の画像の赤枠部分を基に以下のパラメータを入力し、
「レプリケーションインスタンスの作成」を選択します。
項目名 | 値 |
---|---|
エンドポイントタイプ | ターゲットエンドポイントにチェック |
エンドポイント識別子 | Aurtarget |
ターゲットエンジン | Amazon Aurora MySQL |
サーバー名 | ※あとで編集 |
ポート | 3306 |
ユーザー名 | ※あとで編集 |
パスワード | ※あとで編集 |
データベース移行タスクの作成と実行
データベース移行タスク選択
最後にタスクの作成
ステータスが実行中になる
ソース名はHR。ソーステーブル名は%。
・移行後の確認
コンソールでテーブル統計みる
SQL Workbench/Jを開き、Aurora Connectionを開いて、以下のように表示されれば以降は完了です。
・リソースの削除
以下の手順通りにリソースを削除してください。
DMSのデータベース移行タスクを消去
DMSのエンドポイントを二つ削除
DMSのレプリケーションインスタンスを消去
CFnスタックを消去
以上で作業は完了です。お疲れ様でした。
■最後に
今回はDBS試験勉強の一環としてSCTとDMSを操作しました。問題を解いているだけでは中々イメージしづらい部分も、手を動かしてみるとすっと入ってくるなーと実感しました。ちなみに去年からSCTを使わずとも、DMS内でSchema Conversionが行えるようになってます。詳しくはこちら。それではまた次回の記事でお会いしましょう!
参考URL一覧
AWS公式
・『Step-by-Step Migration』
・『AWS Schema Conversion Tool とは』
・『Java ランタイム環境とは』
その他
・『SQLクライアントはこれひとつでOK! あらゆるDBMSで使える「SQL Workbench/J」をデータ解析で活用しよう』
・『JDBC(e-Words)』
・『DBMS_STATS』