既存のデータベースからDDLを作成するには
出典: DB2逆引きWiki
【DB2逆引きリファレンス目次】 【DB2逆引きリファレンス目次#保守作業編】 【DB2逆引きリファレンス目次#データの移動】
目次 |
前提
- 以下のいずれかが必要: システムカタログに対するSELECT特権
解説
既存のデータベースからDDLを作成するには、db2lookコマンドを用います。
db2look -d データベース名 -e [ 対象指定 ] [-m] [-l] [-x] [-f]
[-i 接続ユーザー名 -w パスワード ] [-o 出力ファイル名 ]
- データベース名
- DDLを抽出する対象となるデータベースの名前を指定します。
- 対象指定
-
DDL抽出の対象となるオブジェクトの範囲を以下の形式のいずれかで指定します。
- -u 所有ユーザー名
- 指定したユーザーによって作成されたオブジェクトを対象とします。
- -z スキーマ名
- 指定したスキーマに含まれるオブジェクトを対象とします。
- -t 表名のリスト
- 指定した表を対象とします。対象とする表の名前をスペース(空白)で区切って並べます。
- -a
- データベースに含まれるすべてのオブジェクトを対象とします。
- -m
- 統計情報を複製するためのUPDATE文を出力に含めます。
- -l
- 表スペースおよびバッファプールを定義するためのDDLを出力に含めます。
- -x
- 権限を付与するためのDDLを出力に含めます。
- -f
- 照会オプティマイザーに影響を与える構成パラーメーターおよびプロファイルレジストリ変数の設定コマンドを出力に含めます。
- -i ユーザー名 -w パスワード
- データベースの接続にユーザー名とパスワードが必要であれば指定します。
- -o 出力ファイル名
- 生成したDDLを出力するファイルを指定します。指定しない場合、生成されたDDLは標準出力に出力されます。
使用例
データベース(ここではsample)に含まれるすべてのデータベースオブジェクトを定義するためのDDLをファイル(ここではsample.ddl)に出力する例。
$ db2look -d sample -a -e -l -x -o sample.ddl↓
