2008年1月7日星期一

IBM DB2 31技巧

发布时间:2008.01.07 04:56 来源:赛迪网 作者:20363

1.查看本地节点目录

命令窗口中输入:

db2 list node directory

2.编目一个TCP/IP节点

命令窗口:

db2 catalog tcpip node
remote server
ostype AIX ¦WIN95 ¦NT ¦HPUX ¦
SUN ¦MVS ¦OS400 ¦
VM ¦VSE ¦SCO ¦SGI ¦
LINUX ¦DYNIX>

3.取消节点编目

db2 uncatalog node

4.查看系统数据库目录

db2 list database directory

5.查看本地数据库目录

db2 list database directory on <盘符>

在本地数据库目录中有而系统数据库目录中没有的数据库不能访问,可以在控制中心中选中 <数据库> 右键单击选择添加,然后输入需要添加的数据库名称或者点击刷新按钮选择数据库,加入数据库后即可以访问。

6.编目数据库

db2 catalog database as
at node

7.取消数据库编目

db2 uncatalog database

8.测试远程数据库的连接

db2 connect to user
using

9.任何用户均可通过设置Current Schema专用寄存器为特定的数据库连接设置默认模式,初始默认值为当前会话用户的权限ID。

set schema = 可以由用户交互式的使用,也可在应用程序中使用,如果用Dynamicrules Bind选项绑定包,这个语句就没有作用。此语句不在事务控制之下。

10.代码页的设置

在创建数据库时设置字符集

create database using
codeset territory

例:

create database dbtest using codeset
IBM-437 territory US

也可以设置整个数据库的代码页,在win2000/NT/xp中,在我的电脑--> 属性--> 高级--> 环境变量中添加变量DB2CODEPAGE = ,例:DB2CODEPAGE = 437 或 DB2CODEPAGE = 1386。或者在IBM DB2命令窗口输入 db2set DB2CODEPAGE=1386,设置后需要重新启动DB2生效。

11.DB2低版本数据到高版本的迁移

先将低版本数据备份使用恢复功能导入高版本数据库,然后在命令窗口输入:

db2 migrate database

12. 表名或模式中含有引号时访问表

命令窗口:

db2 select * from \ "tabschema\ ".\ "tabname\ "
命令行处理器:db2=> select * from "tabschema ". "tabname "

13. 导出数据库的表结构生成DDL文件

命令窗口:

db2look -d -e -c -o

14. 执行脚本文件

命令窗口:

db2 -tvf

15. 代码页的转换

16. 获取当前DB2的版本

select * from sysibm.sysversions

17. DB2表的字段的修改限制?

只能修改VARCHAR2类型的并且只能增加不能减少

alter table alter column
set data type varchar(SIZE)

18.如何查看表的结构?

describe table
or
describe select * from .

19. 如何快速清除一个大表?

ALTER TABLE TABLE_NAME ACTIVE NOT
LOGGED INITALLY WITH EMPTY TABLE

20. 如何查看数据库的存储过程?

SELECT * FROM SYSCAT.PROCEDURES

21. 如何查看表的约束?

SELECT * FROM SYSCAT.CHECKS
WHERE TABNAME =

22. 如何查看表的引用完整约束?

SELECT * FROM SYSCAT.REFERENCES
WHERE TABNAME =

23. 如何知道BUFFERPOOLS状况?

select * from SYSCAT.BUFFERPOOLS

24.如何在命令行下查看修改实例和数据库配置参数?

查看实例配置参数:

db2 get dbm cfg

修改实例配置参数:

db2 update dbm cfg using 参数名 新值

修改数据库配置参数:

db2 update db cfg for
using 参数名 新值

25.如何修改缓冲区?

增加缓冲区:

create bufferpool size
[pagesize 4096]
{[not] EXTENDED STORAGE}

修改缓冲区:

alter bufferpool size
{[not] EXTENDED STORAGE}

删除缓冲区:

drop bufferpool

如果缓冲区大小设置为 -1 表示缓冲池的页面数目由数据库配置参数buffpage决定。

注意: 数据库配置参数buffpage仅对缓冲区大小设置为 -1 的缓冲池起作用。

26. 多个字段时如何不通过使用select子句使用in/not in

select * from tabschema.tabname where
(colA, colB, colC) [not] in (values
(valueA1, valueB1, valueC1),
(valueA2, valueB2, valueC2),
...(valueAn, valueBn, valueCn))

27. 查看当前连接到数据库的应用

db2 list application [show detail]

28. 如何确认DB2数据库的一致性

db2dart /DB

/DB表示检查整个数据库的一致性

29. 测试SQL语句的性能

db2batch -d -f
[-a userid/passwd] [-r ]

-r 选项表示将查询结果输出到一个文件中。

30. 导出某个表的数据

export to

如:导出用户表

export to c:\user.ixf of ixf select * from user

31.导入数据

import from

如:导入用户表。导入时可以直接建立新表。如果有该表存在也可以用INSERT 插入,或者用UPDATE更新。

执行导入:

import from c:\user.ixf of ixf
[Create/Insert into / update] tablename

没有评论:

归档