DB2 常用命令

来源:互联网 发布:淘宝优惠款 编辑:程序博客网 时间:2024/05/19 00:07
Avoid using force application all:

db2 => list applications

Auth Id  Application    Appl.      Application Id                                                 DB       # of
         Name           Handle                                                                    Name    Agents
-------- -------------- ---------- -------------------------------------------------------------- -------- -----
DB2INST1 db2bp          259        *LOCAL.db2inst1.100127095501                                   LUJUN    1    

db2 => drop db test
SQL1035N  The database is currently in use.  SQLSTATE=57019

db2 => force application (259)
DB20000I  The FORCE APPLICATION command completed successfully.
DB21024I  This command is asynchronous and may not be effective immediately.




connect to sample user abc using xxx

db2 force application all : 强制停止所有数据库链接
 db2stop force : 停止DB2
 db2start : 启动数据库

 SET INTEGRITY FOR [ MView Table Name ] IMMEDIATE CHECKED :
 REFRESH TABLE [ MView Table Name ] 对建立的MView物化视图进行refresh操作。


 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>
 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 <盘符>
 
 在本地数据库目录中有而系统数据库目录中没有的数据库不能访问,可以在控制中心中选中<数据库>右键单击选择添加,然后输入需要添加的数据库名称或者点击刷新按钮选择数据库,加入数据库后即可以访问。
 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>
 9. 任何用户均可通过设置Current Schema专用寄存器为特定的数据库连接设置默认模式,初始默认值为当前会话用户的权限ID。
 set schema = <schema name>
 可以由用户交互式的使用,也可在应用程序中使用,如果用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
 = <codepage>,例: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. 代码页的转换
 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 update dbm cfg using 参数名 新值
 查看数据库配置参数: db2 get db cfg for <db_name>
 修改数据库配置参数: 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