オンプレからクラウドへの移行 IBM Lift チュートリアル: (2)SQL ServerをIBM のクラウドDBへ
このチュートリアルでは、オンプレのMicrosoft SQL Serverからクラウドへのデータベース移行ツール IBM Liftを使って、Db2 on Cloudへデータを移行する方法をご紹介します
前準備
このチュートリアルの前提
- 移行元はオンプレにあるSQL Server
- 移行先はDb2 on Cloud
- パスワードは「PASSWORDxxxxxxxx」としています
- ホスト名はdashdb-txn-xxxxx.netとしています
ご参考情報
IBM Liftとは?インストールとは?はこちらの記事をご覧ください
https://qiita.com/azzeten/items/525479b9817cbdd6ce25
ざっくりの手順はこちら
- SQL Serverからデータを抜き出して、一時的にクライアントPCに保存します
- 移行先のDb2 on CloudにDDLを実行して、移行先テーブルを作成します。
- クライアントPCに保存されたCSVファイルを、Db2 on Cloudのあるクラウド上にアップロードします。この時点ではまだロードされません。単純にファイルがクラウドに転送されただけのイメージです。
- クラウドに転送されたCSVファイルを、Db2 on Cloudの先程作成した表にロードします
Liftでマイグレーション!!
Step1: 移行元のSQL Serverの状態を確認
- DBは hogemssqlです。接続ユーザはsaでパスワードは「P@55w0rd」です
- スキーマはhogeです
- テーブル名はtesttableで中身は以下のとおり
Step2: 移行先でDDLを実行
Db2 on Cloudで、テーブル定義を先に設定しておきます。
CREATE TABLE LIFT_TESTMS (COL1 INT, COL2 CHAR(10));
Step3: liftを使ってSQL Serverから移行
データを、(1)SQL Serverから抜き出し (2)クラウドにアップして、(3)Db2 on Cloudにロードします
# (1) SQL Serverからデータを抜き出す。 lift extract コマンド。
# 抜き出す際のCSV名は「testliftms.csv」としています
$ sudo lift extract --source-schema hoge --source-table testtable --source-database hogemssql --source-host localhost --source-user sa --source-password P@55w0rd --source-database-port 1401 --source-database-type sqlserver --file testliftms.csv
Password:
Extracting from table 'testtable' to /opt/lift-cli/bin/testliftms.csv
[##########] Extracted 46 B
Extracted 46 B (3 of 3 rows) from table 'testtable' to /opt/lift-cli/bin/testliftms.csv in < 1 second at an average rate of < 1 Mb/s
# lsでCSVができているかを確認します
$ ls
lift run20180503145755373-506312 testliftms.csv
liftMain setupEnv.sh
# 念の為中身を確認します。さきほどのキャプチャと合っています。
$ cat testliftms.csv
1,"aaa "
2,"bbb "
30,"ccc "
# (2)データをクラウドにアップします。 lift putコマンドです。
$ sudo lift put --file testliftms.csv --target-user jln84695 --target-password PASSWORDxxxxxxxx --target-host dashdb-txn-xxxxx.net
Putting file /opt/lift-cli/bin/testliftms.csv (size 46B) at a maximum throughput of 500.00 Mb/s.
[##########] Put 46/46 B at < 1 Mb/s (0 sec remain)
Transferred file /opt/lift-cli/bin/testliftms.csv in 7 seconds at average throughput of < 1 Mb/s.
The file transfer completed successfully.
# (3) クラウドにアップされたデータをDb2 on Cloudに先程作ったテーブル「LIFT_TESTMS」表へロードします
$ sudo lift load --filename testliftms.csv --target-schema JLN84695 --target-table LIFT_TESTMS --file-origin extract-sqlserver --target-user jln84695 --target-password PASSWORDxxxxxxxx --target-host dashdb-txn-xxxxx.net
Loading file testliftms.csv into JLN84695.LIFT_TESTMS
Loaded file testliftms.csv into "JLN84695"."LIFT_TESTMS" in 1 seconds
Load Id: 626844897
Details
Rows loaded: 3
Rows skipped: 0
Rows rejected: 0
Rows deleted: 0
Step4: 移行を確認
Db2 on Cloudの画面から確認をします。
以下のように、ロードされています!!
Author And Source
この問題について(オンプレからクラウドへの移行 IBM Lift チュートリアル: (2)SQL ServerをIBM のクラウドDBへ), 我々は、より多くの情報をここで見つけました https://qiita.com/azzeten/items/e3f1cc6976f548241a7f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .