分享
 
 
 

DB2 实用程序介绍之数据移动实用程序

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

db2move

db2move 是用于在 DB2 数据库之间移动大量表的一个数据移动工具。这个命令中支持的动作有 EXPORT、IMPORT、LOAD 和 COPY。EXPORT、IMPORT 和 LOAD 这几个动作的行为与前一屏中描述的完全相同。您可能不熟悉的惟一一个动作就是 COPY。它将一个或多个模式中的表复制到一个目标数据库中。db2move 的语法很简单:

db2move database_name

action

options

db2move 将一组用户表从系统编目表中提取出来,并将每个表以 PC/IXF 格式导出。然后,PC/IXF 文件可以被导入或装载到另一个 DB2 数据库中。

下面是一些例子。这个命令用指定的用户 ID 和密码以 REPLACE 模式导入 sample 数据库中的所有表:

db2move sample IMPORT -io REPLACE -u userid -p password

下面的命令以 REPLACE 模式装载 db2admin 和 db2user 这两个模式下的所有表:

db2move sample LOAD -sn db2admin,db2user -lo REPLACE

请参考 Command Reference,以获得所有选项的完整列表和相关描述。不过,COPY 动作值得一谈。在 COPY 动作中,可以用 -sn 选项指定一个或多个模式。只有具有 -sn 选项中指定的模式名的表才被复制(通过导出)。如果指定多个模式名,则使用逗号将它们隔开,这里不允许使用空格。请参考下面的例子。

db2move sample COPY -sn db2inst1,prodschema -co TARGET_DB acctdb USER peter

USING petepasswd DDL_AND_LOAD

上面的 db2move 命令复制 db2inst1 和 prodschema 模式下受支持的对象。后面跟着的 -co 选项使这个命令更加有趣。TARGET_DB 选项指定这些模式将被复制到的目标数据库。当指定了 COPY 动作时,这个选项是强制性的。此外,目标数据库必须不同于源数据库。当连接到目标数据库时,可以通过 USER 和 USING 选项提供用户名和密码。

默认情况下,db2move 命令将根据源模式创建受支持的对象,并填充目标数据库中的表。这是 DDL_AND_LOAD 模式的行为。有两种可用的模式:DDL_ONLY 和 LOAD_ONLY。顾名思义,DDL_ONLY 只根据源模式创建所有受支持的对象,而 LOAD_ONLY 则将所有指定的表从源数据库装载到目标数据库。注意,当使用这个选项时,那些表必须已经存在于目标数据库中。

在将对象复制到目标数据库时,可能需要重新命名模式。可以使用 SCHEMA_MAP 选项来实现这个目的。您只需提供一个或多个模式映射对,就像下面这样:

SCHEMA_MAP ((source_schema1,target_schema1),(source_schema2,target_schema2))

在使用 SCHEMA_MAP 选项时要特别小心。只有对象本身的模式被重命名,而对象主体中的对象仍保持不变。例如:

CREATE VIEW FOO.v1 AS 'SELECT c1 FROM FOO.T1'

将模式从 FOO 重命名为 BAR 将导致:

CREATE VIEW BAR.v1 AS 'SELECT c1 FROM FOO.T1'

如果 FOO.T1 没有定义,那么目标数据库中就不能成功地创建 BAR.v1。

这样的映射思想同样适用于表空间。例如,假设您想将复制的表存储在与源数据库不同的一个表空间中。那么需要扩展 db2move 命令,以便指定表空间名称映射。考虑下面的选项:

TABLESPACE_MAP ((TS1,TS2),(TS2,TS3),SYS_ANY)

上面的表空间名称映射表明,源 TS1 被映射到目标 TS2,源 TS2 被映射到目标 TS3。SYS_ANY 表明剩下的表空间将使用数据库管理器根据表空间选择算法选择的表空间。让我们来看一个综合性的例子。

db2move sample COPY -sn db2inst1,prodschema

-co TARGET_DB acctdb USER peter USING petepasswd LOAD_ONLY

SCHEMA_MAP ((db2inst1,db2inst2),(prodschema,devschema))

TABLESPACE_MAP SYS_ANY

NONRECOVERABLE

这个命令将 db2inst1 和 prodschema 中受支持的对象从 SAMPLE 数据库复制到 ACCTDB 数据库。授权 id peter 和相关的密码用于连接到 ACCTDB。目标表已经存在于 ACCTDB 中,这些表将被重新填充。db2inst1 和 prodschema 模式下的所有对象现在分别在 db2inst2 和 devschema 模式下。最后不使用 SAMPLE 数据库中定义的表空间名称,而是使用 ACCTDB 中默认的表空间。

NONRECOVERABLE 选项允许用户在复制完成之后立即使用装载的目标表空间。这里不要求备份表空间,但是强烈建议在早期方便的时候作一个备份。

db2look

db2look 是可以从命令行提示符下和 Control Center 中调用的一个方便的工具。这个工具可以:

从数据库对象中提取数据库定义语言(DDL)语句。

生成 UPDATE 语句,用于更新数据库管理器和数据库配置参数。

生成 db2set 命令,用于设置 DB2 概要注册表。

提取和生成数据库统计报告。

生成 UPDATE 语句,用于复制关于数据库对象的统计信息。

LOAD 之类的实用程序要求目标表已经存在。您可以使用 db2look 提取表的 DDL,在目标数据库上运行它,然后调用装载操作。db2look 非常容易使用,下面的例子展示了这一点。这个命令生成 peter 在数据库 department 中创建的所有对象的 DDL,输出被存储在 alltables.sql 中。

db2look -d department -u peter -e -o alltables.sql

下面的命令生成:

数据库 department 中所有对象的 DDL(由 -d、-a 和 -e 选项指定)。

UPDATE 语句,用于复制数据库中所有表和索引的统计信息(由选项 -m 指定)。

GRANT 授权语句(由选项 -x 指定)。

用于数据库管理器和数据库配置参数的 UPDATE 语句和用于概要注册表的 db2set 命令(由选项 -f 指定)。

db2look -d department -a -e -m -x -f -o db2look.sql

db2look 还可以生成用于注册 XML 模式的命令。下面的例子生成模式名为 db2inst1 的对象所需的 REGISTER XMLSCHEMA 和 COMPLETE XMLSCHEMA 命令(由选项 -xs 指定)。/home/db2inst1 中将创建输出 db2look.sql,这个目录由 -xdir 选项指定。

db2look -d department -z db2inst1 -xs -xdir /home/db2inst1 -o db2look.sql

db2batch

基准测试是从各种不同方面(例如数据库响应时间、cpu 和内存使用情况)对应用程序进行评测的一个过程。基准测试基于一个可重复的环境,以便能够在相同的条件下运行相同的测试。之后,对测试收集到的结果可以进行评估和比较。

db2batch 是一种基准测试工具,它以一组 SQL 和/或 XQuery 语句作为输入,动态地准备语句和描述语句,并返回一个结果集。取决于 db2batch 命令中所使用的选项,结果集可以返回这些语句的执行时间、关于内存使用情况(例如缓冲池)的数据库管理器快照和缓存信息。

可以在一个 flat 文件或标准输入中指定要运行基准测试的语句。在输入文件中可以设置很多控制选项。指定这些选项的语法是:--#SET control_option value 。下面是包含控制选项的一个输入文件的例子。要获得控制选项的完整列表,请参考 Information Center。

-- db2batch.sql

-- ------------

--#SET PERF_DETAIL 3

--#SET ROWS_OUT 5

-- This query lists employees, the name of their department

-- and the number of activities to which they are assigned for

-- employees who are assigned to more than one activity less than

-- full-time.

--#COMMENT Query 1

select lastname, firstnme,

deptname, count(*) as num_act

from employee, department, emp_act

where employee.workdept = department.deptno and

employee.empno = emp_act.empno and

emp_act.emptime < 1

group by lastname, firstnme, deptname

having count(*) > 2;

--#SET PERF_DETAIL 1

--#SET ROWS_OUT 5

--#COMMENT Query 2

select lastname, firstnme,

deptname, count(*) as num_act

from employee, department, emp_act

where employee.workdept = department.deptno and

employee.empno = emp_act.empno and

emp_act.emptime < 1

group by lastname, firstnme, deptname

having count(*) <= 2;

选项 PERF_DETAIL 3 意味着将返回关于花费的时间和数据库管理器、数据库及应用程序的快照这些性能方面的细节。

选项 ROWS_OUT 5 意味着无论查询返回的实际行数是多少,只从结果集中取 5 行。

COMMENT Query1 将语句命名为 Query1。

下面的命令在 SAMPLE 数据库上调用基准测试工具,输入文件为 db2batch.sql。

db2batch -d sample -f db2batch.sql

这个命令将返回查询的结果集(限 5 行)和查询所花费的时间及 CPU 时间。另外还返回数据库管理器、数据库和应用程序快照。由于输出很大,因此这里只显示 db2batch 命令的概要。

* Summary Table:

Type Number Repetitions Total Time (s) Min Time (s) ...

--------- ----------- ----------- -------------- --------------

Statement 1 1 0.052655 0.052655 ...

Statement 2 1 0.004518 0.004518 ...

...Max Time (s) Arithmetic Mean Geometric Mean Row(s) Fetched Row(s) Output

-------------- --------------- -------------- -------------- -------------

... 0.052655 0.052655 0.052655 5 5

... 0.004518 0.004518 0.004518 8 5

* Total Entries: 2

* Total Time: 0.057173 seconds

* Minimum Time: 0.004518 seconds

* Maximum Time: 0.052655 seconds

* Arithmetic Mean Time: 0.028587 seconds

* Geometric Mean Time: 0.015424 seconds

db2batch 命令支持很多选项。这里只列出其中一些选项,让您对这个工具的威力有所了解。

-m parameter_file 用参数值指定用于绑定到 SQL 语句参数占位符的一个输入文件。

-r result_file 指定存放命令结果的输出文件。

-i short|long|complete 指定从哪个方面测量所花费的时间。short 测量运行每条语句所花费的时间。long 测量运行每条语句所花费的时间,包括语句之间的开销。complete 测量运行每条语句所花费的时间,分别报告准备、执行和取数据的时间。

-iso 指定语句使用的隔离级别。默认情况下,db2batch 使用 Repeatable Read 隔离级别。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有