如何从linux服务器中的db2数据导出导入文件(包含结构、数据)

常用参数
-u -用户名
-p -密码
-tn -表名,导出单一表
-tf - 文件名,文件中每行记录一个完整的表名
-ts -表空间名称,用于导出某个表空间下的所有数据
-tc -表创建者,导出某用户创建的所有数据
-sn -模式名,用于导出某个模式下的所有数据
-io - 导入模式,指定DB2的import工具可以运行的一种模式。有效的选项有: CREATE、 INSERT、 INSERT_UPDATE、 REPLACE 和 REPLACE_CREATE。缺省值为 REPLACE_CREATE。有关这些模式的更多内容,请参阅 DB2 的产品文档,可以从 DB2 技术支持获得这些文档。
-lo - load模式,指定DB2的load工具可以运行的一种模式。有效的选项有:INSERT 和 REPLACE。缺省值为 INSERT。 有关这些模式的更多内容,请参阅 DB2 的产品文档,可以从 DB2 技术支持获得这些文档。
-l -装载路径,指定要创建或查找的 LOB 文件的位置。必须指定一个或多个绝对路径名。如果指定了多个绝对路径,就必须使用逗号将其分隔开;值之间不允许有空格。缺省值是当前

以上参考文档:
原文:https://blog.csdn.net/huaxin520/article/details/8256064
一、表模式的导出导入
1、建立表空间、查看表空间、删除表空间
创建初始大小为100MB,增量为100MB,最大大小为100GB的 自动存储管理表空间,在本地连接DB2数据库,在sql执行窗口输入:
create tablespace(表空间名称) tbs_data2 initialsize 100M increasesize 100M maxsize 100G
查看建立的表空间,打开xsell连接数据库,输入:list tablespaces,可查看数据库中所有的表空间
删除表空间:drop tablespace 表空间名;
2、用工具(SecureCRT、Xshell)连接服务器

连接服务器之后输入db2命令进行操作,如果需要跳转才可以连接数据库,输入:su + 跳转目标服务器名称,如:su db2inst1,然后输入密码,即可登录新服务器去连接数据库。
连接数据库(此处数据库A名为ISSUE,数据库B名为NEWISSUE):
连接数据库A:db2 connect to ISSUE
在这里插入图片描述
3、导出数据库模式、表(Tables)、存储过程(Procedures)、视图(Views)、索引(Indexes)、Functions
首先进入导出ddl文件的存储目录,如想把导出的ddl文件放在/db2data/xuzheng/st_rpt下,cd /db2data/xuzheng/ST_RPT
在这里插入图片描述
然后输入:db2move 数据库名 export -sn 数据库模式名 -u 服务器用户名 -p 服务器密码:如:db2move ISSUE export -sn ST_RPT -u db2inst1 -p 123456
数据导出结束后可以输入命令:ls,查看是否有ddl文件
在这里插入图片描述
4、使用工具(可以访问sftp的工具即可):WinSCP,连接服务器,进入文件存储目录
在这里插入图片描述
将需要的文件下载至本地,然后登陆需要导入的数据库对应的服务器,将本地文件直接上传至目标服务器
5、在Xshell中连接数据库B: db2 connect to NEWISSUE
在这里插入图片描述
6、将数据库A导出的ddl文件导入数据库B
输入命令:db2 –tvf 导出的ddl文件名称 >(日志名称)
如:db2 –tvf ST_RPT.ddl >rz.log
至此数据库模式、表、视图、索引等全量导出导入完毕
二、单表结构的导出、导入
1、单表的结构导出语句:

db2look -d 数据库名 -e -z 模式名 -t 表名 –o ddl文件名
如:
db2look -d ISSUE -e -z ISSUE -t ISSUE.ACCOUNT_WARRANTY -o 1.ddl

2、单表的结构导入语句
db2 –tvf 导出ddl文件名
如:
db2 -tvf 1.ddl

三、表数据的批量导出导入
1、数据的批量导出
db2move 数据库名 export - sn 模式名 -u 数据库用户名 -p 数据库密码

如:
db2move ISSUE export -sn ACCOUNT -u db2inst1 -p 123456

2、数据的导入
根据导出的txf文件,与对应的表名对应,然后输入导入语句,进行表数据的导入:

db2 import from 导出的ixf文件名 OF IXF MODIFIED BY FORCECREATE COMMITCOUNT 100000 replace_create INTO 数据库表名称
如:
db2 import from tab1.ixf OF IXF MODIFIED BY FORCECREATE COMMITCOUNT 100000 replace_create INTO ST_RPT.ACCOUNT_DETAIL_ERRATA
四、表数据的单笔导出导入
1、数据的单笔导出
db2move 数据库名 export -tn 表名 -u 数据库用户名 -p 数据库密码

如:
db2move ISSUE export -tn ACCOUNT_DETAIL_ERRATA -u db2inst1 -p 123456

2、数据的导入
根据导出的txf文件,与对应的表名对应,然后输入导入语句,进行表数据的导入:

db2 import from 导出的ixf文件名 OF IXF MODIFIED BY FORCECREATE COMMITCOUNT 100000 replace_create INTO 数据库表名称
如:
db2 import from tab1.ixf OF IXF MODIFIED BY FORCECREATE COMMITCOUNT 100000 replace_create INTO ST_RPT.ACCOUNT_DETAIL_ERRATA

N_BANK_BATCH_WRITEOFF,N_BANK_REFUND_DETAIL

五、
进入vi模式:vi
进入编辑模式:a
显示行数::set nu
跳转至某一行:行数
跳转至末尾:G
创建文件夹:mkdir

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

默认符

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值