1つのIBM DB2 UDBサーバー内の特定のスキーマの内容をsqlテキストファイルにダンプしようとしています(mysqlのmysqldump機能とよく似ています)。DB2からのSQLダンプ
私はdb2lookに出くわしましたが、スキーマの構造だけをダンプします(ddl、dmlのみ)。
どうすればいいですか?
jrh。
1つのIBM DB2 UDBサーバー内の特定のスキーマの内容をsqlテキストファイルにダンプしようとしています(mysqlのmysqldump機能とよく似ています)。DB2からのSQLダンプ
私はdb2lookに出くわしましたが、スキーマの構造だけをダンプします(ddl、dmlのみ)。
どうすればいいですか?
jrh。
これを行うには、Javaで実装されたSQLクライアントSQquirreLを使用できます。その "オブジェクト" - ツリーで、必要なテーブルをすべて選択し、コンテキストメニューから "スクリプト>データスクリプトの作成"を選択します。
EXPORT
、および関連するIMPORT
またはLOAD
コマンドを使用して、データを別のDB2データベースに戻すことができます。実際に
あなたは、実際の挿入スクリプトが必要な場合は、SYSCAT.TABLES
EXPORT
SELECT 'EXPORT TO /usr/data/SCHEMA/' || TABNAME || '.ixf OF IXF LOBS TO /usr/data/SCHEMA/lbos/ MODIFIED BY LOBSINFILE SELECT * FROM SCHEMA.' || TABNAME || ';'
FROM SYSCAT.TABLES
WHERE TABSCHEMA = 'SCHEMA'
ORDER BY TABNAME
IMPORT
SELECT 'IMPORT FROM /usr/data/SCHEMA/' || TABNAME || '.ixf OF IXF LOBS FROM /usr/data/SCHEMA/lobs/ MODIFIED BY LOBSINFILE INSERT INTO SCHEMA.' || TABNAME || ';'
FROM SYSCAT.TABLES
WHERE TABSCHEMA = 'SCHEMA'
ORDER BY TABNAME
からのメタデータに基づいて文を生成することができ、サードパーティのツールを使用する必要があります(私は私が間違っている可能性はありますが、DB2が提供しているものは認識していません。)
お探しのものはdb2moveです。特定のスキーマの場合、「sn」スイッチを使用する必要があります。データをエクスポートする例えばので
:
db2move [your_db_name] EXPORT -sn [your_schema_name]
あなたがやりたい正確に何に依存してdb2moveために利用可能な多くのオプションとスイッチがあります。
db2moveが必要なものでない場合は、Data Movement Options available in DB2という表を確認できます。
db2moveはデータ・コンテナ形式としてPC/IXLを使用し、SQLダンプは生成しません。質問者がSQLダンプを要求したのかどうかはわかりません。なぜなら、彼はよく知っている、何らかの理由で実際のSQLダンプとINSERTを必要としているからです。後者の場合、db2moveは彼を助けません。 –
あなたは正しいです、医者...実際にどのようなオペレーションが行われたのかは、db2のすべてのデータ移動オプションにリンクされています –
+1素晴らしいリンクです! – jrharshath
インポートの場合、負荷を使用するようにわずかに調整すると、行が拒否されないようになります。
db2 -x "SELECT 'load FROM/usr/data/SCHEMA /' || TABNAME || '.ixf LOBSから/ usr/data/SCHEMA/MODIFIED BY identityoverride INSERT INTO CFEXT。 || || TABNAME ';' TABNAME BY SYSCAT.TABLES TABSCHEMA = 'CFEXT' ORDER」FROM>
Db2のスキーマ/tmp/db2cfeimport.sqlすべてのDDLのバックアップと:
は私がコマンド以下の用途を持っていることすべてのDDLをエクスポートするために私のために働いた。
db2look -d CusDb -x -e -z CusSchema -o OutputFile
構文:のdb2look -d dbnameは-x -e -zのSchemaName -o OutputFile_name
まあ、私は...それはかなりうまく働いたことをやってアクアData Studioのを使用し、あなたに感謝:) – jrharshath
ニース、メモリに収まらない十分に大きなデータセットを除いて、それは単なるオプションではありません。しかし、小さなテーブルのために使用することができます。 – egbokul