tags:

views:

1328

answers:

3
+1  Q: 

SQL Dump from DB2

Hi,

I'm trying to dump the contents of a particular schema in one IBM DB2 UDB server into an sql text file (much like the mysqldump functionality of mysql).

I came across db2look, but it only dumps the structure of the schema (only ddl, no dml).

So how can I get my thing done?

jrh.

A: 

You could use SQquirreL, an SQL Client implemented in Java, to accomplish this. In its "Objects"-Tree you would select all desired tables and select "Scripts > Create Data Script" from the context menu.

rudolfson
Well, I used Aqua Data Studio to do that.. it worked pretty well, thank you :)
Here Be Wolves
+1  A: 

You could use the EXPORT, and related IMPORT or LOAD commands if the goal is to transfer data back into another DB2 database.

In fact, you can generate the the statements based on metadata from 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

If you want the actual insert scripts, then you may need to go with a third-party tool (I'm not aware of one provided by DB2, though I could be wrong.)

Ryan Emerle
+3  A: 

What you're looking for is the db2move command. For a particular schema you should use the "sn" switch.

So for example to export the data:

db2move [your_db_name] EXPORT -sn [your_schema_name]

There are many options and switches available for db2move depending on exactly what you want to do.

If db2move is not exactly what you need, you can review the table of Data Movement Options available in DB2.

Michael Sharek
One thing to note that db2move uses PC/IXL as the data container format and does not produce an SQL dump. I'm not sure if the question asker asked for an SQL dump because that's what he's familiar with or because for some reason he needs a real SQL dump with INSERTs. If the latter, db2move won't help him.
DrJokepu
You're correct, doctor...not really sure what op was after so linked to all data movement options for db2
Michael Sharek
+1 for the great link!
Here Be Wolves