DB数据库导入导出精修订

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

D B数据库导入导出

集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

DB2数据导入导出

2012年3月12日

编辑:徐彦

一、环境

操作系统:Redhat Linux AS

( #1 SMP i686 i386 GNU/Linux)

数据库版本:DB2 WorkGroup版 V9.7.0

(数据库版本可通过连接数据库来查看,db2 connect to dbname)二、声明

●实例用户,默认为db2inst1

●Das用户,默认为dasusr1

●数据库安装目录($INSTHOME),默认为/opt/ibm/db2/

●实例安装目录($HOME),默认为/home/db2inst1/

●实例名:db2inst1

●数据库名:

三、导出具体步骤

导出对象结构

建议单独创建一个数据导出目录,利于导出文件整理的清晰。

$ su – db2inst1

# 切换至db2inst1用户

$ cd /

#为导出目录,例如/home/db2inst1/dbdmp(db2inst1要有相应的读写权限)$ db2 connect to

# 连接至数据库

$ db2look –d -e –a –l –o .sql

# 导出数据库对象创建脚本

例子:

数据库名为meibof

导出数据库数据

(建议在目录下另建db2move的目录用来存放导出数据,因为db2move命令会产生若干文件)

db2move export

(如果导出是发现有warning,在上面的命名后面加上 -aw参数)

以数据库名为meibof为例:

四、导入具体步骤

建立新数据库

$ su – db2inst1

# 切换至db2inst1用户

db2 create db (建议使用db2cc工具来进行创建数据库)

创建名为meibof的数据库:

执行.sql脚本创建数据库

切换到放置.sql的目录

db2 –tvf .sql

(单次导入有可能丢失数据结构,建议连续执行3次,导入完成后,和开发人员确认数据库对象的数量,尤其是存储过程。)

导入数据

切换到放置db2move导出数据的目录

db2move load

一致性检查

原理:如果发现有表存在检查挂起状态(由于检查约束的原因),则输入命令如下

db2 set integrity for immediate checked将其转换成正常状态。

首先利用 sql 语句得到要检查的表的执行语句

主要命令:

db2 "select 'db2 set integrity for .'||TABNAME||' immediate checked' from w here TABSCHEMA='' and STATUS='C'"

以数据库名meibof,SCHEMA名meibof为例:

查出有14张表需要转换成正常状态。

在上一条语句末加上 > 把要添加的sql语句添加到脚本文件

如下例:

用vi文本编辑器打开脚本文件:

1)在第一行加入连接数据库sql语句;

2)在最后一行加入commit命令,db2 commit

执行完后再次检查发现没有需要更正的:

说明:如果还有需要更正的表,则反复执行上述操作。

五、附录

用法

db2look 版本

db2look:生成 DDL 以便重新创建在数据库中定义的对象

语法: db2look -d DBname [-e] [-u Creator] [-z Schema] [-t Tname1

Tname2...TnameN] [-tw Tname] [-h] [-o Fname] [-a]

[-m] [-c] [-r] [-l] [-x] [-xd] [-f] [-fd] [-td x] [-noview] [-i userID] [-w password]

[-v Vname1 Vname2 ... VnameN]

[-wrapper WrapperName] [-server ServerName] [-nofed] db2look -d DBname [-u Creator] [-s] [-g] [-a] [-t Tname1

Tname2...TnameN]

[-p] [-o Fname] [-i userID] [-w password]

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

-a: 为所有创建程序生成统计信息

如果指定了此选项,则将忽略 -u 选项

-m: 在模拟方式下运行 db2look 实用程序

此选项将生成包含 SQL UPDATE 语句的脚本

这些 SQL UPDATE 语句捕获所有统计信息

可以对另一个数据库运行此脚本以便复制初始的那一个

当指定了 -m 选项时,将忽略 -p、-g 和 -s 选项

-c: 不要生成模拟的 COMMIT 语句

除非指定了 -m 或 -e,否则将忽略此选项

相关文档
最新文档