经典资料,WORD文档,可编辑修改,欢迎下载交流。 7.14 得到一个表或库的相关脚本 db2look -d gtjazb -t tb_branch -e -o out.log –p 可以得到和该表相关的全部脚本,但不包括trigger。也可以得到整个数据库的脚本 7.15 在对表操作的性能下降后对表做整理 db2 reorg table db2inst1.tb_brclose_stock_balance 指定系统临时表空间tablespace db2 \带index的: db2 \table kstar.tb_posi_stat index kstar.posi_stat_idx0 use TMPSYSTBS16\ 对表的存储做整理,在表使用了一段时间后,特别是update和delete比较多时,数据在数据库内的存储会很乱,带来的直接的问题就是运行速度会很慢。在这种情况下就应该对这张表整理一下。 但要注意: 在做reorg时会把数据全部放到系统临时表空间中,所以要注意把临时表空间开得足够大,同时还要考虑文件系统的限制。 db2 reorgchk on table db2inst1.tb_brclose_stock_balance 因为做一次reorg需要的时间会比较长,有时不知道是不是应该对该表重新整理,可以先检查一下。 共会有6个指标,分base表和index各有3个指标,在每个的最后有一列,reorg,如果是?---?则不需要做reorg,如果有*则说明需要做reorg。 db2 runstats on table db2inst1.tb_brclose_stock_balance db2 runstats on table db2inst1.tb_brclose_stock_balance and detailed indexes all detailed选项是统计表数据的相关的物理分布。 这个是重新统计该表的数据信息,因为DB2在做查询优化的时候是根据表的统计信息来选择合适的执行计划的。如果数据在变动比较大的时候,就应该做一下表数据的重新统计。 做完runstatus后在将过程再bind一次。 使用脚本来完成: db2 \'db2 reorgchk on table kstar.'||tabname from syscat.tables where tabschema='KSTAR' and tabname not like '%_BACKUP_%' with ur\经典资料,WORD文档,可编辑修改,欢迎下载交流。 31 经典资料,WORD文档,可编辑修改,欢迎下载交流。 db2 \ from syscat.tables where tabschema='KSTAR' and type='T' and tabname not like '%_BACKUP_%' with ur\ db2 \'db2 runstats on table kstar.'||tabname || ' and indexes all' from syscat.tables where tabschema='KSTAR' and type='T' and tabname not like '%_BACKUP_%' with ur\ db2 \'rebind package '||pkgname||';' from syscat.packages where pkgschema='KSTAR' with ur \7.16 查看语句的执行计划 dynexpln -d gtjazb -f test.sql -o test.out -g -z ';' sql语句放在test.sql中,结果输出到test.out。 7.17 查看sp的执行计划 db2expln -c kstar -d zbdb -o test.out -p P2806220 -s 0 -p 是存储过程的id 建过索引或runstats后,要重新绑定过程. Db2 “rebind package P2806220” 7.18 更改存储过程的隔离级别 C的存储过程: 在bind的时候指定隔离级别 SQL的存储过程: 在构建的时候更改环境变量的设置. 7.19 取全部表的大小 drop PROCEDURE pr_gettbsize@ CREATE PROCEDURE pr_gettbsize (in i_tbsname varchar(100), in i_schema varchar(100), out o_status smallint) LANGUAGE SQL 经典资料,WORD文档,可编辑修改,欢迎下载交流。 32 经典资料,WORD文档,可编辑修改,欢迎下载交流。 Proc: BEGIN declare v_cnt integer default 0; declare v_tabname, v_space varchar(100); declare sqlcode integer default 0; declare stmt varchar(1000); declare c1 CURSOR for SELECT tabname from syscat.tables where = upper(i_tbsname) and TABSCHEMA = upper(i_schema) order by tabname; OPEN C1; fetch_loop: loop fetch c1 into v_tabname ; if sqlcode <>0 then leave fetch_loop; END if; set stmt = 'insert into tb_tbsize '|| '(ndate ,tabname , tablen ,tabcnt, tb_schema, tb_tbsname) '|| 'SELECT current date, '||chr(39)||v_tabname||chr(39)||', '|| '(SELECT sum(length) from syscat.columns '|| 'where tabschema = upper('||chr(39)||i_schema||chr(39)||') and '|| 'tabname = '||chr(39)||v_tabname||chr(39)||'), '|| '(SELECT count(*) from '||i_schema||'.'||v_tabname||'),'|| chr(39)||i_schema||chr(39)||','||chr(39)||i_tbsname||chr(39)|| ' from syscat.tables '|| 'where tabschema = upper('||chr(39)||i_schema||chr(39)||') and '|| 'tabname = '||chr(39)||v_tabname||chr(39); prepare s1 from stmt; execute s1; 经典资料,WORD文档,可编辑修改,欢迎下载交流。 33 经典资料,WORD文档,可编辑修改,欢迎下载交流。 END loop fetch_loop; COMMIT; END proc @ 8 DB2系统管理 8.1 DB2 EE及WORKGROUP版本的区别 Workgroup版本和EE的区别主要在于两方面: 1、 并行性workgroup比较差 2、 主机连接(即和大型机的连接性能上)比较差 3、 只能用于4个CPU以下的环境。 8.2 怎样判断DB2实例的版本号和修补级别? 用db2level命令。在DB2 5.2及以上版本中,在安装每个DB2实例时,即会 装入db2level程序。db2level命令的输出提供了有关DB2实例的版本及 修补级别的详细信息。 命令输出如下所示: DB21085I Instance \ release \ \ and \ 例如: DB21085I Instance \ with level identifier \ \ 下面解释以下这些信息: = DB2 DB2的实例名 = SQL05020 Release号05,Version号02,Module号0 = 02070103 内部使用的DB2版本号 = DB2 v5.2.0.30 实例的版本信息 = c990717 代码的级别信息 = WR2119 修补的级别信息 注:db2level执行程序不能在不同的系统之间拷贝使用。 并且此程序只显示正式支持的修补级别信息。 经典资料,WORD文档,可编辑修改,欢迎下载交流。 34 经典资料,WORD文档,可编辑修改,欢迎下载交流。 对于DB2版本5.0和2.0,可用如下方法获得版本信息: OS/2:syslevel命令 NT:查询regedit变量:HKEY_LOCAL_MACHINE | SOFTWARE | IBM | DB2 | DB2 universal database xx edition | CurrentVersion AIX:用dump -H $HOME/sqllib/lib/libdb2e.a Solaris: cat命令查看文件信息 /opt/IBMdb2/V5.0/cfg/bldlevel or \ $HOME/sqllib/lib/libdb2e.so | grep engn|grep search|uniq\ HP: cat命令查看文件信息 /opt/IBMdb2/V5.0/cfgbldlevel 8.3 DB2客户端安装时选择语言 在缺省情况下,是按照操作系统的语言来安装的,如中文windows下装的就是中文的db2. 如果要在中文windows中安装英文db2,则要到命令行的模式下 setup /ien 即可 setup /icn 简体中文 setup /itw 繁体中文 可以看readme.txt中的内容 8.4 DB2安装 8.4.1 AIX中自动启动db2 在aix的/etc/目录下创建文件rc.db2,属性为 -rwxr-xr-- 1 root system rc.db2 内容为: #!/bin/bsh ############################################################################# # # Licensed Materials - Property of IBM # # 5648-B90 # (C) COPYRIGHT International Business Machines Corp. 1993, 经典资料,WORD文档,可编辑修改,欢迎下载交流。 35
数据库管理系统DB2手册112页 - 图文(7)
2019-01-19 17:43
数据库管理系统DB2手册112页 - 图文(7).doc
将本文的Word文档下载到电脑
下载失败或者文档不完整,请联系客服人员解决!