DB数据库导入导出
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D B2数据导入导出
2012年3月12日
编辑:徐彦
一、环境
操作系统:RedhatLinuxAS5.5
(-128.el5PAE#1SMPi686i386GNU/Linux)
数据库版本:DB2WorkGroup版V9.7.0
(数据库版本可通过连接数据库来查看,db2connecttodbname)
二、声明
●实例用户,默认为db2inst1
●Das用户,默认为dasusr1
●数据库安装目录($INSTHOME),默认为/opt/ibm/db2/V9.7
●实例安装目录($HOME),默认为/home/db2inst1/
●实例名:db2inst1
●数据库名:
三、导出具体步骤
3.1导出对象结构
建议单独创建一个数据导出目录,利于导出文件整理的清晰。
$su–db2inst1
#切换至db2inst1用户
$cd/
#
$db2connectto
#连接至数据库
$db2look–d
#导出数据库对象创建脚本
例子:
数据库名为meibof
3.2导出数据库数据
(建议在
db2move
(如果导出是发现有warning,在上面的命名后面加上-aw参数)
以数据库名为meibof为例:
四、导入具体步骤
4.1建立新数据库
$su–db2inst1
#切换至db2inst1用户
db2createdb
创建名为meibof的数据库:
4.2执行
切换到放置
db2–tvf
(单次导入有可能丢失数据结构,建议连续执行3次,导入完成后,和开发人员确认数据库对象的数量,尤其是存储过程。)
4.3导入数据
切换到放置db2move导出数据的目录
db2move
4.4一致性检查
原理:如果发现有表存在检查挂起状态(由于检查约束的原因),则输入命令如下
db2setintegrityforschema.tablenameimmediatechecked将其转换成正常状态。
首先利用sql语句得到要检查的表的执行语句
主要命令:
db2"select'db2setintegrityfor
以数据库名meibof,SCHEMA名meibof为例:
查出有14张表需要转换成正常状态。
在上一条语句末加上>filename.sh把要添加的sql语句添加到脚本文件
如下例:
用vi文本编辑器打开脚本文件:
1)在第一行加入连接数据库sql语句;
2)在最后一行加入commit命令,db2commit
执行完后再次检查发现没有需要更正的:
说明:如果还有需要更正的表,则反复执行上述操作。
五、附录
5.1db2look用法
db2look版本8.2
db2look:生成DDL以便重新创建在数据库中定义的对象
语
法:db2look-dDBname[-e][-uCreator][-zSchema][-tTname1Tname2...TnameN][-twTname][-h][-o Fname][-a]
???????????????????????[-m][-c][-r][-l][-x][-xd][-f][-fd][-tdx][-noview][-iuserID][-w password]
???????????????????????[-vVname1Vname2...VnameN]
???????????????????????[-wrapperWrapperName][-serverServerName][-nofed]
?????db2look-dDBname[-uCreator][-s][-g][-a][-tTname1Tname2...TnameN]
??????????????????????[-p][-oFname][-iuserID][-wpassword]
?????db2look[-h]
???????-d:数据库名称:这必须指定
???????-e:抽取复制数据库所需要的DDL文件
???????????此选项将生成包含DDL语句的脚本
???????????可以对另一个数据库运行此脚本以便重新创建数据库对象
???????????此选项可以和-m选项一起使用
???????-u:创建程序标识:若-u和-a都未指定,则将使用$USER
???????????如果指定了-a选项,则将忽略-u选项
???????-z:模式名:如果同时指定了-z和-a,则将忽略-z
???????????联合部分的模式名被忽略
???????-t:生成指定表的统计信息
???????????可以指定的表的数目最多为30
???????-tw:为名称与表名的模式条件(通配符)相匹配的表生成DDL
???????????当指定了-tw选项时,-t选项会被忽略
???????-v:只为视图生成DDL,当指定了-t时将忽略此选项
???????-h:更详细的帮助消息
???????-o:将输出重定向到给定的文件名
???????????如果未指定-o选项,则输出将转到stdout