如果是用ACTIVATE DB启动的数据库,一定要用DEACTIVATE DB才会停止该数据库。(当然如果是DB2STOP也会停止)。
使用ACTIVATE DB,这样可以减少第一次连接时的等待时间。
DATABASE如果不是使用ACTIVATE DB启动而是通过连接数据库而启动的话,当所有的连接都退出后,DB也就自动停止。
4.5 查看及停止数据库当前的应用程序
查看应用程序:
DB2 LIST APPLICATIONS SHOW DETAIL
授权标识 | 应用程序名 | 应用程序句柄 | 应用程序标识 | 序号# | 代理程序 | 协调程序 | 状态 | 状态更改时间 | DB 名 | DB 路径| | 节点号 | PID/线程
其中:1、应用程序标识的第一部分是应用程序的IP地址,不过是已16进制表示的。
2、PID/线程即是在UNIX下看到的线程号。
停止应用程序:
DB2 \DB2 “FORCE APPLICATION ALL”
其中:该236是查看中的应用程序句柄。
4.6 查看本instance下有哪些database
DB2 LIST DATABASE DIRECTORY [ ON /HOME/DB2INST1 ]
4.7 查看及更改数据库head的配置
请注意,在大多数情况下,更改了数据的配置后,只有在所有的连接全部断掉后才会生效。
查看数据库HEAD的配制 DB2 GET DB CFG FOR HEAD
更改数据库HEAD的某个设置的值
----改排序堆的大小
DB2 UPDATE DB CFG FOR HEAD USING SORTHEAP 2048 将排序堆的大小改为2048个页面,查询比较多的应用最好将该值设置比较大一些。
----改事物日志的大小
DB2 UPDATE DB CFG FOR HEAD USING LOGFILSIZ 40000
该项内容的大小要和数据库的事物处理相适应,如果事物比较大,应该要将该值改大一点。否则很容易处理日志文件满的错误。 ----出现程序堆内存不足时修改程序堆内存大小
DB2 UPDATE DB CFG FOR HEAD USING APPLHEAPSZ 40000 该值不能太小,否则会没有足够的内存来运行应用程序。
4.8 查看及更改数据库实例的配置
----查看数据库实例配置 DB2 GET DBM CFG
----打开对锁定情况的监控。
DB2 UPDATE DBM CFG USING DFT_MON_LOCK ON ----更改诊断错误捕捉级别
DB2 UPDATE DBM CFG USING DIAGLEVEL 3 0 为不记录信息 1 为仅记录错误
2 记录服务和非服务错误
缺省是3,记录DB2的错误和警告
4 是记录全部信息,包括成功执行的信息
一般情况下,请不要用4,会造成DB2的运行速度非常慢。
4.9 db2环境变量
DB2 重装后用如下方式设置DB2的环境变量,以保证SP可编译 将SET_CPL 放到AIX上, CHMOD +X SET_CPL, 再运行之
SET_CPL的内容
DB2SET DB2_SQLROUTINE_COMPILE_COMMAND=\-I$HOME/SQLLIB/INCLUDE SQLROUTINE_FILENAME.C \\ -BE:SQLROUTINE_FILENAME.EXP -E SQLROUTINE_ENTRY \\ -O SQLROUTINE_FILENAME -L$HOME/SQLLIB/LIB -LC -LDB2\DB2SET DB2_SQLROUTINE_KEEP_FILES=1
4.10 db2命令环境设置
DB2=>LIST COMMAND OPTIONS
DB2=>UPDATE COMMAND OPTIONS USING C OFF--或ON,只是临时改变 DB2=>DB2SET DB2OPTIONS=+C --或-C,永久改变
4.11 改变隔离级别
DB2SET DB2_SQLROUTINE_PREPOPTS=CS|RR|RS|UR
交互环境更改SESSION的隔离级别, DB2 CHANGE ISOLATION TO UR
请注意只有没有连接数据库时可以这样来改变隔离级别。
4.12 管理db\\instance的参数
GET DB CFG FOR HEAD(DB) GET DBM CFG(INSTANCE)
4.13 升级后消除版本问题
DB2 BIND @DB2UBIND.LST DB2 BIND @DB2CLI.LST
4.14 查看数据库表的死锁
再用命令中心查询数据时要注意,如果用了交互式查询数据,命令中心将会给所查的记录加了S锁.这时如果要UPDATE记录,由于UPDATE要使用X锁,排它锁,将会处于锁等待. 首先,将监视开关打开
DB2 UPDATE DBM CFG USING DFT_MON_LOCK ON 快照
DB2 GET SNAPSHOT FOR LOCKS ON CLEARDB >SNAP.LOG TABLES BUFFERPOOLS TABLESPACES DATABASE
然后再看SNAP.LOG中的内容即可。
对LOCK可根据APPLICATION HANDLE(应用程序句柄)看每个应用程序的锁
的情况。
监视完毕后,不要忘了将监视器关闭
DB2 UPDATE DBM CFG USING DFT_MON_LOCK OFF
八、 性能优化
1、 数据库配置
2、 统计信息
a) 更新单张表和索引的统计信息
Db2 –v runstats on table tab_name and indexes all
b) 更新全部表的统计信息
Db2 –v reorgchk update statistics on table all
c)
查看统计信息
Db2 –v “select tbname,nleaf,nlevels,stats_time from sysibm.sysindexes”
3、 Sql解析工具
a) Visual explain