EXPORTを利用する
DB2 EXPORTシェル
前回も、説明したかと思いますのが、db2のコマンド(コマンドのオプション)を覚えるのは、性格的なものもあるのですが面倒です。 個人的には、これは、必須だろと思うコマンド以外はほとんど頭に入らないので、もっと頭に入る人に業務はお願いしちゃったりしています。 日々の運用の中で、EXPORTの使うファイル形式は、IXFと、CSVですね。IXFは、IBM DB2のファイルフォーマットです。当然のことながらこっちのほうが、DB2間の処理としては 扱いやすいです。
【一般的な書式】 オンラインマニュアルを見ればわかりますが、
DB2 EXPORT TO [エクスポートファイル名].IXF OF IXF MESSAGES [エクスポートファイル名].log SELECT * FROM [テーブル名]
が一般的な書式です。ファイル形式は、先ほどもいったとおり、IXFと、DEL(CSV)形式の指定があることだけ覚えておけばよいでしょう。 また、SQL記述部はSQLなので当然のことながら、JOINもできますし、抽出条件(WHERE)なども指定することができます。VIEWもできます。
まずは簡単に、CSVとIXFのファイルを切り替えられるように、shellで作ってみました。 #!/bin/csh source /home/db2admin/sqllib/db2cshrc # 設定パラメータ ############################################# # データベース名 set DBNAME=DB2DB” # エクスポート先のディレクトリの選択 set EXPPATH=”/home/db2admin/export” # メッセージファイルのディレクトリの選択 set MSGPATH=”/home/db2admin/msg” ############################################################## db2 connect to ${DBNAME} db2 EXPORT TO ${EXPPATH}/$1.$2.${FILEMODE} OF ${FILEMODE} MESSAGES ${MSGPATH}/$1.$2.exp.msg SELECT * FROM $1.$2 FOR READ ONLY WITh UR db2 connect reset set ERRORLEVEL=”$?” if ($ERRORLEVEL != “0″) then echo “エクスポートでエラーが発生しました。” exit(-1) else echo “エクスポート正常終了” exit 0 endif