DB2 ZPARMs 管理
DB2关系型数据库管理系统
DB2关系型数据库管理系统胡经国本文作者的话本文是根据有关文献和资料编写的《漫话云计算》系列文稿之一。
以此作为云计算学习笔录,供云计算业外读者进一步学习和研究参考。
希望能够得到大家的指教和喜欢!下面是正文一、概述DB2是IBM数据库产品系列的名称,是IBM出品的一系列关系型数据库管理系统,分别在不同的操作系统平台上服务。
DB2是基于SQL的关系型数据库产品。
20世纪80年代初期DB2的重点放在大型的主机平台上。
到20世纪90年代初,DB2发展到中型机、小型机以及微机平台。
DB2适用于各种硬件与软件平台。
各种平台上的DB2有共同的应用程序接口,运行在一种平台上的程序可以很容易地移植到其它平台。
DB2的用户主要分布在金融、商业、铁路、航空、医院、旅游等各个领域,以金融系统的应用最为突出。
DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。
DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。
它以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。
DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。
二、版本1、DB2 EveryplaceDB2 Everyplace 是面向个人数字助理( PDA ) 和智能电话等移动设备的移动数据解决方案,通过小如指纹的移动数据库以及客户机/服务器模式的同步解决方案,从而允许企业数据无缝地从后端的业务数据库扩展到移动设备。
DB2 Everyplace 基于三层架构,由下面三部分组成:①、移动数据库(DB2e Database)用于管理和使用移动设备或嵌入式设备上的数据。
db2的使用
db2的使用DB2是IBM公司开发的关系型数据库管理系统,它可以运行在多个操作系统平台上,如Windows、Linux、Unix和IBM的主机操作系统等。
DB2的功能非常强大,可以用于各种企业级应用程序的开发和部署。
在本文中,我们将详细介绍DB2的使用,包括安装、配置、管理和编程等方面。
一、DB2的安装和配置1、先前准备(1)确定需要安装的DB2版本和操作系统平台,以及应用场景和需求;(2)确保计算机符合DB2的最低系统要求,包括硬件和软件配置等;(3)获取适用于操作系统的DB2安装介质,可以从IBM官网或授权渠道获取。
2、安装过程(1)下载安装介质并解压缩至指定位置;(2)运行安装程序,按照提示进行安装,可以根据需要选择安装路径和组件;(3)在安装向导中选择“完整安装”,可以安装DB2服务器、客户端、控制台和示例数据库等组件;(4)在安装向导中设置DB2实例的参数,如实例名称、端口、用户名和密码等,这些参数将决定DB2服务器的启动和运行方式;(5)完成安装后,可以通过命令行或控制台查看DB2实例状态,控制服务器的启停和配置。
3、基本配置(1)启动DB2服务器可以通过控制台或命令行方式启动DB2服务器,如下:Linux/Unix平台:db2startWindows平台:db2cmd,进入命令行模式,输入db2start启动服务器。
(2)连接DB2实例db2 connect to DATABASE user USERNAME using PASSWORDDATABASE为数据库名称,USERNAME为用户名,PASSWORD为密码。
(3)创建数据库db2 create database DATABASEDATABASE为数据库名称。
(4)设定权限和用户PRIVILEGE为权限名称,USER为用户名,OBJECT为对象名称。
二、DB2的管理1、数据库的备份和还原2、数据库的维护TABLENAME为表名称。
DB2数据库管理最佳实践笔记-10日常运维
10.1 日常运维工具概述Runstats是run statistics的缩写,意思是收集统计信息,目的是为DB2优化器提供最佳路径选择;Reorg是重组的意思,目的是减少表和索引在物理存储上的碎片,提供性能;Reorgchk是重组前的检查Rebind是对一些包、存储过程或静态程序进行重新绑定。
几个工具的执行流程:首先通过Runstats收集表和索引的统计信息,然后执行Reorg重组,如果有必要则执行,然后再次收集统计信息。
最后,对于静态语句、存储过程等,执行Rebind绑定。
10.2 Runstats在系统运行一个查询的时候,优化器需要决定用某种方式来访问数据。
只有当DB2对表中的数据有一个大概的了解,才能知道每一步操作大约需要处理多少数据,返回多少行。
当优化器了解了这些信息后,就会根据一系列的运算,判定出各种访问途径所需要消耗的资源,然后从中选择一个消耗资源最少的方法。
最普通的Runstats就是统计表和索引中有多少行数据,有多少不同的数值。
Runstats命令使用DISTRIBUTION参数手机数据分布。
数据分布分为两种,一种叫做频率采样(Frequency),一种叫做百分比采样(Quantile)。
当收集数据分布时,两种采样方式都会被收集。
其中频率采样是手页脚内容1机表中拥有相同数量最多的几行,比如10000行数据中9000行为10,然后500行为9,然后100行为8,剩下的部分平均分布。
如果我们制定Frequency为3的话,那么系统就会记录下来有9000行10,500行9,然后100行8,剩下的部分在估算时则假定平均分布。
而百分比采样则是将整个10000行数据分成相等大小的若干段,然后记录每一段的段首和段尾的数值,当需要查询一个数据段时(比如C1>10 AND C1<15),就可以根据每一个数据段的启始数值加上段落的大小,估算出符合查询条件的记录数量。
理论上,数据分布收集的越细致越好。
DB2使用手册
DB2使⽤⼿册第⼀部分DB2系统管理命令1. Db2有域,实例,和数据库三层的概念。
2.查看数据库服务器中有⼏个数据库。
包括⽹络中数据库的引⽤。
进⼊数据库安装⽬录下的bin⽬录:C:\Program Files\IBM\SQLLIB\BIN执⾏db2 list database directory命令3.查看命令选项说明list command options4.查看运⾏的数据库服务器中关联了多少个引⽤程序对数据库的访问。
进⼊数据库安装⽬录下的bin⽬录:C:\Program Files\IBM\SQLLIB\BINdb2 list applications命令可以通过db2 force application(进程id) 杀死对应的进程。
5.如何强制断开应⽤程序和数据库的连接。
进⼊数据库安装⽬录下的bin⽬录:C:\Program Files\IBM\SQLLIB\BIN⾏下列的命令 db2 force applications 可以强制断开应⽤程序和数据库的连接。
6.如何备份数据库进⼊db2的操作环境,然后运⾏backup database 数据库别名 user ⽤户名 using 密码命令7.停⽌数据库的服务器。
进⼊数据库安装⽬录下的bin⽬录:C:\Program Files\IBM\SQLLIB\BIN或db2操作环境中,如果在db2操作环境中必须通过的db2 terminate命令终结db2操作环境中启动的所有⼦进程(即停⽌所有命令⾏处理器回话)再执⾏db2stop命令。
注意:在执⾏此命令的时候,必须没有应⽤程序或⽤户和数据库连接。
可以在执⾏停⽌命令之前查看于db2服务器连接的应⽤程序和⽤户。
然后执⾏牵制断开命令断开连接的数据库和⽤户。
8.如何从旧版本中把数据库迁移到新的安装版本中(在新版数据库种运⾏下列代码)1. 验证数据库是否可以被迁移。
⽤db2ckmig命令,db2ckmig /e 数据库别名 /l 验证信息保存路径 /u ⽤户名 /p 密码1. 执⾏数据库的迁移命令MIGRATE database 数据库别名 user ⽤户名 using 密码命令9.启动DB2服务器进⼊数据库安装⽬录下的bin⽬录:C:\Program Files\IBM\SQLLIB\BIN或db2操作环境中执⾏db2start命令10.关于命令⾏编辑器的使⽤使⽤命令⾏编辑器之前要连接到⼀个数据库。
第二章 DB2服务器管理
DAS的功能 DAS的功能
允许客户端对服务器进行远程管理。 允许客户端对服务器进行远程管理。 实现作业管理和调度 实现作业管理和调度(作业管理主要涉及任 作业管理和调度( 务派发、负载均衡和并行处理等功能) 务派发、负载均衡和并行处理等功能)。 响应DB2 Discovery请求 响应DB2 Discovery请求,搜集当前服务器 请求, 上的相关信息反馈给发出DB2 Discovery请 上的相关信息反馈给发出DB2 Discovery请 求的系统。 求的系统。
21
DB2SET命令 DB2SET命令
可以显示 修改、 、修改、 删除配置 文件注册 表变量
db2set variable=value -g (指明要修改的是全局级的配置文件注册表) (指明要修改的是全局级的配置文件注册表 指明要修改的是全局级的配置文件注册表) -i instance[node number] (指明要修改的是特定实例的实例级配置文件注 册表) 册表) -n DAS node[[-v user id][-p password]] node[[id][-r -l -lr (用于显示所有能够被设置的配置文件注册表 (用于显示所有能够被设置的配置文件注册表 变量) 变量) -v -?(or -h) -all (查看系统中设置的所有配置文件注册表变量) (查看系统中设置的所有配置文件注册表变量 查看系统中设置的所有配置文件注册表变B2管理服务器相关命令
创建DB2管理服务器 创建DB2管理服务器 db2admin create 删除DB2管理服务器 删除DB2管理服务器 db2admin drop 启动和终止DB2管理服务器 启动和终止DB2管理服务器 db2admin start db2admin stop 显示当前DB2管理服务器名称 显示当前DB2管理服务器名称 db2admin 或 db2set db2adminserver 配置当前DB2管理服务器参数 配置当前DB2管理服务器参数 db2 get admin cfg db2 update admin cfg using...
DB2命令——精选推荐
DB2命令DB2命令总汇DB2常⽤命令汇总之⼀db2 -tvf my.sqldb2level 显⽰db2的版本号显⽰SQL出错信息db2 "? sql6031"db2mtrk管理DAS产⽣:root运⾏-dascrt -u dasuser1删除:root运⾏-dasdrop启动:dasusr1运⾏-db2admin start停⽌:dasusr1运⾏-db2admin stopdb2_killipcleandb2start dbpartitionnum 9 restartAIX启动控制中⼼:db2ccDB2⽤户管理:db2 use os to manage users.You can use following steps to add a db2 user:1,add a user on os.2,grant rights to user.GRANT CREATETAB,CONNECT ON DATABASE TO USER FUJIE;grant select, update, delete on table employee to user john with grant option⼀,实例产⽣db2icrt -a AuthType(SERVER,CLIENT,SERVER_ENCRYPT) -p PORT_NAME表空间PREFETCHSIZE的设置,EXTENTSIZE的关系,缓冲池的监控,页清除程序的多少。
临时表空间页⾯⼤⼩与其他表空间页⾯⼤⼩的设置,临时表空间与缓冲池的设置。
example:db2icrt db2 -s ese -p d:\db2 -u Administrator注意:在UNIX 上产⽣实例时需要产⽣⼀个和实例名称相同的⽤户名,和fencedid ⽤户。
如:db2icrt -s ese -u db2fenc2 db2inst2 将在db2inst2⽤户中产⽣实例db2inst2.缺省创建32位实例,创建64位实例:db2icrt -s ese -w 64 -u db2fenc2 db2inst2删除db2idrop instance-name启动db2start停⽌db2stop force连接db2 attach to testdb2db2 detach列出实例db2ilist设置当前实例set db2instance=得到当前实例db2 get instance设置实例⾃动重启动UNIXdb2iauto -ondb2iauto -off获取实例的配置参数db2 get dbm cfg修改配置参数例如:db2 update dbm cfg using authentication server_encryptdb2stop and db2start⼆,声明注册表和环境变量db2set 注意:设置完成后需要退出⽤户,再注册进⼊才能⽣效。
DB2常用管理维护命令
SELECT * FROM SYSCAT.PROCEDURES
绑定存储过程
db2 connect to bgj0 user db2 using pwd
db2 bind c:\dfplus.bnd
拷贝存储过程到服务器上的C:\sqllib\function目录中
=========DB2常用的命令======================================
启动数据库
db2start
停止数据库
db2stop
连接数据库
db2 connect to bgj0 user db2inst using password
读数据库管理程序配置
db2 rollforward db db3test to [timestamp] and complete
db2 rollforward db db3test to [timestamp] using local time and complete
========================================================================
db2expln -d 数据库名 -u 用户名 密码 -o 文件名|-t -c 生成包的模式名 -p 包名
=======================================================================================
要使用SQL调用语句重组表,使用admin_cmd过程发出执行命令:
=======================================================================
DB2 常用命令速查
db2licm - 许可证管理工具
db2listvolumes - 显示所有磁盘卷的 GUID
db2logsforrfwd - 列示前滚恢复所需的日志
db2look - DB2 统计信息和 DDL 抽取工具
db2ls - 列出已安装的 DB2 产品和功能部件
db2move - 数据库移动工具
db2mqlsn - MQ 侦听器
db2mscs - 设置 Windows 故障转移实用程序
db2mtrk - 内存跟踪程序
db2nchg - 更改数据库分区服务器配置
db2ncrt - 将数据库分区服务器添加至实例
db2ndrop - 从实例中删除数据库分区服务器
db2swtch - 切换缺省 DB2 副本
db2sync - 启动 DB2 同步器
db2systray - 启动 DB2 系统任务栏
db2tapemgr - 管理磁带上的日志文件
db2tbst - 获取表空间状态
db2trc - 跟踪
db2uiddl - 准备转换为 V5 语义的唯一索引转换
dasauto - 自动启动 DB2 管理服务器
dascrt - 创建 DB2 管理服务器
dasdrop - 除去 DB2 管理服务器
dasmigr - 迁移 DB2 管理服务器
dasupdt - 更新 DB2 管理服务器
db2_deinstall - 卸载 DB2 产品或功能部件
db2_install - 安装 DB2 产品
db2exfmt - 说明表格式
db2exmig - 迁移说明表命令
db2 backup指令
db2 backup指令摘要:1.背景介绍2.db2 backup指令概述3.db2 backup指令的使用方法4.db2 backup指令的参数说明5.db2 backup指令的实际应用案例6.总结正文:1.背景介绍在数据库管理中,数据的备份是一项非常重要的任务。
db2 backup指令是IBM DB2数据库管理系统中用于备份数据的一个命令。
通过使用db2 backup指令,可以有效地保护数据,防止数据丢失,提高数据的安全性。
2.db2 backup指令概述db2 backup指令用于将数据库的数据文件、日志文件、控制文件和配置文件备份到磁盘或磁带上。
它可以将整个数据库备份,也可以只备份数据库的一部分。
此外,db2 backup指令还可以用于将备份文件恢复到数据库中,以恢复数据。
3.db2 backup指令的使用方法要使用db2 backup指令,首先需要确保数据库已经启动并且正在运行。
然后,通过命令行或图形界面执行备份操作。
以下是db2 backup指令的基本语法:```db2 backup [database name] [backup type] [backup file]```其中,`database name`表示要备份的数据库名称;`backup type`表示备份类型,可以是完整备份(full)或增量备份(incremental);`backup file`表示备份文件的路径和名称。
4.db2 backup指令的参数说明- `database name`:指定要备份的数据库名称。
如果不指定数据库名称,则默认备份当前数据库。
- `backup type`:指定备份类型。
可以是完整备份(full)或增量备份(incremental)。
如果不指定备份类型,则默认为完整备份。
- `backup file`:指定备份文件的路径和名称。
如果不指定备份文件,则默认备份到数据库的备份目录下。
5.db2 backup指令的实际应用案例假设我们有一个名为`mydb`的数据库,现在需要对其进行完整备份。
DB2操作指南及命令大全
DB2操作指南及命令大全1.启动实例(db2inst1):db2start2.停止实例(db2inst1):db2stop3.列出所有实例(db2inst1)db2ilist4.列出当前实例:db2 get instance5.设置当前实例set db2instance=db26.察看示例配置文件:db2 get dbm cfg|more7.更新数据库管理器参数信息:db2 update dbm cfg using para_name para_value 8.创建数据库:db2 create db test9.察看数据库配置参数信息db2 get db cfg for test|more10.更新数据库参数配置信息db2 update db cfg for test using para_name para_value 11.删除数据库:db2 drop db test12.连接数据库db2 connect to test13.列出所有表空间的详细信息。
db2 list tablespaces show detail14.列出容器的信息db2 list tablespace containers for tbs_id show detail15.创建表:db2 ceate table tb1(id integer not null,name char(10))16.列出所有表db2 list tables7.插入数据:db2 insert into tb1 values(1,’sam’);db2 insert into tb2 values(2,’smitty’);18.查询数据:db2 select * from tb19.数据:db2 delete from tb1 where id=10.创建索引:db2 create index idx1 on tb1(id);1.创建视图:db2 create view view1 as select id from tb12.查询视图:db2 select * from view13.节点编目db2 catalog tcp node node_name remote server_ip server server_port 4.察看端口号db2 get dbm cfg|grep SVCENAME5.测试节点的附接db2 attach to node_name6.察看本地节点db2 list node direcotry7.节点反编目db2 uncatalog node node_name8.数据库编目db2 catalog db db_name as db_alias at node node_name9.察看数据库的编目db2 list db directory0.连接数据库db2 connect to db_alias user user_name using user_password 1.数据库反编目db2 uncatalog db db_alias2.导出数据db2 export to myfile of ixf messages msg select * from tb1 3.导入数据db2 import from myfile of ixf messages msg replace into tb1 如有问题用:import from c:/backup/usercar of ixf create into usercar4.导出数据库的所有表数据db2move test export5.生成数据库的定义db2look -d db_alias -a -e -m -l -x -f -o db2look.sql6.创建数据库db2 create db test17.生成定义db2 -tvf db2look.sql8.导入数据库所有的数据db2move db_alias import9.重组检查db2 reorgchk0.重组表tb1db2 reorg table tb11.更新统计信息db2 runstats on table tb12.备份数据库testdb2 backup db test3.恢复数据库testdb2 restore db test44.命令处理器参数列举可用命令格式:db2 list command options更改命令格式:update command options using option value(on/off)实例:比如更改命令行自动提交的参数2=>update command options using C off--或on,只是临时改变命令行下db2set db2options=+c --或-c,永久改变45. 获取当前机器db2所有配置信息:db2support . -d dbname -c此时数据库管理程序将生成一个db2support 压缩文件包。
DB2系统管理日志管理
1DB2系统管理1.1 DB2 EE及WORKGROUP版本的区别Workgroup版本和EE的区别主要在于两方面:1、并行性workgroup比较差2、主机连接(即和大型机的连接性能上)比较差3、只能用于4个CPU以下的环境。
1.2 怎样判断DB2实例的版本号和修补级别?用db2level命令。
在DB2 5.2及以上版本中,在安装每个DB2实例时,即会装入db2level程序。
db2level命令的输出提供了有关DB2实例的版本及修补级别的详细信息。
命令输出如下所示:DB21085I Instance "" uses DB2 coderelease "" with level identifier"" and informational tokens "", ""and "".例如:DB21085I Instance "DB2" uses DB2 code release "SQL05020"with level identifier "02070103" and informational tokens"DB2 v5.2.0.30","c990717" and "WR21119".下面解释以下这些信息:= DB2 DB2的实例名= SQL05020 Release号05,Version号02,Module号0= 02070103 内部使用的DB2版本号= DB2 v5.2.0.30 实例的版本信息= c990717 代码的级别信息= WR2119 修补的级别信息注:db2level执行程序不能在不同的系统之间拷贝使用。
并且此程序只显示正式支持的修补级别信息。
DB2关系型数据库管理系统
DB2关系型数据库管理系统DB2关系型数据库管理系统DB2是IBM数据库产品系列的名称是IBM出品的一系列关系型数据库管理系统,分别在不同的操作系统平台上服务。
DB2提供了高层次的数据利用性、完整性、安全性、可恢复性以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。
DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。
它以拥有一个非常完备的查询优化器而著称,其外部连接改善了查询性能,并支持多任务并行查询。
DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。
DB2EveryplaceDB2Everyplace是面向个人数字助理(PDA)和智能电话等移动设备的移动数据解决方案,通过小如指纹的移动数据库以及客户服务器模式的同步解决方案,从而允许企业数据无缝地从后端的业务数据库扩展到移动设备。
DB2Everyplace基于三层架构,由下面三部分组成:移动数据库DB2eDatabase)用于管理和使用移动设备或嵌入式设备上的数据。
同步客户端DB2eSyncClient)负责数据在移动数据库与同步服务器之间的同步。
同步服务器SyncServer)负责管理后台数据库与移动数据库之间的双向数据同步,搭建起连接企业数据源与手持设备移动数据库之间的桥梁。
DB2Everyplace 的模型,移动设备上面介绍的部分同步服务器。
同步服务器可以看作是移动设备和后台数据库的中间层,它支持多个业界著名的数据库,包括DB2,Oracle,MicrosoftSQLServer和Informix等。
DB2Everyplace主要用于移动计算。
移动计算的真正力量并不在于移动设备本身,而在于能够利用来自其来源的数据。
DB2Everyplace不仅仅是一种移动计算基础设施。
db2口令复杂度策略
db2口令复杂度策略摘要:1.引言2.DB2 口令复杂度策略概述3.口令长度和字符种类要求4.口令有效期及修改规则5.口令强度评估与监控6.总结正文:DB2 是IBM 公司开发的一款关系型数据库管理系统,广泛应用于各种企业级应用场景。
为了确保数据库的安全性,DB2 对用户口令的设置制定了一系列复杂度策略。
本文将对这些策略进行详细介绍。
1.引言在当今信息化社会,数据安全变得愈发重要。
作为数据库管理员,合理设置口令策略是保障数据安全的第一道关卡。
本文将详细介绍DB2 口令复杂度策略,帮助读者更好地理解和应用这一策略。
2.DB2 口令复杂度策略概述DB2 口令复杂度策略主要包括口令长度、字符种类、有效期及修改规则等方面。
管理员需要确保用户遵循这些策略来设置口令,以提高数据库的安全性。
3.口令长度和字符种类要求DB2 要求用户口令的长度至少为8 个字符,并且必须包含以下四类字符中的至少三类:- 小写字母(a-z)- 大写字母(A-Z)- 数字(0-9)- 特殊字符(如!@#$%^&*()_+)此外,口令不能包含用户的名字、用户ID 或其他易于猜测的字符。
4.口令有效期及修改规则用户口令的有效期为90 天。
在有效期内,用户可以登录数据库;有效期过后,用户需要修改口令才能继续登录。
DB2 还规定,用户在连续10 次登录失败后,其口令将自动锁定,锁定时间为15 分钟。
在这15 分钟内,用户无法登录数据库。
5.口令强度评估与监控DB2 提供了一系列工具来评估口令强度,以及监控用户口令设置情况。
管理员可以通过这些工具,对不符合要求的口令进行纠正,确保数据库安全。
总结DB2 口令复杂度策略从口令长度、字符种类、有效期及修改规则等方面,对用户口令设置进行了详细规定。
管理员需要确保用户遵循这些策略,以提高数据库的安全性。
db2资源锁管理
DB2 的锁管理............................................................................................................ 4简介................................................................................................................ 4锁是怎样工作的............................................................................................ 4导致锁的三种基本原因................................................................................ 5DB2的工作单元和恢复单元....................................................................... 7DB2的连续性机制..................................................................................................... 9交易锁........................................................................................................ 10锁的结构分层.......................................................................................... 11锁的大小.................................................................................................. 12锁的持续时间.......................................................................................... 12锁的方式.................................................................................................. 15锁的逐步上升.......................................................................................... 18锁停止...................................................................................................... 18死锁.......................................................................................................... 19锁控制选项.............................................................................................. 19锁避免...................................................................................................... 20锁避免的控制.......................................................................................... 23锁管理器IRLM与DB2资源锁管理.................................................... 24二阶段提交.............................................................................................. 29受限的状态................................................................................................ 29子系统级对象的锁.................................................................................... 31CLAIMS和DRAINS................................................................................ 33PARTITION 的独立性............................................................................. 38闭锁(Latch) ................................................................................................ 39二种索引的差别........................................................................................ 39防止锁问题的发生.................................................................................................. 46数据库设计时的考虑................................................................................ 46表空间设计.............................................................................................. 47表设计...................................................................................................... 48索引设计.................................................................................................. 48BIND 的选项的选择.............................................................................. 48ACQUIRE和RELEASE ........................................................................ 49ISOLATION............................................................................................. 49CURRENTDATA..................................................................................... 51应用设计时应当注意的事项.................................................................... 52工作单元和恢复单元应当注意的事项.................................................. 52只读操作应当注意的事项...................................................................... 53SQL设计................................................................................................. 55热点数据.................................................................................................. 57应用访问策略.......................................................................................... 58分布式程序的注意事项.......................................................................... 59为每个表建立跟踪卡片............................................................................ 60背景.......................................................................................................... 60插入操作.................................................................................................. 601被锁的时间百分比.................................................................................. 61跟踪卡片和被锁的时间百分比的计算.................................................. 61使用跟踪卡片.......................................................................................... 62给热点数据降温...................................................................................... 64减少锁持续时间...................................................................................... 64ORDER 和NEXTORDERNO的热点数据......................................... 65卡片的分工.............................................................................................. 66总结............................................................................................................ 66判断和分析锁问题.................................................................................................. 67简介............................................................................................................ 67区分应用的问题........................................................................................ 69DISPLAY DA TABASE LOCKS 命令............................................. 70EXPLAIN................................................................................................. 71DB2 PM Accounting 报告.................................................................... 73区分并发性的问题.................................................................................... 74命令DISPLAY THREAD ...................................................................... 74命令DISPLAY DA TABASE USE .......................................................... 75DB2 PM 统计报告 ............................................................................. 76区分全局的问题........................................................................................ 76DB2 PM 统计报告 ................................................................................. 76DB2 PM I/O 活动报告........................................................................... 77RMF 报告............................................................................................. 77分析锁问题................................................................................................ 77等待锁...................................................................................................... 77死锁和超时.............................................................................................. 80建议............................................................................................................ 81锁的几种情况.......................................................................................................... 82情景一提交频率的测试.......................................................................... 82行级锁的CPU花费.................................................................................. 85删除数据时的情况.................................................................................... 87情况A...................................................................................................... 87情况B ...................................................................................................... 87情况C ...................................................................................................... 88情况D...................................................................................................... 88情况E ...................................................................................................... 89总结............................................................................................................ 8923DB2 的锁管理简介在当今这种数据高度共享,多线程的计算机环境中,锁和锁管理是必须的。
DB2 for z/OS ZPARM面面观
DB2 for z/OS ZPARM面面观
胡旻
【期刊名称】《电脑知识与技术:学术版》
【年(卷),期】2009(5)1
【摘要】ZPARM中包含了DB2 for z/OS运行时参数。
DB2系统管理员在安装和维护DB2系统时经常遇到涉及ZPARM的相关问题。
本文从以下几个方面对相关问题和方法进行了介绍和探讨:查看和变更当前DB2子系统ZPARM设置的方法:ZPARM的在线变更和生效时间问题;ZPARM设置对DB2应用的影响;ZPARM相关数据集和命令的权限设定。
【总页数】4页(P15-17)
【关键词】数据库;ZPARM;DB2;z/OS;ZAP
【作者】胡旻
【作者单位】同济大学软件学院,上海201804
【正文语种】中文
【中图分类】TP311
【相关文献】
1.DB2 for z/OS ZPARM面面观 [J], 胡曼
2.使用DB2 UDB for OS/390分区型表空间的几点体会 [J], 高明星
3.使用DB2 UDB for OS/390分区型表空间的几点体会 [J], 高明星
4.浅谈OS/390下DB2数据库的备份和恢复 [J], 刘勇;李晨
5.Unicenter Database Management for DB2 for z/OS v 8 [J], 波
因版权原因,仅展示原文概要,查看原文内容请购买。
db2权限管理系统文斌整理
db2 创建用户及授权1、创建系统用户dbuser/ehong隶属于db2users2、C:\Program Files\IBM\SQLLIB\BIN>db2 connect to AKZXTEST数据库连接信息数据库服务器= DB2/NT 9.7.3SQL 授权标识= ADMINIST...本地数据库别名= AKZXTEST3、给用户授权授予连接权限C:\Program Files\IBM\SQLLIB\BIN>db2 grant connect on database to user dbuserDB20000I SQL 命令成功完成。
这里可以授予的数据库级特权有:CREATETAB:用户可以在数据库中创建表。
BINDADD:用户可以使用BIND 命令在数据库中创建包。
CONNECT:用户可以连接数据库。
CREATE_NOT_FENCED:用户可以创建unfenced 用户定义函数(UDF)。
IMPLICIT_SCHEMA:用户可以在数据库中隐式地创建模式,而不需要使用CREATE SCHEMA 命令。
LOAD:用户可以将数据装载进表中。
QUIESCE_CONNECT:用户可以访问处于静默(quiesced)状态的数据库。
CREATE_EXTERNAL_ROUTINE:用户可以创建供应用程序和数据库的其他用户使用的过程。
secadm:安全性管理员Dbadm:DBADM 用户对一个数据库有几乎完全的控制能力。
DBADM 用户不能执行某些维护或管理任务4、测试连接C:\Program Files\IBM\SQLLIB\BIN>db2 connect to AKZXTEST userdbuser using ehong数据库连接信息数据库服务器= DB2/NT 9.7.3SQL 授权标识= DBUSER本地数据库别名= AKZXTEST###############################################db2数据库特权大体上分成两类:数据库级特权(针对数据库中的所有对象)和对象级特权(与特定的对象相关联)。
db2 外键约束
db2 外键约束DB2是一个关系数据库管理系统,它支持外键约束来维护表之间的关系。
外键约束是一种用于确保数据完整性的约束,它定义了表之间的引用关系,确保在引用表中的数据被正确地引用。
在DB2中,外键约束是通过在引用表中的列上创建一个外键来实现的。
这个外键指向另一个表中的主键列,从而建立了两个表之间的关系。
通过外键约束,我们可以实现以下功能:1. 数据完整性:外键约束确保在引用表中的数据只能引用另一个表中存在的数据。
这样可以防止引用表中出现无效的数据,保证数据的完整性。
2. 数据一致性:外键约束可以确保在更新或删除主表中的数据时,引用表中的数据也会相应地更新或删除。
这样可以保持数据的一致性,避免数据之间的不一致。
3. 数据查询:外键约束可以简化数据查询操作。
通过外键约束,我们可以轻松地从引用表中查询与主表相关联的数据,提高数据库查询的效率。
4. 数据关系维护:外键约束可以帮助我们维护表之间的关系。
通过外键约束,我们可以轻松地找到与某个表相关联的其他表,从而更好地理解表之间的关系。
为了创建外键约束,我们需要遵循以下步骤:1. 创建主表和引用表:首先,我们需要创建主表和引用表。
主表包含一个主键列,而引用表包含一个外键列。
2. 创建外键约束:在引用表的外键列上创建外键约束。
这可以通过使用ALTER TABLE语句并指定FOREIGN KEY关键字来完成。
3. 指定引用表和主表的列:在创建外键约束时,我们需要指定引用表和主表的列。
这可以通过使用REFERENCES关键字并指定引用表和主表的名称和列名来完成。
4. 定义外键约束的行为:在创建外键约束时,我们可以定义外键约束的行为。
例如,我们可以指定在更新或删除主表中的数据时,引用表中的数据应该如何更新或删除。
5. 启用外键约束:最后,我们需要启用外键约束。
这可以通过使用ALTER TABLE语句并指定ENABLE关键字来完成。
在使用外键约束时,我们需要注意以下几点:1. 数据类型必须匹配:外键列和主键列的数据类型必须匹配。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Bart Steegmans – IMS/DB2 GSE meeting 03 December 2009Managing your ZPARMs In sickness and in health health, For better or for worse .. As long,..© 2009 IBM CorporationDisclaimer and acknowledgements The information contained in this presentation has not been submitted to any formal IBM review and is distributed on an “As Is” basis without any warranty either expressed or implied. The use of this information is a customer responsibility. responsibility The materials in this presentation are subject to– Enhancements at some future date, – A new release of DB2, or – A Programming Temporary Fix (PTF) – Jason Alpers – Bruce McAlister – Jan J n Ti Tielemans l m n Many M thanks th k to t the th following f ll i people l f for th their i i input t mm/yy date format used2© 2009 IBM CorporationObjectives Understand the different “types” types of ZPARMs How do you manage your ZPARMs Why are new ZPARMs introduced How do you manage ZPARM changes in the maintenance stream Discuss Di a few f new ZPARMs ZPARM i introduced d d i in via i maintenance i i in V8/V93© 2009 IBM CorporationLevel set DSNZPARMs is data only module that contains DB2 system wide parameters Created by y running g DSNTIJUZ installation job j Consists of the following macros:– DSN6ENV – DSN6SPRM – DSN6ARVP – DSN6LOGP – DSN6SYSP – DSN6FAC – DSN6GRP (Environment XA vs 370 – expected to disappear it tdf) itntdf) (DBM1 initialization parms – has most of the maintenance) (Archive dataset parms) (Logging paramters) (Misc. system parameters) (DDF paramters) (Group related paramters related to data sharing)4© 2009 IBM CorporationDifferent types of ZPARMs Visible (regular) ZPARMs– Can be adjusted by running the installation CLIST (DSNTINST) – Appear A on the h i install ll panels l – Customized value appears in the DSNTIJUZ job• This is the job that assembles the DSNZPARM module • Can be manipulated directly by editing the DSNTIUZ job o BUT you should avoid doing so (see later)– Documented in the Installation Guide Opaque ZPARMs– Don’t appear on the install panels – Can be manually added to the DSNTIJUZ job – Mostly documented in the Installation Guide• “Subsystem parameters that are not on installation panels” section Hidden ZPARMs– Can only be changed by directly editing the macros – Don’t try this at home (unless you really know what you are doing) ! – Use under IBM guidance• Or make sure y your resume is up p to date5© 2009 IBM CorporationList the current ZPARM settings Look at DSNTIJUZ job– How do you know it is the current one ? Use DSNWZP stored procedure– Sample program (DSN8ED7) to invoke this SP can be found in SDSNSAMP(DSNTEJ6Z) – This SP is also used by tools like Visual Explain and OSC Msys for Setup DB2 Customization Center– Not been enhanced (“deprecated”) – Likely to be removed in the future6© 2009 IBM CorporationExcerpt from DSN8ED7 outputDSN8ED7: Sample DB2 for z/OS Configuration Setting Report Generator Macro Name -------DSN6SYSP DSN6SYSP DSN6SYSP … DSN6SPRM DSN6SPRM DSN6SPRM DSN6SPRM DSN6SPRM DSN6SPRM DSN6SPRM DSN6SPRM … DSNHDECP DSNHDECP DSNHDECP DSNHDECP DSNHDECP DSNHDECP DSNHDECP DSNHDECP DSNHDECP …7Parameter Name ----------------------CTHREAD DLDFREQ PCLOSEN MAX_CONCURRENT_PKG_OPS ADMTPROC HONOR HONOR_KEEPDICTIONARY KEEPDICTIONARY MAX_UTIL_PARTS OPTIXOPREF OPTJBPR ZOSMETRICS OPTJBPL DB2SUPLD DEFLANG DECIMAL DELIM SQLDELI DSQLDELI MIXED SCCSID MCCSIDCurrent Setting -----------00400 00005 00005 00010 DB9AADMT NO 00254 OFF OFF YES ON NO IBMCOB PERIOD DEFAULT DEFAULT APOST NO 00037 65534Description/ Install Field Name ------------------------MAX USERS LEVELID UPDATE FREQUENCY RO SWITCH CHKPTSInstall Fld Panel ID No. -------- ---DSNTIPE 2 DSNTIPL 14 DSNTIPL 12LANGUAGE DEFAULT DECIMAL POINT IS STRING DELIMITER SQL STRING DELIMITER DIST SQL STR DELIMITER MIXED DATA EBCDIC CCSID EBCDIC CCSIDDSNTIPF DSNTIPF DSNTIPF DSNTIPF DSNTIPF DSNTIPF DSNTIPF DSNTIPF1 2 3 4 5 6 7 7© 2009 IBM CorporationWhich ZPARM module is used during startup ? -DB9A STA DB2 PARM(xxxx) Messages in MSTR address space job log during startup:18.39.46 STC20668 IEF403I DB9AMSTR - STARTED - TIME=18.39.46 - ASID=0099 18.39.47 STC20668 DSNY024I -DB9A DSNYASCP MSTR INITIALIZATION IS STARTING 18.39.47 STC20668 DSNZ002I -DB9A DSNZINIT SUBSYSTEM DB9A SYSTEM PARAMETERS LOAD MODULE NAME IS DSNZPARM 18.39.47 STC20668 DSNZ016I -DB9A DSNZINIT 171 171 SUBSYSTEM DB9A SYSTEM PARAMETERS ARE AS FOLLOWS: 171 SYSTEM PARM DB9A9.SDSNEXIT(DSNZPARM) 171 DSNHDECP DB9A9.SDSNEXIT(DSNHDECP) ( ) 171 ACCESS EXIT DB9A9.SDSNEXIT(DSNX@XAC) 171 IDAUTH EXIT DB9A9.SDSNEXIT(DSN3@ATH) 171 SIGNON EXIT DB9A9.SDSNEXIT(DSN3@SGN) 18.39.47 STC20668 S DB9AIRLM 18.39.48 STC20668 DSNY001I -DB9A SUBSYSTEM STARTING8© 2009 IBM CorporationZPARM maintenance When installing– Fill out the panels – SET SYSPARM command (online ZPARM change)• • • • When changing g g your y environmentCannot change individual parms (reload of complete ZPARM module) Cannot change all parms N t all chan Not changes es are effective immediatel immediately Works at the member level when running DB2 data sharing When migrating g g– New ZPARMs are documented – Will appear on the panels – Use input member from previous install/migration• So if f you manually ll edit d DSNTIJUZ, you will ll l lose those h updates d ! When applying maintenance– Read PTF cover letters – SMP/E ++HOLD info9© 2009 IBM CorporationZPARMs in the DB2 Installation Guide Overview of all ZPARMs (and DSNHDECP) parms– Name, macro, panel, online changeable, where to find more info10© 2009 IBM CorporationInstallation process –Use the install CLISTInstallation process Use the install CLIST DSNTIDXA –memberith d f lt tti DSNTIDXA with default parm settings (comes with product)DSNTINST –Installation DSNTIDXAclist that will invoke theinstallation panels in INSTALL modeDSNTINST CLIST (i)Generates several data sets and many members, including D NT JUZ b h ll DSNTIJUZ DSNTIDxxDSNTIJUZ –job that will create DSNZPARM data only moduleDSNTIDxx -updated set of parameters•Used for future input to install (i) = INSTALL MODEclist in UPDATE or MIGRATE modeUpdate process Update processDSNTIDxx –customized b ith tti DSNTID member with parm settings from a previous runDSNTINST –InstallationDSNTIDxx clist will be invoked in UPDATE mode•Used to update system parms*h i h DSNTINSTCLIST (u)*when environment has to change* after maint was applied •Not all fields can be changedDSNTIJUZUpdated DSNTID yyNot all fields can be changed Update process only generates DSNTIJUZ –to create DSNZPARM data only module•Actived by –SET SYSPARM cmdDSNTIDyy -new updated set (u) = UPDATE MODEDSNTIDyy -new updated set of parametersMigrate process Migrate processDSNTIDXA –defaults for new l release DSNTIDxx –customized member with parm settings DSNTID xx (curr. version)DSNTIDXA (new version)p g from current release DSNTINST –Installation clist will be invoked in DSNTINST clist will be invoked in MIGRATE mode•Not all values can be changedG tCLIST (m)Generates DSNTIJUZ –to create DSNZPARM data only module DSNTIJUZUpdated DSNTID yyy DSNTIDyy -new updated set of parameters(m) = MIGRATE MODEConclusionHave a DSNTIDxx member per subsystem–ZPARMs for each subsystem/data sharing member can differZPARM f h b/d h i b diffKeep DSNTIDxx member currentUsed as input during update and migrate processing–Used as input during update and migrate processingUse a different member for each change to track history –DSNTID01, DSNTID02 …–Maybe better to use the subsystem name as part of the member name •DB9A01, DB9A02, …Avoid manual editing of DSNTIJUZAvoid manual editing of DSNTIJUZ–Can cause regression during migrationMigration always uses DSNTIDxx as inputOpaque ZPARMs may force manual editing of DSNTIJUZ –For any ZPARM that is not (yet) supported by the installation panelsH t h dl thi ill b di d l t–How to handle this will be discussed later onQuiz –Know your ZPARMsQuiz–Know your ZPARMsWhat are the following ZPARMs used for ?What are the following ZPARMs used for?What is their recommended setting ?EDMBFIT–Uses best fit algorithm when searching for free space in the EDM pool –Recommended value: NO –because of performance overheadSTATSINT–Real-time stats write out intervaly–Recommended value: Default -every 30 minutesSTATIME–DB2 Statistics interval (to write DB2 statistics trace records)–Recommended value : 1 (default 5)R mm nd d l:1(d f lt5)NEWFUNNot a Z M,ut a DSNHDE parm–Not a ZPARM, but a DSNHDECP parmZPARM life cycleZPARM life cycleNew ZPARMs are usually introduced with a new release or version New ZPARMs are usually introduced with a new release or version –Part of a new function introduced with the release•Eg. Dynamic statement cache (introduced in V5)pEnabled via the CACHEDYN zparm•Allows you to enable/disable if you want/don’t want to use the functionality –Will appear on one of the installation panels–Can be maintained via the install CLIST–Well documented in the manualNew ZPARMs are sometimes introduced via the maintenanceNew ZPARMs are sometimes introduced via the maintenance streamChicken strip or chicken switch Chicken strip or chicken switchp y Chicken Strips on a motorcycle tiredemonstrate how “brave”a biker you areNew DB2 ZPARMs that come with maintenance are sometimes calledll d“chicken switches”Are you “brave” enoughto use them ?ZPARMs or ZPARM changes via the maintenance stream ZPARMs or ZPARM changes via the maintenance stream Typically used to fence off a code change where the expectationTypically used to fence off a code change where the expectation is that not everybody is affected–Pro:Reduce impact on code•Reduce impact on code•Reduce impact on customersZPARMs introduced in the maintenance stream often don’t appear on the install panelsh i ll l–Pro:•Reduce impact of the PTF on the code –less chance for PE APARC:–Con:•More chance of regression during migrationZPARM cycleZPARM cycleTypically used to fence off a code change where the expectation Typically used to fence off a code change where the expectation is that not everybody is affected–Default value is normally to disable the code change–Should IBM more aggressive in turning them on right away ?Should IBM more aggressive in turning them on right away?ZPARMs introduced in the maintenance stream often don’t appear on the install panelspAre typically opaque–When you want to exploit them, you manually add the keyword toDSNTIJUZ jobDSNTIJUZ j bIn the next release/versionAppear on the install panels–Appear on the install panels–Get activated by default–No longer supported (always active)Why a ZPARM and not a keyword or BIND optionWhy a ZPARM and not a keyword or BIND optionA new ZPARM in the maintenance stream is part of a PTFA new ZPARM in the maintenance stream is part of a PTFthis is a Program TEMPORARY Fix–Fixes a problem that is not expected to affect everybodyIf needed a more permanent solution can be implemented in a future –If needed, a more permanent solution can be implemented in a future release or versionpTo reduce the impact–On customers that are not affected by the problem–On the code•Fewer lines of codes, fewer chances of errors–On other parties involvedO th ti i l d•A new keyword or bind options is a change in the externalsthat also has to be supported by Tools (IBM and Others)Change in customer operational procedures to implement using a new•Change in customer operational procedures to implement using a newkeywordo We all know how hard this is, even for new options that come with a newreleaseHow do I know there is a new ZPARM ?How do I know there is a new ZPARM?APAR text / PTF cover letter should tell youy–Search keywords can be found online:/support/docview.wss?rs=64&uid=swg21210011–eg. SQLACCESSPATH for access path related problemsp y g–No specific keyword for ZPARM changes•Would it help if we did ?–Seach on DSNDQWPZ (IFCID106 mapping macro)•Not bullet proof technique as function and IFCID mapping can be delivered indifferent PTFs(that PRE or COREQ each other)different PTFs (that PRE or COREQ each other)SMP/E ++HOLD info should alert you•HOLD(ACTION)•HOLD(DOC)Create a ++USERMOD to do a dummy update againstAll of the macros that are input to the ZPARM module–All of the macros that are input to the ZPARM module–DSNDQWPZ (maps IFCID106)–Each time you try to APPLY a PTF that goes against the module(s)with a USERMOD it will fail. This failure indicates this PTF touches with a++USERMOD it will fail This failure indicates this PTF touches the ZPARMs and you can have a closer look.How do I know whether this applies to meHow do I know whether this applies to meOnly you know your system –you will have to judgeOnly you know your system–you will have to judgey yThe APAR/PTF contains information to let you decide whether you can be affected–Eg. A SELECT statement that you can run against some catalog tables Strong focus to improve APAR resolution textAPAR text old styleAPAR text“old style”Problem summary:Problem summary:******************************************************** USERS AFFECTED: For all DB2 for z/OS users. ******************************************************** PROBLEM DESCRIPTION:An inefficient access path can be chosen over the optimal index when the q y p gquery has local predicates on the columns with significant data skew. RECOMMENDATION:An inefficient access path can be chosen over the optimal index when the q y p gquery has local predicates on the columns with significant data skew.Additional Keywords:SQLACCESSPATH SQLINDEX DATASKEWProblem conclusion:With the logic corrected by this fix, DB2 has a better probability of choosing a more efficient index.h i ffi i t i dAPAR text new style -1APAR text“new style”1Problem summary*************************************************************USERS AFFECTED:For all DB2for z/OS users who haveUSERS AFFECTED: For all DB2 for z/OS users who have* subsystem parameter OPTJBPR set ON.************************************************************PROBLEM DESCRIPTION:When subsystem parameter OPTJBPR is set ON, DB2 enables the logic to factor in join When subsystem parameter OPTJBPR is set ON DB2enables the logic to factor in join predicate filtering when estimating the reduced I/O cost due to buffer pool caching. There are two problems in OPTJBPR logic:1. DB2 considers data skew for a single column referred to by local predicates. However, it may break the costing balance when the join is skewedmay break the costing balance when the join is skewed.2. Reduced I/O cost may be estimated incorrectly due to a bug in the logic.RECOMMENDATION:When subsystem parameter OPTJBPR is set ON DB2enables the logic to factor in join When subsystem parameter OPTJBPR is set ON, DB2 enables the logic to factor in join predicate filtering when estimating reduced I/O cost due to buffer pool caching. However, there are two problems in OPTJBPR logic. One is the costing balance may break when a join has skew since DB2 only considers data skew on a single column referred to by local predicates. The other is reduced I/O cost can be estimated incorrectly due to a bug in the predicates The other is reduced I/O cost can be estimated incorrectly due to a bug in the logic. Both problems can cause an inefficient access path to be chosen when OPTJBPR is set ON.Additional Keywords:Additional Keywords:SQLACCESSPATH PERFM OPTJBPR DATASKEWAPAR text new style -2APAR text“new style”2Problem conclusionProblem conclusionThis APAR adds a new DB2 subsystem parameter, OPTJBPL, for controlling whether DB2 should consider the data skew of the column referred by local predicates on the inner table when OPTJBPR is set ON. The default setting of di t th i t bl h OPTJBPR i t ON Th d f lt tti f OPTJBPL is ON.OPTJBPL needs to be set ON in order to enable the logic of considering the date skew of the column referred by local predicates on the inner table. Details about skew of the column referred by local predicates on the inner table.Details about how to set OPTJBPL can be referred from ++HOLD of this APAR.This APAR also fixes a bug which causes incorrect reduced I/O cost when OPTJBPR is set ON.OPTJBPR i t ONAPAR text new style -3APAR text“new style”3++ HOLD(UK49930) SYS FMID(HDB9910) REASON(ACTION) DATE(09252)This PTF adds a new DB2 subsystem parameter, OPTJBPL, for controlling whether DB2 should consider the data skew of the column referred to by local predicates on the inner table when estimating the reduced I/O cost as a result of buffer pool caching. Valid settings are:-ON (the default): Consider the data skew-OFF: Disregard the data skewIf you have already installed or migrated to this release of DB2, you need to take the following actions after applying this PTF:(1) Update your DB2 subsystem parameter (DSNZPxxx) modules:* Optionally add the keyword parameter OPTJBPL=<n>, where <n> is either ON or OFF (ON is recommended) to the invocation of the DSN6SPRM macro in your customized version of the installation job DSNTIJUZ. Make sure to add a in ti n f th DSN6SPRM m in u ust mi d si n f th inst ll ti n j b DSNTIJUZ M k su t dd continuation character in column 72 if needed. If you omit adding OPTJBPL here, the value will be set to the default of ON when you assemble the DSNZPxxx module.* Run the first two steps of the DSNTIJUZ job you modified, to assemble and link the load module. * After the job completes, you must either use the SET SYSPARM command or stop and start DB2 for the change to take effect.take effect(2) This PTF adds an entry for OPTJBPL to the CLIST default input member, DSNTIDXA, in the SDSNSAMP target library. You need to add this entry to all private copies of your CLIST output (DSNTIDxx) member for DB2. In each such copy, add the following line:OPTJBPL CHAR M OFF ON<n>OPTJBPL CHAR M OFF ON <n>where <n> is the value you specified for OPTJBPL when you modified DSNTIJUZ in step (1), above.(3) Update customized copies of installation CLIST member DSNTINST:This PTF modifies CLIST member DSNTINST in the SDSNCLST target library only. You need to redo any record format changes and reapply any tailoring you have done to your copies of this CLIST. You may also want to move it to format changes and reapply any tailoring you have done to your copies of this CLIST You may also want to move it to the prefix.NEW.SDSNCLST data set, where the CLISTs processed by job DSNTIJVC reside.).How do you manage themHow do you manage themCreate an SMP/E usermod so you don t lose the changeCreate an SMP/E usermod so you don’t lose the changeHow to track changes ?g gGood change managementComments in modulesNew DSNTIDxx member each timeTypically does not work for new ZPARMs in the maintenance streamWould it help if DB2 provided a job that would allow to generate an updated DSNTIDxx member based on the current active ZPARM module ? updated DSNTIDxx member based on the current active ZPARM module?MR1005054929y g pAnything else we can do to help make ZPARM maintenance easier ?Do you know these ZPARMs ?Do you know these ZPARMs?PLANMGMT (See next presentation from Paul) PLANMGMT(See next presentation from Paul) RRFZOSMETRICSSPRMRSMXi i ffSome optimizer stuff–Several new ZPARMs introduced via maint stream –Good ROT –use the DEFAULT provided by IBM –PREDPRUNE–OPTIXOPREF–OPTIOWGTAll online changeable except for SPRMRSMXRRF –Reordered row format defaultRRF R d d f t d f ltIntroduced by PK87348 (9/09) –V9 NFMIntroduced by PK87348(9/09)–V9NFMChanges SPRMRRF hidden ZPARM to opaque RRF ZPARM and gonline changeableShould appear on the panels in the next release/versionRRF ENABLE(default)/DISABLERRF=ENABLE(default)/DISABLEIn DSNTIDXA CLIST input parm memberAPAR also adds support for BRF for UTSAPAR also adds‘support’for BRF for UTS–With RRF=DISABLE active and create new UTS -> uses BRFAPAR also enables LOAD/REORG to switch between BRF and RRF New keyword: ROWFORMAT RRF/BRFRecommendation: use RRF=ENABLE and keep only those object where you experience problem in BRFh i bl i BRFZOSMETRICSIntroduced by PK62116 and PK66373 (7/08) –V8 and V9Also needs RMF APAR OA24404Al d RMF APAR OA24404Default = NOIn DSNTIDXA CLIST input parm memberGathers extra stats about the machine and z/OS environmentCPU AND STORAGE METRICS QUANTITY---------------------------------------------CP LPAR 6CPU UTILIZATION LPAR 41CPU UTILIZATION DB2 0CPU UTILIZATION DB2 MSTR 0CPU UTILIZATION DB2 DBM1 0UNREFERENCED INTERVAL COUNT 65534REAL STORAGE LPAR (MB) 4095FREE REAL STORAGE LPAR (MB) 744USED REAL STORAGE DB2 (MB) 645VIRTUAL STORAGE LPAR (MB) 15743VIRTUAL STORAGE LPAR(MB)15743FREE VIRTUAL STOR LPAR (MB) 10880USED VIRTUAL STOR DB2 (MB) 648SPRMRSMXIntroduced by PK18354 (4/06)Hidden ZPARM (&SPRMRSMX in DSN6SPRC)Hidd ZPARM(&SPRMRSMX i DSN6SPRC)To be used under IBM guidance(eg. When suffering from a massive storage leak problem)(eg When suffering from a massive storage leak problem)Keep z/OS alive at the expense of DB2(y)(to avoid system wait state)This APAR adds new serviceability subsystem parameter for customers who wish to ABEND and TERMINATE DB2 if the amount of DB2 REAL + Auxiliary storage exceeds the user value.f DB2REAL A ili d h l This value over rides the MEMLIMIT provided by MVS to control above-the-bar virtual storage because DB2 usage of this space is sparse populated.DSNS001I = csect_name SUBSYSTEM HAS EXCEEDED THE USER SPECIFIED REAL STORAGE USAGE THRESHOLDUSER SPECIFIED REAL STORAGE USAGE THRESHOLDPrune “Always False”Predicates (V8)Prune Always False Predicates (V8) Opaque ZPARM PREDPRUNEDefault OFFNot in DSNTIDXA CLIST input parm member p pV8 APAR PK49265 (11/07)–Literal “IN” or “=“ only (no host vars or REOPT)–Becomes….WHERE ('A' = 'B ' OR COL1 IN ('B', 'C'))–Original “OR”is stage 2WHERE COL1 IN ('B', 'C')Original OR is stage 2•Disables index access and many query transformations –Good news for query generators •They often use this OR construct–Documented tricks are NOT pruned (OR 0=1)Prune Always False Predicates (V9)Prune“Always False”Predicates(V9)ZPARM PREDPRUNEDefault OFFV9 APAR PK55076 (10/08)S t V8APAR PLUS–Same support as V8 APAR, PLUSWHERE NOT_NULL_COL IS NULL OR COL1 = 'B'–Becomes….WHERE T1.COL1 = 'B'–IS NULL check on NOT NULL column is pruned when contained in OR predicatePrune Unnecessary Tables Prune Unnecessary TablesZPARM PREDPRUNE–V8 & 9 APAR PK73013 (12/08)–LEFT OUTER JOIN •Without SELECTing columns from the RIGHT tableo Right table is unnecessary if no duplicates if either:»SELECT DISTINCT T1.C3FROM T1 LEFT OUTER JOIN T2SELECT DISTINCT T1.C3FROM T1Unique index on join key of right table»Or, SELECT DISTINCT ON T1.C2 = T2.C2WHERE T1.C1 = ?FROM T1 WHERE T1.C1 = ?,May want to consider using PREDPRNE=YESMay want to consider using PREDPRNE=YESOPTIXOPREF Index only PreferenceOPTIXOPREF -Index-only Preference Ever created an index to support index-only?l h h d d ?–Only to have optimizer choose index + data?SELECT C2FROM T1WHERE C1 = ?Index 1(C1)Index +data Index 1 (C1)Index 2 (C1, C2)ÅIndex + data ÅIndex-onlyOpaque ZPARM OPTIXOPREF–Prioritize index-only over index + data with same index prefix •V8 (V9) APAR PK51734 (11/07)•V9 APAR PK77426 (10/09) changes default to ON (enable)•[not in DSNTIDXA member –manual maint required][not in DSNTIDXA membermanual maint required]OPTIOWGT –Better balance CPU and I/O cost OPTIOWGT–Better balance CPU and I/O costIntroduced by–PK61274 (6/08)–V8 –Default is DISABLEPK61274(6/08)V8D f l i DI ABLE–PK61277 (8/08) + PK75643 (12/08)-V9 –Default is ENABLE Opaque ZPARM and online changeableOpaque ZPARM and online changeableIn DSNTIDXA CLIST input parm member (V8 and V9 –diff dflt) With faster machines, optimizer tends to favour access paths With faster machines optimizer tends to favour access paths that are more CPU intensive. I/O cost was often over estimated compared to CPU cost.ENABLE allow the optimizer to use an improved formula for balancing the costs of input/output and CPU speeds.Recommendation: use OPTIOWGT=ENABLE especially on faster machines like z9 and z10And now for something completely different…And now for something completely differentAccess path with EXPLAIN NOAccess path with EXPLAIN NOI performed a BIND/REBIND with EXPLAIN NOH I th t th????–How can I see the current access path????•Without issuing a new explainBIND PACKAGE(STLEC1.TEST) MEMBER(TEST1) ACTION(REP)DSNT254I ) DSNTBCM2 BIND OPTIONS FORPACKAGE = STLEC1.TEST.TEST1.()ACTION REPLACEOWNER SYSADMQUALIFIER ADMF001VALIDATE BINDEXPLAIN NOISOLATION CSRELEASECOPYCOPYOSC Monitor Profile Steps OSC Monitor Profile Steps Setup a Profile Monitor i OSC View in OSC–For package you wish to show PLAN_TABLE Monitor optionCh thChoose the DB2 subsytemChoose NewMonitor ProfileOSC Monitor Profile StepsOSC Monitor Profile StepsCreateCreatea newmonitorprofileChoose packageChoose packageOSC Monitor Profile Steps OSC Monitor Profile StepsChoosepush outEXPLAINChoose small time interval if you want to see the information soon want to see the information soonAccess path with EXPLAIN NOAccess path with EXPLAIN NONext time the package executes…–SYSIBM.PLAN_TABLE will be populated//BATCH EXEC TSOBATCH//SYSTSIN DD *DSN S(V91A) R(1) T(1)RUN PROGRAM(TEST1) PLAN(TEST1)//SYSTSPRT DD SYSOUT=*//SYSTSPRT DD SYSOUT=*//SYSOUT DD SYSOUT=*//SYSPRINT DD SYSOUT=*Retrieve access path from SYSIBM.PLAN_TABLE*SELECT * FROM SYSIBM.PLAN_TABLE WHERE PROGNAME = 'TEST1‘ORDER BY QUERYNO, QBLOCKNO, PLANNO, MIXOPSEQ;+----------------------------------------------------------------------+|QRYNO|QBLKNO|PLANNO|METHOD| TNAME |ACCESSTYPE|MCOLS|ACCNAME|IDXONLY|+----------------------------------------------------------------------+| 1 | 1 | 1 | 0 | CUSTOMERS| N | 1 |CUSTIX2| N ||1|1|1|0|CUSTOMERS|N|1|CUSTIX2|N|| 1 | 1 | 2 | 1 | ACCOUNTS | I | 1 |ACCTIX2| Y || 1 | 1 | 3 | 3 | | | 0 | | N | +----------------------------------------------------------------------+*Subset of PLAN_TABLE columns shown here。