SCT(Schema Conversion Tool)を使ってみた②

こんにちは。米須です。
今回は SCT のプロジェクト ウィザードを利用して、新しい DB エンジンへの変換可能性を評価したレポートを作成してみたいと思います。

今回の構成

変換元の Oracle DB(RDS) には データが入っていますが、変換先の PostgreSQL DB(RDS) はインスタンスを構築しただけでデータは入っていません。あと、SCT を動かすための EC2 があります。

SCT

ウィザードを使ってレポートを作成してみる

早速始めましょう!
メニューから「File」→「New project wizard」を選択します。

SCT

Step1~3で必要な内容を設定すると Step4でレポートが作成されるというウィザードとなっています。
Step1ではプロジェクト名などの概要を設定し「Next」ボタンを押します。

SCT
項目名 設定内容
Project name 適当な名前をつけます
変換元 DB が OLTP なので「Transactional database(OLTP) 」を選択しました
Source engine 変換元 DB のエンジンを選択します
今回はレポート機能を使ってみたかったので、一番下の「I want to see a combined report for database engine switch and optimization to cloud」を選択しました

Step2では、変換元 DB の接続情報を入力します。

SCT

Step3では、レポートを出力するスキーマを選択し「Next」ボタンを押します。

ちょっとわかりにくい UI なのですが、チェックボックスにチェックをつけた上で対象スキーマを選択(行をハイライトにする)すると「Next」ボタンが押せるようになり、分析の対象となります。
例えば、、、
下の画像のように複数チェックをつけても特定のスキーマしか選択しなければ、選択されたスキーマだけが分析の対象となります。
一方で、チェックを複数つけた上で、上部にある「Schema」というところを選択すると、複数のスキーマ(チェックをつけた分だけ)が分析の対象になるということのようです。
なお、複数のスキーマを対象とした場合、この後作成されるレポートは複数のスキーマの分析結果が混ざった状態になっていました。(スキーマ毎にレポートを分けてくれるわけではないということです)

SCT

「Next」ボタンを押した後は分析処理が開始され、下記のようなプログレスバーが出てきます。オブジェクトのサイズによって分析が完了する時間が異なり、サイズによっては Java のメモリサイズの設定も必要になります。(メモリサイズの設定については、次の章で説明します)

SCT

Step4で作成されたレポートを確認することができます。
右上の「Save」ボタンを押すと、分析結果をダウンロードできます。
(作成されたレポートについては、次回のブログでお話したいと思います)

SCT

「Next」ボタンを押すと Step5が表示されますので、変換先の postgreSQL の情報を設定し「Next」ボタンを押します。

SCT

そうすると、下記のような画面が開きウィザードは完了となります。
左側には変換元 DB の情報が、右側には変換先 DB の情報が表示されるようなレイアウトになっています。
(この画面で何が見れるかについても、次回のブログでお話したいと思います。)

SCT

メモリサイズの設定

ここで、先ほど Step3 のところで少し話題に出したメモリサイズの設定について触れたいと思います。
メモリのサイズは、下図のように SCT のウィンドウの下の方に表示されています。

SCT

分析対象のスキーマにあるオブジェクトの数などによってはメモリ不足になるようですので、その際は分析を一旦中断してメモリサイズ(場合によってはインスタンスタイプも)を見直し、再実行した方が良いかと思います。
メモリサイズの変更方法はドキュメントにも記載されています。

[AWS ドキュメント]
追加メモリの構成
https://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/CHAP_BestPractices.html#CHAP_BestPractices.JVM

構成ファイルが格納されているフォルダの場所 (C:\Program Files\AWS Schema Conversion Tool\App) に AWS Schema Conversion Tool.cfg があるので、これを修正するという所まではいいのですが、、、
実はドキュメントに書かれている通りに [JVMUserOptions] に追加してもメモリサイズは変わりません(^^;

AWS サポートへ確認したところ [JavaOptions] に追加してみてくださいとのことだったので試した結果、無事メモリサイズが変更されました。
ちょっとしたハマりポイントでしたw

SCT

さいごに

いかがだったでしょうか。
ツール自体は難しくないのですが、前回ブログに記載したインスタンスタイプのサイズや Java のメモリサイズの設定など少しハマリポイントがありますが、そこを押さえておけば大丈夫だと思うので使ってみてください(^^)

AWSSCT

Posted by komesu