# 批量提交,达到5w条commit一次 db2 importfrom'filename'of del COMMITCOUNT 50000insertinto tabname
# 批量插入,一次插入500条 db2 importfrom'filename'of del MODIFIED BY COMPOUND=500insertinto tabname
# 导入条数限制,只导入1w条 db2 importfrom'filename'of del ROWCOUNT 10000insertinto tabname
# 导入指定起点数据 db2 importfrom'filename'of del RESTARTCOUNT 10insertinto tabname
# 警告数据的条数限制 db2 importfrom'filename'of del WARNINGCOUNT 10insertinto tabname
# 禁止发出行警告 db2 importfrom'filename'of del MODIFIED BY NOROWWARNINGS insertinto tabname
常用:
1
db2 importfrom'filename'of del MODIFIED BY COMMITCOUNT 50000 COMPOUND=1000insertinto tabname
db2
1
db2 –cvf xxx.sql
导入存储过程/函数
1
db2 -td@ -v -f e:\procudure.sql
导出
export
单个表导出数据,支持IXF,DEL或WSF。
1 2 3 4 5 6 7 8
# 标准语法 db2 export to'XXXX.ixf'of ixf select * from XXXX where XXXX
# 不同字符集的导出 MODIFIED BY CODEPAGE=1386 db2 exprot to'filename.del'of del MODIFIED BY CODEPAGE=1386select * from XXXX where XXXX
# 时间字段格式化的 MODIFIED BY TIMESTAMPFORMAT="yyyy-mm-dd hh:mm:ss tt" db2 exprot to'filename.del'of del MODIFIED BY TIMESTAMPFORMAT="yyyy-mm-dd hh:mm:ss tt" select * from XXXX where XXXX
其中XXXX.ixf、filename.del文件的路径+名称。
db2move
导入数据库的所有表及数据
1
db2move <数据库名> import
db2look
导出表创建语句
1 2
db2look -d xxxpas -e -a -x -i pas -w pas123 -o e:\db2look.sql db2look -d <数据库名> -u <用户> -e -o <脚本名称>.sql
备份与恢复
缺点:必须断开所有连接,属于离线备份。
准备工作
首先,在指定存放文件备份的目前建立对应数据的文件夹。 第二,在执行下列命令,断开所有连接:
1 2 3 4 5
# 断开所有连接 db2 force application all
# 查看是否还有连着连接 db2 list applications
如果还有连接,请继续等待,直至到没有连接。
备份
1 2 3
db2 backup db <database name> [ to<dir name> ] # demo db2 backup db $生产库名 to $备份路径 PARALLELISM 2 COMPRESS
database name:表示数据库。 to dir name:表示为备份到的目录路径,为可选项,默认在当前目录下。
检查
1
db2ckbkp -h <databasename>
备份的数据库全名。
恢复
1
db2 restore db <OLD_DB_NAME> [ from<dir name> ] taken at 20190505181334 into <NEW_DB_NAME>
OLD_DB_NAME:表示恢复的数据库名。 NEW_DB_NAME:新的数据库名称。 from dir name:表示为备份到的目录路径,为可选项,默认在当前目录下。 20190505181334:backup备份的时候有个时间。