2009-05-29 22 views
9

1つのIBM DB2 UDBサーバー内の特定のスキーマの内容をsqlテキストファイルにダンプしようとしています(mysqlのmysqldump機能とよく似ています)。DB2からのSQLダンプ

私はdb2lookに出くわしましたが、スキーマの構造だけをダンプします(ddl、dmlのみ)。

どうすればいいですか?

jrh。

答えて

5

これを行うには、Javaで実装されたSQLクライアントSQquirreLを使用できます。その "オブジェクト" - ツリーで、必要なテーブルをすべて選択し、コンテキストメニューから "スクリプト>データスクリプトの作成"を選択します。

+0

まあ、私は...それはかなりうまく働いたことをやってアクアData Studioのを使用し、あなたに感謝:) – jrharshath

+1

ニース、メモリに収まらない十分に大きなデータセットを除いて、それは単なるオプションではありません。しかし、小さなテーブルのために使用することができます。 – egbokul

2

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が提供しているものは認識していません。)

10

お探しのものはdb2moveです。特定のスキーマの場合、「sn」スイッチを使用する必要があります。データをエクスポートする例えばので

db2move [your_db_name] EXPORT -sn [your_schema_name] 

あなたがやりたい正確に何に依存してdb2moveために利用可能な多くのオプションとスイッチがあります。

db2moveが必要なものでない場合は、Data Movement Options available in DB2という表を確認できます。

+0

db2moveはデータ・コンテナ形式としてPC/IXLを使用し、SQLダンプは生成しません。質問者がSQLダンプを要求したのかどうかはわかりません。なぜなら、彼はよく知っている、何らかの理由で実際のSQLダンプとINSERTを必要としているからです。後者の場合、db2moveは彼を助けません。 –

+0

あなたは正しいです、医者...実際にどのようなオペレーションが行われたのかは、db2のすべてのデータ移動オプションにリンクされています –

+0

+1素晴らしいリンクです! – jrharshath

0

インポートの場合、負荷を使用するようにわずかに調整すると、行が拒否されないようになります。

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>

0

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

関連する問題