导出db2数据库的表结构和数据

   对于db2数据库,导入和导出表结构和数据其实很简单,只需要用到db2look和db2move两个命令即可。这两个命令都需要在客户端的命令行处理器中执行,但对于数据库服务器和客户端不在同一机器上的,需要借助catalog命令,来先完成远程数据库加载到本地,然后再进行导出导入操作。

    

    如果是远程操作,则先需要把远程的数据库信息加载到本地,如果是本地则跳过1和2,从3开始,具体如下:

       1 catalog server 端的 node ,命令如下:  

       db2 catalog tcpip node node_name remote hostname server service_port  

       db2 uncatalog node node_name   (取消节点的编目)

 

   其中 node_name 是由你任意起的一个结点名,结点名不能跟已有的结点名重复(可通过db2  list node directory 查看),hostname也可为IP addressservice_port为端口号一般默认为50000。节点目录用于存储远程数据库的所有连通性信息。

 

       2、 catalog 远端 DB2 数据库,命令如下: 

       db2 catalog db db_name [as alias_name] at node node_name

     db2 uncatalog db db_name    (取消数据库的编目)

 

      db_name 是指远程数据库的名字, alias_name 是客户端实例名(可以忽略), db2node 是指上面你所指定的节点node

 

     3、 连接数据库,命令如下:

       db2 connect to db_name user user_name using password

     db_name 是指数据库的名字, user_name 是数据库用户名,password是数据库密码

 

   4、用db2look命令生成表结构的DLL脚本

   db2look -d db_name -i user_name -w password -a -e -o d:\script.sql 

    

     db_name 是指数据库的名字, user_name 是数据库用户名,password是数据库密码

 

   5、用db2move导出所有表的数据

     db2move db_name export -u user_name -p password

    

     db_name 是指数据库的名字,user_name 是数据库用户名,password是数据库密码

 

   6、用export导出指定的表数据

     db2 "export to d:\data\tab1.ixf of ixf lobs to d:\data\ lobfile lobs modified by lobsinsepfiles  messages d:\data\tab1.msg select * from schema_name.table_name"

   schema_name 是表所属,table_name是表名, lobsinsepfiles 或 lobsinfile 是生成lob文件 前一个是生成每个,后面是生成到一个文件中

    

 

   7、执行sql脚本

    db2 -tvf d:\script.sql -z d:\script.log

 

    8、用db2move导入所有表的数据

     db2move db_name import -io replace -u user_name -p password   

 

    9、用import导入指定的表数据

      db2 "import from d:\data\tab1.ixf of ixf messages d:\data\tab1.msg insert into schema_name.table_name"

   

猜你喜欢

转载自henry406.iteye.com/blog/1388887