db2look和db2move详解

Posted 点点滴滴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了db2look和db2move详解相关的知识,希望对你有一定的参考价值。

db2look和db2move简单实例

--- 建库
create database db_name on filesystem_location using codeset utf-8 territory cn

--- 删库
db2 drop db db_name

(若数据库正在使用, 需要先执行以下命令)
db2 force application all

--- 导出表结构
db2look -d DB_NAME -u USER_NAME -e -o FILE_TO_EXPORT.sql

--- 导入表结构
db2 -tvf FILE_TO_IMPORT.sql

--- 导出表数据
db2move DB_NAME export

--- 导入表数据
db2move DB_NAME import -u username -p password

--- 替换表数据
db2move DB_NAME load -u username -p password

(load完之后, 某些表可能需要执行以下命令才能正常使用)
set integrity for TABLE_NAME immediate checked

详细解释db2look跟db2move 参数跟使用方式

语法: db2look -d DBname [-e] [-xs] [-xdir Path] [-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] [-dp] [-ct]

[-wrapper WrapperName] [-server ServerName] [-nofed]

 

db2look [-h]

 

-d: 数据库名称:这必须指定

 

-e: 抽取复制数据库所需要的 DDL 文件

-xs: 导出 XSR 对象并生成包含 DDL 语句的脚本

-xdir: 路径名:将用来放置 XSR 对象的目录

-u: 创建程序标识:如果 -u 和 -a 都未指定,则将使用 $USER

-z: 模式名:如果同时指定了 -z 和 -a,则将忽略 -z

-t: 生成指定表的统计信息

-tw: 为名称与表名的模式条件(通配符)相匹配的表生成 DDL

-h: 更详细的帮助消息

-o: 将输出重定向到给定的文件名

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

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

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

-r: 不要生成模拟的 RUNSTATS 语句

-l: 生成数据库布局:数据库分区组、缓冲池和表空间。

-x: 生成排除对象的原始定义程序的“授权”语句 DDL

-xd: 生成包括对象的原始定义程序的“授权”语句 DDL

-f: 抽取配置参数和环境变量

-td: 将 x 指定为语句定界符(缺省定界符为分号(;))

-i: 登录到数据库驻留的服务器时所使用的用户标识

-w: 登录到数据库驻留的服务器时所使用的密码

-noview: 不要生成 CREATE VIEW ddl 语句

-wrapper: 为适用于此包装器的联合对象生成 DDL

-server: 为适用于此服务器的联合对象生成 DDL

-nofed: 不要生成 Federated DDL

-fd: 为 opt_buffpage 和 opt_sortheap 以及其他配置和环境参数生成 db2fopt 语句。

-v: 只为视图生成 DDL,当指定了 -t 时将忽略此选项

-dp: 在 CREATE 语句之前生成 DROP 语句

-ct: 按对象创建时间生成 DDL 语句

db2move 命令

db2move <database-name> <action> [<option> <value>]

首先,您必须指定数据库名(想要移动的表所在的数据库)和要执行的操作(export 和 import 或 load)。然后指定一个选项来定义操作的范围。例如,可以将一个操作限制在特定的表(-tn)、表空间(-ts)、表创建者(-tc)或模式名(-sn)范围内。指定表、表空间或表的创建者的一个子集只对 export 操作有效。如果指定多个值,就必须使用逗号将其分隔开;在值列表项之间不允许有空格。可以指定的项最多为 10 个。

另外,也可以指定 -tf 选项,此时要使用一个文件名作为参数,其中列出了要导出的表名;在该文件中,每行只能列出一个完整的表名。您还可以指定以下内容:

-io import-option

指定 DB2 的 import 工具可以运行的一种模式。有效的选项有: CREATE、 INSERT、 INSERT_UPDATE、 REPLACE 和 REPLACE_CREATE。缺省值为 REPLACE_CREATE。有关这些模式的更多内容,请参阅 DB2 的产品文档,可以从 DB2 技术支持获得这些文档。

-lo load-option

指定 DB2 的 load 工具可以运行的一种模式。有效的选项有:INSERT 和 REPLACE。缺省值为 INSERT。 有关这些模式的更多内容,请参阅 DB2 的产品文档,可以从 DB2 技术支持获得这些文档。

-l lobpaths

指定要创建或查找的 LOB 文件的位置。必须指定一个或多个绝对路径名。如果指定了多个绝对路径,就必须使用逗号将其分隔开;值之间不允许有空格。缺省值是当前目录。

-u userid
指定一个用户 ID,该工具可以使用这个用户 ID 登录到远程系统上。

-p password

指定对该用户进行认证的密码;该工具需要使用一个有效的用户 ID 和密码登录到远程系统上。

实例

1、导出到 一个文件获得sql语句
db2look -d cqyancao -e -o db.sql -i db2user -w psw
数据库名 要出文件名 用户名 密码


示例: db2look -d DEPARTMENT -u walid -e -o db2look.sql

-- 这将生成由用户 WALID 创建的所有表和联合对象的 DDL 语句
-- db2look 输出被发送到名为 db2look.sql 的文件中

示例: db2look -d DEPARTMENT -z myscm1 -e -o db2look.sql

-- 这将为模式名为 MYSCM1 的所有表生成 DDL 语句
-- 还将生成 $USER 创建的所有联合对象的 DDL。
-- db2look 输出被发送到名为 db2look.sql 的文件中

示例: db2look -d DEPARTMENT -u walid -m -o db2look.sql

-- 这将生成 UPDATE 语句以捕获关于用户 WALID 创建的表/别名的统计信息
-- db2look 输出被发送到名为 db2look.sql 的文件中

示例: db2look -d DEPARTMENT -u walid -e -wrapper W1 -o db2look.sql

-- 这将生成由用户 WALID 创建的所有表的 DDL 语句
-- 还将生成适用于包装器 W1 的用户 WALID 所创建所有联合对象的 DDL
-- db2look 输出被发送到名为 db2look.sql 的文件中

示例: db2look -d DEPARTMENT -u walid -e -server S1 -o db2look.sql

-- 这将生成由用户 WALID 创建的所有表的 DDL 语句
-- 还将生成适用于服务器 S1 的用户 WALID 所创建所有联合对象的 DDL
-- db2look 输出被发送到名为 db2look.sql 的文件中


2.使用db2move命令导出数据库
从另一数据库中导出初始化数据,首先进入导出的目录,如:D:\db,
命令为:db2move dbname export –u username –p password。注:dbname 为原数据库名,username为用户名 password为密码。

恢复命令D:\db> db2move dbname import -u username -p password

3、使用db2move导出导入单表
导出 db2move dbname export -tn yc_news -u db2user -p password
导入 db2move dbname import -u db2user -p password

4、其它相关
db2取前十条记录
例如:
db2 => select * from tableName fetch first 10 rows only

db2修改字段长度
db2 alter table db2admin.config alter cvalue set datatype varchar(255)
例如:
db2 => alter table news alter AUTHOR set data type varchar(250)
db2 => describe table news

db2增加字段方法
alter table table_name
add column column_name datatype

 

以上是关于db2look和db2move详解的主要内容,如果未能解决你的问题,请参考以下文章

db2数据库操作

DB2数据库迁移

sh 通过db2look提取所有数据库

sh 通过db2look提取所有数据库

如何在java中使用db2look命令

DB2LOOK命令提取数据库对象信息