补充:
1.查看本地节点目录
db2 list node directory
2.编目一个TCP/IP节点
db2 catalog tcpip node <node_name> remote <hostname | ip_address> server <svcname | port_number> ostype <OS2 |
AIX | WIN95 | NT | HPUX | SUN | MVS | OS400 |VM | VSE | SCO | SGI | LINUX | DYNIX>
3.取消节点编目
db2 uncatalog node <node_name>
4.查看系统数据库目录(查看系统中有哪些数据库)
db2 list database directory
5.查看本地数据库目录
db2 list database directory on <盘符>
db2 list database directory on D:\
在本地数据库目录中有而系统数据库目录中没有的数据库不能访问,可以在控制中心中选中 <数据库> 右键单击选择添加,然后输入需要添加的数据库名称或者点击刷新按钮选择数据库,加入数据库后即可以访问。
6.编目数据库
db2 catalog database <db_name> as <db_alias> at node <node_name>
7.取消数据库编目
db2 uncatalog database <db_name>
8.测试远程数据库的连接
db2 connect to <db_alias> user <user_id> using <password>
断开当前数据库连接: db2 connect reset 或者 db2 disconnect current
断开所有数据库的连接:db2 disconnect all
9.任何用户均可通过设置Current Schema专用寄存器为特定的数据库连接设置默认模式,初始默认值为当前会话用户的权限ID。
set schema = 可以由用户交互式的使用,也可在应用程序中使用,如果用Dynamicrules Bind选项绑定包,这个语句就没有作用。此语句不在事务控制之下。
10.代码页的设置
在创建数据库时设置字符集
create database <db_name> using codeset <codeset> territory <territiry>
例: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 <db_name>
12. 表名或模式中含有引号时访问表
命令窗口:
db2 select from \ “tabschema\ “.\ “tabname\ “
命令行处理器:db2=> select from “tabschema “. “tabname “
13. 导出数据库的表结构生成DDL文件
命令窗口:
db2look -d <db_name> -e -c -o <file_name>
14. 执行脚本文件
命令窗口:
db2 -tvf <file_name>
15.检查数据库备份的完整性
db2ckbkp -h D:\test\test.0\db2\node0000\catn0000\20071108\0953 33.001
16. 获取当前DB2的版本
select from sysibm.sysversions
17. DB2表的字段的修改限制?
只能修改VARCHAR2类型的并且只能增加不能减少
alter table <tb_name> alter column
<col_name> set data type varchar(SIZE)
18.如何查看表的结构?
describe table <tb_name> or describe select from <schema> . <tb_name>
19. 如何快速清除一个大表?
ALTER TABLE TABLE_NAME ACTIVE NOT LOGGED INITALLY WITH EMPTY TABLE
20. 如何查看数据库的存储过程?
SELECT FROM SYSCAT.PROCEDURES
21. 如何查看表的约束?
SELECT FROM SYSCAT.CHECKS
WHERE TABNAME = <tb_name>
22. 如何查看表的引用完整约束?
SELECT FROM SYSCAT.REFERENCES WHERE TABNAME = <tb_name>
23. 如何知道BUFFERPOOLS状况?
select from SYSCAT.BUFFERPOOLS
24.如何在命令行下查看修改实例和数据库配置参数?
查看实例配置参数:
db2 get dbm cfg 察看某个数据库配置参数:
db2 get db cfg for <dbname>
修改实例配置参数:
db2 update dbm cfg using 参数名 新值
修改数据库配置参数:
db2 update db cfg for <db_name> using 参数名 新值
25.如何修改缓冲区?
增加缓冲区:
create bufferpool <buf_name> size <number of pages> [pagesize 4096] {[not] EXTENDED STORAGE}
修改缓冲区:
alter bufferpool <buf_name> size <number of pages> {[not] EXTENDED STORAGE}
删除缓冲区:
drop bufferpool <buf_name>
如果缓冲区大小设置为 -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_name> /DB
/DB表示检查整个数据库的一致性
29. 测试SQL语句的性能
db2batch -d <db_name> -f <file_name> [-a userid/passwd] [-r <outfile_name> ]
-r 选项表示将查询结果输出到一个文件中。
30. 导出某个表的数据
export to <Derectry> <filme>
如:导出用户表
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
32、创建数据库
db2 create db 或 DB2 CREATE DATABASE <dbname> ON <directory> USING CODESET UTF-8 TERRITORY CN COLLATE USING SYSTEM
例如:
DB2 CREATE DATABASE TEST ON D: USING CODESET UTF-8 TERRITORY CN COLLATE USING SYSTEM
删除数据库
db2 drop db <dbname>
如果不能删除,断开所有数据库连接或者重启 db2 。
33、复原数据库
DB2 RESTORE DATABASE <dbname> FROM <directory> TAKEN AT 20081010184518 WITH 1 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING
例如:
DB2 RESTORE DATABASE TEST FROM D:\ TAKEN AT 20081010184518 WITH 1 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING
前滚至日志末尾:
DB2 ROLLFORWARD DATABASE <dbname> TO END OF LOGS AND COMPLETE
