db2培训笔记
DB2数据库管理最佳实践笔记-10日常运维
10.1 日常运维工具概述Runstats是run statistics的缩写,意思是收集统计信息,目的是为DB2优化器提供最佳路径选择;Reorg是重组的意思,目的是减少表和索引在物理存储上的碎片,提供性能;Reorgchk是重组前的检查Rebind是对一些包、存储过程或静态程序进行重新绑定。
几个工具的执行流程:首先通过Runstats收集表和索引的统计信息,然后执行Reorg重组,如果有必要则执行,然后再次收集统计信息。
最后,对于静态语句、存储过程等,执行Rebind绑定.10.2 Runstats在系统运行一个查询的时候,优化器需要决定用某种方式来访问数据。
只有当DB2对表中的数据有一个大概的了解,才能知道每一步操作大约需要处理多少数据,返回多少行。
当优化器了解了这些信息后,就会根据一系列的运算,判定出各种访问途径所需要消耗的资源,然后从中选择一个消耗资源最少的方法.最普通的Runstats就是统计表和索引中有多少行数据,有多少不同的数值.Runstats命令使用DISTRIBUTION参数手机数据分布.数据分布分为两种,一种叫做频率采样(Frequency),一种叫做百分比采样(Quantile)。
当收集数据分布时,两种采样方式都会被收集.其中频率采样是手机表中拥有相同数量最多的几行,比如10000行数据中9000行为10,然后500行为9,然后100行为8,剩下的部分平均分布.如果我们制定Frequency为3的话,那么系统就会记录下来有9000行10,500行9,然后100行8,剩下的部分在估算时则假定平均分布。
而百分比采样则是将整个10000行数据分成相等大小的若干段,然后记录每一段的段首和段尾的数值,当需要查询一个数据段时(比如C1〉10 AND C1<15),就可以根据每一个数据段的启始数值加上段落的大小,估算出符合查询条件的记录数量。
理论上,数据分布收集的越细致越好.但是经过细致的数据分布信息可能会导致DB2在优化SQL时需要处理更多的信息,并占用更多的系统存储空间,可能会导致性能的下降。
DB2学习笔记(实用)
1.insert into D_USER(NAME,BIRTHDAY) values ('张三','1997-2-1');insert into D_USER(NAME,BIRTHDAY) VALUES ('赵七','1995-2-3'),('王五','1973-6-3');---不能够回车换行,要么都插入要么都不插入2.主键要指定不能为空S_ID varchar(10) not null primary key3.any,all与max,mi的对应关系> ANY(sub-qurey) --- > MIN(sub-qurey) 大于any时,取的是满足条件中的最小值;小于any时取的是满足条件中的最小值;any任何一个< ANY(sub-query) --- < MAX(sub-qurey)> ALL(sub-query) --- > MAX(sub-qurey) all所有的< ALL(sub-query) --- < MIN(sub-qurey)4 . 特别注意:ALL 如果有空值的话,max和min自动忽略空值,会有结果。
而是用all则会不。
CHINESE 有空值(1) select NAME from student where CLASS='五年级A 班' and CHINESE < all(select CHINESE from student where CLASS='五年级B 班') 空值(2) select NAME from student where CLASS='五年级A 班' and CHINESE <(select min(CHINESE) from student where CLASS='五年级B 班')有结果5.union 求并集intersect 求交集except 求差集这三个加上all后,不去重复6.存在的修改,不存在的插入用Merge。
DB2使用笔记
19、concatt(参数1,连接值) --把参数1加上连接值组成一个新值。
例如: concat('aa','b') --返回是aab
把oracle表导入到db2数据库中,有些字段类型需要进行转换,具体看:oracle与db2数据类型转换
创建数据库
db2 => CREATE DATABASE DB4 ON D:\StoragePath DBPATH ON C:
db2 connect to <数据库名> user <用户名> using <密码> --连接到远端数据库
2、 db2 force application all --强迫所有应用断开数据库连接
3、db2 backup db db2name<数据库名称> --备份整个数据库数据
DB20000I CREATE DATABASE命令成功完成。
例如:select * from <表名> fetch first 10 rows only
16、coalesce(字段名,转换后的值) --对是null的字段进行值转换
例如:select coalesce(id,1) from <表名> --对表中id如果为null转换成1
db2 restore db <db2name> --还原数据库
4、db2 list application --查看所有连接(需要连接到具体数据库才能查看)
5、db2start --启动数据库
db2stop --停止数据库
6、create database <数据库名> using codeset utf-8 territory CN --创建数据库使用utf-8编码
DB2培训讲义_DB2性能优化入门
DML性能问题:查询优化
同时还要考虑到 RUNSTATS/REORG 因素。 RUNSTATS 命令可以更 新表中的统计信息。当表中的数据经过频繁的增删改后其相应的统计 信息会发生变化,而优化器选择执行计划的时候是根据这种统计信息 来计算的,所以运行 RUNSTATS 此时显得尤为重要。 REORG 可以 整理数据存储的物理结构,也能减少数据扫描的时间,提高查询的性 能。 从存储方面应当注意的是选取裸设备的 DMS 要比 SMS 性能要好,因 为它少了一层文件系统的缓冲而直接访问缓冲池。
学会使用 optimize for n rows 子句,它可以提高前面 n 条记录的显示 速度。这样可以使用户能够先快速查看这 n 条记录,然后再看其他纪 录。减少了用户的等待时间。
DML性能问题:查询优化
针对复杂查询时可以将数据库配置参数 DFT_QUERYOPT( 缺省查询 优化类 ) 的值设得高一些(7 或 9),针对简单查询可以将它设得低一 些 (3 或 5),因为设置越高优化器所作的分析就越深入,耗费在生成计 划上的时间就越多。 针对 C/S 结构的查询可以将查询语句写在服务器端生成存储过程来减 少数据的网络传输以及客户端的压力。而经过编译的存储过程执行得 更加高效。
DB2培训讲义
性能优化入门
有关的概念
DB2 性能优化的三个方面
内存 CPU I/O
内存因素
在内存方面,主要是考虑缓冲池 (BUFFERPOOL) 的使用。缓冲池是 一片用来缓冲从磁盘上读取的数据和索引的内存区域,这些数据和索 引信息在缓冲池中进行运算后最终还要写回磁盘。缓冲池的页面大小 有四种 (4K,8K,16K,32K),分别对应四种不同页面大小的表空间。缓冲 池的大小决定了能够从磁盘上缓冲数据的容量大小。当然缓冲池也不 是越大越好,缓冲池过大可能会导致连接数据库的时间过长,因为在 连接数据库时要为数据库的缓冲池分配内存空间。可以通过计算缓冲 池的命中率来评估缓冲池的使用效率:缓冲池命中率 =(1-(( 数据物理 读 + 索引物理读 )/( 数据逻辑读 + 索引逻辑读 ))) *100%,缓冲池命中 率越大说明缓冲池的使用效率高。缓冲池命中率太小说明缓冲池太小 应当调大。其中的数据物理读,索引物理读以及数据逻辑读和索引逻 辑读都可以从缓冲池的快照中获取。
DB2-培训内容
2024/9/22
8
DB2 旳总体构造
2024/9/22
9
DB2 旳总体构造
DB2 Environment
DB2 Instance
DB2 DataBase
DB2 DataBase
DB2 Instance
DB2 DataBase
DB2 Environment (db2set)
DB2 Instance (db2i…)
DB2 培训内容纲要
DB2简介
DB2 产品简介 DB2 旳总体构造 DB2 连接
DB2 SQL
数据库对象操作(DDL+) 数据操作(DML) 高级SQL
DB2 管理
数据存储 系统维护 监控和优化
附录
2024/9/22
1
DB2 产品简介
2024/9/22
2
DB2 产品简介
2024/9/22
2024/9/22
19
DB2 SQL
RETRIEVING DATA(查询)
Retrieving the Entire Table Projecting Columns from a Table Changing the Order of the Columns Restricting Rows from a Table Limiting Result Table Size Selecting Columns from Multiple Tables Using Correlation Names DB2 Functions(Row、Column) Subquery(子查询)
DB2 DataBase(db)
2024/9/22
10
DB2 连接
2024/9/22
循序渐进db2笔记-日常维护
14.1.1 查看是否有僵尸进程
在UNIX中,若父进程在一定的时间内无法收集到状态信息,则系统就会残留一个defunct进程。因为defunct进程是已经停止的,所以使用杀死进程的方法来杀defunct进程是无效的。defunct进程不使用CPU或硬盘等系统资源,而只使用极少量的内存用于存储退出状态和资源使用信息。
select * from sysibmadm.TOP_DYNAMIC_SQL order by NUM_EXECUTIONS desc fetch first 5 rows only;
此语句返回执行频率最高的5个动态SQL语句的所有执行时间、排序执行次数和语句文本详细信息。
为了标识执行时间最长的动态SQL语句,请检查AVERAGE_EXECUTION_TIME_S值最大的5个查询:
select * from sysibmadm_EXECUTION_TIME_S desc fetch first 5 rows only;
14.2.7 监控排序次数最多的SQL语句
select STMT_SORTS,SORTS_PER_EXECUTION,substr(STMT_TEXT,1,60) as STMT_TEXT from TOP_DYNAMIC_SQL order by STMT_SORTS desc fetch first 5 rows only;
通过inspect命令检查数据库是否一致:
db2 inspect check database results keep db_check.out
db2inspf db_check.out db_check.txt #检查文件,查看数据库是否一致
14.1.3 查看诊断日志判断是否有异常
DB2学习总结(1)——DB2数据库基础入门
DB2学习总结(1)——DB2数据库基础⼊门DB2的特性完全Web使能的:可以利⽤HTTP来发送询问给服务器。
⾼度可缩放和可靠:⾼负荷时可利⽤多处理器和⼤内存,可以跨服务器地分布数据库和数据负荷;能够以最⼩的数据丢失快速地恢复,提供多种备份策略。
DB2数据库启停启动数据库:db2start停⽌数据库:db2stop检查存在的数据库LIST DATABASE DIRECTORY数据库连接、断开CONNECT TO databasenameCONNECT RESET创建、删除数据库CREATE DB databasename注:如果已经连着⼀个数据库的话,就创建不了数据库,会报“应⽤程序已经与⼀个数据库相连”的错DROP DB databasename第⼆节表数据类型可分为数值型(numeric)、字符串型(character string)、图形字符串(graphic string)、⼆进制字符串型(binary string)或⽇期时间型(datetime)。
还有⼀种叫做DATALINK的特殊数据类型。
DATALINK值包含了对存储在数据库以外的⽂件的逻辑引⽤。
数值型数据类型包括:⼩整型,SMALLINT:两字节整数,精度为5位。
范围从-32,768到32,767。
⼤整型,INTEGER或INT:四字节整数,精度为10位。
范围从-2,147,483,648到2,147,483,647。
巨整型,BIGINT:⼋字节整数,精度为19位。
范围从-9,223,372,036,854,775,808到9,223,372,036,854,775,807。
⼩数型,DECIMAL(p,s)、DEC(p,s)、NUMBERIC(p,s)或NUM(p,s):⼩数型的值是⼀种压缩⼗进制数,它有⼀个隐含的⼩数点。
压缩⼗进制数将以⼆-⼗进制编码(binary-coded decimal,BCD)记数法的变体来存储。
⼩数点的位置取决于数字的精度(p)和⼩数位(s)。
循序渐进db2笔记-索引讲解
索引类型唯一索引它确保表中没有两个数据行具有完全相同的键值来帮助维护数据完整性。
尝试为已经包含数据的表创建唯一索引时,将检查组成该索引的列中的值是否唯一,如果包含具有重复键值的行,索引创建将失败。
为表定义了唯一索引之后,每当在索引中添加或更改键时就会强制唯一性(包括插入、更新、装入、导入和设置完整性以命名一部分)。
引:唯一索引用来保证数据的唯一性,唯一索引一般性能要高于非唯一索引,只允许列表中出现一个键值,允许显示单个NULL。
例句:CREATE UNIQUE INDEX <IDX_NAME> ON <TAB_NAME>非唯一性索引维护频繁使用的数据值的排序顺序,这仅仅用于提高查询性能,不用于对关联的表强制执行约束。
引:数据库管理器使用唯一索引和NOT NULL约束的组合来实现主键约束和唯一键约束。
可以说大部分的索引是非唯一索引,这和数据的分布有关系,一般的数据都具有可重复性特性,所以他们不能被定义为唯一索引。
非唯一索引可以使用命令:CREATE INDEX <IDX_NAME> ON <TAB_NAME> (<COLNAME>)集群索引数据页中行的顺序对应于索引中行的顺序。
这就使得给定表中只能存在一个集群索引。
在某些关系数据库管理系统中,集群索引的叶子节点对应于实际数据,而不是对应于指定位于其他地方的数据的指针。
集群索引作用:如果对表进行了重组,那么会按照索引键的顺序将行插入数据页中。
集群索引改善了以键的顺序扫描整张表的性能。
引:群集索引允许对数据页采用更线性的访问模式,允许更有效的预取,并且避免排序。
群集索引是要求数据在插入时,做更多的操作,将相临的数据条目放入相同的页,使得查询速度更快,因为每次访问索引页要将所有的索引条目都访问完毕才移到下一页,保证了缓存池中任何一个时刻都只有一个索引页存在。
群集索引的特点:提高查询速度,数据页以键的顺序排列;以键的顺序扫描整张表;插入和更新需要做更多的事情,不建议经常插入和更新的表上做群集索引非集群索引两者都只包含索引结构中的键和记录标识。
DB2笔记
一、安装DB2 V8今天找了台机器,AIX5.3 ML03,安装DB2 过程太简单了,这里就不说了创建instance :$ db2icrt -a SERVER -s ese -u db2fenc1 -w 64 -p db2c_db2inst1 db2inst1后来发现,如果直接写:$ db2icrt -a SERVER -s ese -u db2fenc1 -w 64 -p DB2_db2inst1 db2inst1估计后面就不需要重新update dbm cfg using SVCENAME ………… 了。
________________________________________________________________________ __________知识点学习补充:实例是一个逻辑数据库管理器环境,可在其中编目数据库并设置配置参数。
根据需要,可创建多个实例。
可使用多个实例执行以下操作:将一个实例用作开发环境,将另一个实例用作生产环境。
调整一个实例以用作特定的环境。
限制对敏感信息的存取。
控制每个实例中对SYSADM、SYSCTRL 和SYSMAINT 权限的指定。
优化每个实例的数据库管理器配置。
限制实例失败所带来的影响。
若一个实例失败,则只影响一个实例。
其它实例可继续正常运行。
应注意多个实例存在一些小缺点:每个实例都需要额外的系统资源(虚拟内存和磁盘空间)。
由于要管理附加实例,因此增加了管理工作量。
实例目录存储着与一个数据库实例相关的所有信息。
实例目录一旦创建,就不能更改其位置。
该目录包含:数据库管理器配置文件系统数据库目录节点目录节点配置文件(db2nodes.cfg)包含调试信息(例如异常或寄存器转储或用于DB2(R) 通用数据库(DB2 UDB)进程的调用堆栈)的其它任何文件。
在UNIX(R) 操作系统上,该实例目录位于INSTHOME/sqllib 目录,其中INSTHOME 是实例所有者的主目录。
DB2存储过程学习笔记
创建:db2-td@-vf createSQLproc.db2--end@ (此处的@可替换成其他符号)调用:db2call过程名(参数)1 基础--声明变量:DECLARE<variable-name><data-type><DEFAULT constant>--赋值:SET x=10;SET y=(SELECT SUM(c1)from T1);VALUES10INTO x;SELECT SUM(c1)INTO y from T1;--会话全局变量:CREATE VARIABLE var_name DATATYPE[DEAFULT value];2 、数组2.1定义CREATE TYPE mynames as VARCHAR(30)ARRAY[];--定义数组2.2声明DECLARE nameArr mynames;--声明数组2.3赋值SET TESTARR=ARRAY[1,2,3,4,5,6,7,8,9,10];SET TESTARR=ARRAY[VALU ES(1),(2)];--方法1,使用SET语句SELECT SUM(NUM)INTO TESTARR[1]FROM(VALUES(1),(2))AS TEMP(NU M);--方法2,使用VALUES INTO语句VALUES1INTO TESTARR[1];--方法3,使用SELECT INTO语句SET TESTARR[1]=1;--方法4,使用ARRAY构造函数2.4操作数组的函数ARRAY_DELETE:删除数组元素TRIM_ARRAY:从右开始删除指定数目个元素ARRAY_FIRST:返回数组中第一个元素ARRAY_LAST:返回数组中最后一个元素ARRAY_NEXT:返回数组下一个元素ARRAY_PRIOR:返回数组前一个元素ARRAY_VARIABLE:返回参数指定的元素ARRAY_EXISTS:判断数组是否有元素CARDINALITY:返回数组中元素的个数MAX_CARDINALITY:返回数组中元素的个数UNNEST:将数组转换为表3 复合语句语法:label:BEGIN[ATOMIC|NOT ATOMIC]--ATOMIC关键字封装的复合语句被当作一个处理单元--变量声明、过程逻辑等END label4流程控制--条件判断IFIF<condition>THEN<SQL procedure statement>;ELSEIF<condition>THEN<SQL procedure statement>;ELSE<SQL procedure statement>;END IF;IF FRIEND='张三'THENSET MSG='你好,张三';ELSEIF FRIEND='李四'THENSET MSG='你好,李四';ELSESET MSG='对不起,我不认识你';END IF;--循环WhileWHILE<condition>DO<sql statements>;END WHILE;WHILE I<=10DOSET NUM=NUM+I;SET I=I+1;END WHILE;--循环forFOR<loop_name>AS<sql statements>DO<sql statements>;END FOR;FOR TEST AS SELECT I FROM(VALUES(1),(2),(3))AS TEMP(I)DOSET NUM=NUM+I;END FOR;--循环LOOPLABEL:LOOP<sql statements>;LEAVE LABEL;END LOOP LABEL;TEST_LOOP:LOOPSET NUM=NUM+I;SET I=I+1;IF I>10THENLEAVE TEST_LOOP;END IF;END LOOP TEST_LOOP;--循环RepeatREPEAT<sql statements>;UNTIL<condition>END REPEAT;REPEATSET NUM=NUM+I;SET I=I+1;UNTIL I>10END REPEAT;--其他关键字ITERATE label--。
DB2操作笔记
DB2操作笔记连接数据库connect to [数据库名] user [操作用户名] using [密码]创建缓冲池(8K)create bufferpool ibmdefault8k IMMEDIATE SIZE 5000 PAGESIZE 8 K ;(16K)(OA_DIVERTASKRECORD):create bufferpool ibmdefault16k IMMEDIATE SIZE 5000 PAGESIZE 16 K ;创建表空间CREATE TABLESPACE exoatbs IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 8K MANAGED BY SYSTEM USING ('/home/exoa2/exoacontainer') EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL IBMDEFAULT8K OVERHEAD 24.10 TRANSFERRATE 0.90 DROPPED TABLE RECOVERY OFF;CREATE TABLESPACE exoatbs16k IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 16K MANAGED BY SYSTEM USING ('/home/exoa2/exoacontainer16k' ) EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL IBMDEFAULT16K OVERHEAD 24.1 TRANSFERRATE 0.90 DROPPED TABLE RECOVERY OFF;CREATE TABLESPACE exoatbs32k IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 32K MANAGED BY SYSTEM USING ('/home/exoa2/exoacontainer32k' ) EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL IBMDEFAULT32K OVERHEAD 24.1 TRANSFERRATE 0.90 DROPPED TABLE RECOVERY OFF;GRANT USE OF TABLESPACE exoatbs TO PUBLIC;GRANT USE OF TABLESPACE exoatbs16k TO PUBLIC;GRANT USE OF TABLESPACE exoatbs32k TO PUBLIC;创建系统表空间CREATE TEMPORARY TABLESPACE exoasystmp IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 8K MANAGED BY SYSTEM USING ('/home/exoa2/exoasystmp' ) EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL IBMDEFAULT8K OVERHEAD 24.10 TRANSFERRATE 0.90 DROPPEDTABLE RECOVERY OFF;CREATE TEMPORARY TABLESPACE exoasystmp16k IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 16K MANAGED BY SYSTEM USING ('/home/exoa2/exoasystmp16k' ) EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL IBMDEFAULT16K OVERHEAD 24.10 TRANSFERRATE 0.90 DROPPED TABLE RECOVERY OFF;CREATE TEMPORARY TABLESPACE exoasystmp32k IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 32K MANAGED BY SYSTEM USING ('/home/exoa2/exoasystmp32k') EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL IBMDEFAULT32K OVERHEAD 24.10 TRANSFERRATE 0.90 DROPPED TABLE RECOVERY OFF;启动实例(db2inst1)db2start停止实例(db2inst1)db2stop列出所有实例(db2inst1)db2ilist列出当前实例db2 get instance察看示例配置文件db2 get dbm cfg|more更新数据库管理器参数信息db2 update dbm cfg using para_name para_value创建数据库db2 create db test察看数据库配置参数信息db2 get db cfg for test|more更新数据库参数配置信息db2 update db cfg for test using para_name para_valuedb2 drop db test连接数据库db2 connect to test列出所有表空间的详细信息db2 list tablespaces show detail创建索引db2 create index idx1 on tb1(id)创建视图db2 create view view1 as select id from tb1查询视图db2 select * from view1节点编目db2 catalog tcp node node_name remote server_ip server server_port 察看端口号db2 get dbm cfg|grep SVCENAME测试节点的附接db2 attach to node_name察看本地节点db2 list node directory节点反编目db2 uncatalog node node_name数据库编目db2 catalog db db_name as db_alias at node node_name察看数据库的编目(查询数据个数)db2 list db directorydb2 connect to db_alias user user_name using user_password 数据库反编目db2 uncatalog db db_alias导出数据db2 export to myfile of ixf messages msg select * from tb1导入数据db2 import from myfile of ixf messages msg replace into tb1 导出数据库的所有表数据db2move test export生成数据库的定义db2look -d db_alias -a -e -m -l -x -f -o db2look.sql创建数据库db2 create db test1生成定义db2 -tvf db2look.sql导入数据库所有的数据db2move db_alias import重组检查db2 reorgchk重组表tb1db2 reorg table tb1更新统计信息db2 runstats on table tb1备份数据库testdb2 backup db test恢复数据库testdb2 restore db test列出容器的信息db2 list tablespace containers for tbs_id show detail创建表db2 ceate table tb1(id integer not null,name char(10))列出所有表db2 list tables建立数据库DB2_GCBCREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCBUSING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 32建立别名create alias db2admin.tables for sysstat.tables;建立视图create view V_zjt_tables as select tabschema,tabname from zjt_tables建立触发器CREATE TRIGGER zjt_tables_del AFTER DELETE ON zjt_tables REFERENCING OLD AS OFOR EACH ROW MODE DB2SQL Insert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabname,1,10))建立唯一性索引CREATE UNIQUE INDEX I_ztables_tabname [size=3]ON zjt_tables(tabname);查看列select SUBSTR(COLNAME,1,20) as 列名,TYPENAME as 类型,LENGTH as 长度from columns where tabname='ZJT_TABLES';查看表结构db2 describe table user1.departmentdb2 describe select * from user.tables查看表的索引db2 describe indexes for table user1.department查看视图select viewname from views where viewname='V_ZJT_TABLES'查看索引select indname from indexes where indname='I_ZTABLES_TABNAME'查看存贮过程SELECT SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15) FROM SYSCAT.PROCEDURES类型转换(cast)ip datatype:varcharselect cast(ip as integer)+50 from log_comm_failed察看应用联接LIST APPLICATION杀死应用联接db2 force application alldb2 force application ID1,ID2,,,Idn MODE ASYNC(db2 list application for db o_yd show detail)锁表lock table test in exclusive mode显示当前用户所有表list tables列出所有的系统表list tables for system显示用户数据库的存取权限GET AUTHORIZATIONS表或视图特权grant select,delete,insert,update on tables to usergrant all on tables to user WITH GRANT OPTION程序包特权GRANT EXECUTEON PACKAGE PACKAGE-nameTO PUBLIC模式特权GRANT CREATEIN ON SCHEMA SCHEMA-name TO USER数据库特权grant connect,createtab,dbadm on database to user索引特权grant control on index index-name to user如何查看表的结构DESCRIBLE TABLE TABLE_NAMEORDESCRIBLE SELECT*FROM SCHEMA.TABLE_NAME执行一个批处理文件db2 –tf 批处理文件名(文件中每一条命令用;结束)付权语句grant dbadm on database to user bb自动生成批处理文件select 'runstats on table DB2.' || tabname || ' with distribution and detailed indexes all;' from syscat.tables where tabschema='DB2' and type='T';db2 –tf temp.sql>;runstats.sql绑定存储过程db2 connect to o_yd user db2 using pwddb2 bind c:\dfplus.bnd备份数据库CONNECT TO EXOA;QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS;CONNECT RESET;BACKUP DATABASE EXOA TO "/home/exoa2/db2bak/" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING;CONNECT TO EXOA;UNQUIESCE DATABASE;CONNECT RESET;以下是小弟在使用db2move中的一些经验,希望对大家有所帮助。
DB2总结——精选推荐
DB2总结⼀、DB2笔记d b2⾥需要⽤到⼀个系统环境变量:d b2c o de p a g e,缺省值是1386,在江苏电⼒,⼀般情况下d b2c o d e p a g e=437。
新安装数据库客户端的机器在D B2C O M M A N DW I N D O W S中执⾏语句:D B2S E T D B2C O D E P A G E=437,否则⽆法正确连上服务器。
设置环境变量命令:D: db2set db2codepage=1386查看环境变量命令:db2setd:\winnt\system32\drivers\etc\services⽂件是对机器名到IP地址的解析。
d:\winnt\system32\drivers\etc\hosts⽂件是对端⼝名到端⼝号的解析。
以上两条上⾮DB2的,但在DB2中使⽤到。
DB2⾥对⼀个命令的HELP是:>db2 ? 该命令db2 连接到远程数据库第⼀步建⼀个结点:>db2 catalog tcpip node 结点名 remote 数据库服务器IP地址 server 端⼝(50000)第⼆步建⼀个到库的联结别名:>db2 catalog db 库名 as 别名 at node 结点名第三步建⽴联结:>db2 connect to 别名 user ⽤户名 using ⽤户密码db2⾥需要⽤到⼀个系统环境变量:db2codepage,缺省值是1386,此值⾮常重要,客户端于数据库端的db2codepage不⼀样时客户端就⽆法连上数据库端。
电⼒部门,⼀般情况下db2codepage=437。
DB2⾥⼀个表的全名是:schema.表名,缺什情况下不同的⽤户看到的表是不⼀样的,在程序的sql语句⾥必需⽤表的全名(切记)。
查看有哪些程序在使⽤该数据库:>db2 list application其结果中有⼀个字段application-handle在杀死该引⽤中⽤到杀死⼀个程序对该数据库的使⽤:>db2 force application {all | (application-handle)}在库被使⽤时db2stop不能执⾏DB2命令后所带参数:-t 以;作为⼀句结束-f 指向⼀个⽂件(即执⾏⼀个⽂件中的语句,在command窗⼝⾥有些命令⽆法执⾏,可先⽤notepad建⼀个⽂件然后执⾏它)-v (我不知道是什么)注释:-v⽤于显⽰当前所执⾏的sql命令。
DB2培训资料(doc35)
DB2培训资料(doc35)1.1、DB2 UDB的产品家族UDB(Universal Database )的前身为DB2,是IBM公司开发的关系型数据库治理系统。
从其产生之日开始,DB2就定位于要为各种规模的企业提供稳固、高效的数据治理支持。
能够讲,DB2是当前适用范畴最广泛的数据库产品。
我们对DB2产品的划分通常分为两种方法:一种方法是按其所能支持的硬件和操作系统平台进行划分,另一种方法是按其所能支持的用户规模的不同进行划分。
DB2产品几乎覆盖了当前所有流行的硬件和操作系统平台。
在大型机操作系统上,有DB2 for OS/390、DB2 for MVS/ESA、DB2 for VSE 和DB2 for VM等多种产品;在由IBM公司设计的小型机AS/400上,DB2差不多嵌入在操作系统OS/400之中,成为其不可分割的一部分。
DB2对UNIX操作系统的支持同样十分广泛,能够在AIX、HP-UX、Solaris、SCO-UNIX、SINIX 等多种系统上找到其相应的版本。
另外,在PC操作系统上,DB2能够对Window 9x、Windows NT以及OS/2等多种操作系统提供支持。
UDB 6.1还增加了对Linux操作系统的支持。
以上我们所提到的只是DB2服务器所能运行的平台,DB2的客户端所能支持的平台更为广泛,除了以上提到的所有平台之外,DB2的客户端还能运行在Dos、Windows 3.x、Mac OS以及SGI公司的IRIS系统之上。
UDB产品除了能够对各种硬件和操作系统平台进行支持之外,为了适应不同用户群的需要,UDB提供了不同级不的产品,对小到个人用户,大到跨国企业的不同需求提供支持。
以下是对UDB 6.1版本不同级不产品的特点介绍:UDB卫星版:是专门为移动用户设计的小型数据库产品。
适合于偶然连接DB2控降服务器来与公司系统交换数据的单用户系统。
它既能承诺用户对本地数据进行各种修改,又能够同意远程卫星操纵器的集中治理,减轻本地用户的治理负担。
DB2UDBV8.1管理学习笔记
DB2 UDB V8.1 管理学习笔记目录参考资源在DB2中有关实例(Instance), 数据库(Database),表空间(TableSpace),容器(Container)等概念:在一个操作系统中,DB2数据服务可以同时运行多个实例(有别于Oracle在一个系统内只能起一个实例),数据库定义在实例中,一个实例可以包含多个数据库。
在同一个实例中的不同数据库是完全独立的,分别拥有自己独立的系统编目表。
表空间分为DMS方式和SMS(System manegement Space)方式,定义在数据库中,一个数据库中必须存在两个系统基本的表空间,分别是系统编目表空间(SysCatSpace)与系统临时表空间(SysTempSpace)。
在数据库中创建的任何对象都以在系统编目表空间中增加记录的方式体现,对于临时表空间,其占用磁盘大小是根据使用情况动态伸缩的,即仅在需要时才分配磁盘空间,并在使用后进行回收。
此外,若用户需要创建表,则需要创建用户表空间(UserSpace),若需要使用临时表,则需要创建用户临时表空间(UserTempSpace)。
DMS与SMS类型在表空间建立时指定,建好后不能转换。
对于DMS方式,一个表空间对应了一个或多个容器(Container),容器指定了数据的物理存储位置。
对于SMS方式,只能够指定一个目录,不能够增加。
容器分为三种类型,前两种是文件与设备,用于DMS方式的表空间;还有一种是目录,用于SMS方式的表空间,此种方式不需要人工管理数据存储文件,DB2可根据情况在目录中自动增加存储文件,只要磁盘空间允许。
实质上,表空间是数据存储的逻辑位置定义,容器则是数据存储的物理位置定义。
影响一个数据库的性能主要有以下因素:磁盘(Disk), 内存(Memory), 处理器(CPU), 网络(Network)。
其中以磁盘最为显著,90%的性能瓶颈可能来自于磁盘的IO竞争;其次是内存,一方面是指物理内存的总量要满足需求,另一方面是指与内存相关的配置参数应正确配置;当然处理器的性能也很重要,多路CPU会对哪些依赖计算能力的复杂SQL查询起到显著的效果;网络不属于主要因素,属于客观的环境因素,是指过慢的网速会对数据的传输造成影响。
DB2相关笔记 Ι (常用知识点)
DB2相关笔记 Ι (常用知识点)1、--db2里面建索引:CREATE INDEX ALMUSR.IDX_BILL_NO ON ALMUSR.ACC_LOAN( BILL_NO ASC )ALLOW REVERSE SCANSCOMPRESS NO;COMMIT;--建立唯一性索引CREATE UNIQUE INDEX I_ztables_tabname ON zjt_tables(tabname);2、--指定表空间建表create table INCT_00 (ACCT_NO CHARACTER(16) not null,REC_NO CHARACTER(9) not null,TRAN_TYPE CHARACTER(2))IN USERSPACE8K; --表空间USERSPACE8K3、表结构导出db2look模板:db2look -d database_name [<option1>,<option1>],注:选项的顺序可以任意-e:提取数据库对象的DDL语句。
-a:提取用户创建的所有对象的DDL语句。
如果这选项与 -e 选项一起指定,则是对数据库中所有的对象都进行处理。
-z:指定schema 模式名的对象。
-t:指定table 一个或多个表对象,表名用空格字符分开。
-l:为用户定义的表空间、缓冲池生成DDL语句-o:将输出结果写入到一个文件中。
eg:db2look -d $DB2NAME -t $SCHNAME.$TABNAME -e -o $TABNAME.sqldb2look -d FYMADB -e -t PA_IMPORT_CONF -o FYMA_PA_IMPORT_CONF_DDL.sqldb2look -d FYMADB -e -t FDM_PA_GL -o DB2_20160302.sqldb2look -d FYMADB -t FYMA.FDM_PA_GL -e -o DB2_20160302.sqldb2look -d ALMDB -e -a -l -o db2look_20120924.sqldb2look -d RDMDB -e -a -o db2look_20120101.sql3、批量数据导入注意:导入全量表时使用replace,导入增量表时使用insertdb2 connect to FYMADB user fyma using fyma; --连接数据库(db2 connect reset --重新连接db2 disconnect db2_gcb --中断数据库连接 )db2 load from ADM_FTP_TPCOA_RATE.del of del replace into FYMA.ADM_FTP_TPCOA_RATE;db2 load from ADM_FUND_PACK_DATA.del of del replace into FYMA.ADM_FUND_PACK_DATA;……4、导出模板db2 connect to odsdb user prbk using prbk--导出db2 export to F_CD_DBC_ODMSA_20121106.dat of del modified by DATESISO coldel0x03 NOCHARDEL "select * from ALMDB.F_CD_DBC_ODMSA" > F_CD_DBC_ODMSA_20121106.log;--或者db2 export to F_CD_DBC_ODMSA_20121106.dat of del MODIFIED BY nochardel coldel0x03 datesiso "select * from ALMDB.F_CD_DBC_ODMSA" > F_CD_DBC_ODMSA_20121106.log;5、数据库配置方面的命令(1). 检查 DB2 数据库管理程序配置 db2 get dbm cfg(2). 察看数据库配置参数信息 db2 get db cfg for CRMSDB|more(3). 更新数据库参数配置信息 db2 update db cfg for CRMSDB using para_name para_value(4). 查看实例 db2ilist(5). 数据库节点目录 db2 list node directory(6). 系统数据库目录 db2 list db directory(7). 查看命令选项 db2 list command options(8). 启动实例 停止实例 DB2START db2stop force6、查看表空间的命令查看表空间 db2 list tablesapces show detail查看表空间容器 LIST TABLESPACE CONTAINERS FOR 2--查看表sql语句方法一:查看表空间是否已满select substr(TABLESPACE_NAME,1,20) as TBSPC_NAME,bigint(TOTAL_PAGES * PAGE_SIZE)/1024/1024/1024 as "TOTAL(GB)",used_pages*PAGE_SIZE/1024/1024/1024 as "USED(GB)", free_pages*PAGE_SIZE/1024/1024/1024 as "FREE(GB)"from table(snapshot_tbs_cfg('CRMSDB', -2)) as snapshot_tbs_cfg方法二 :通过load的第三方工具查看/home/db2icrms/sqllib/db2dump/db2diag.log--显示当前用户所有表 db2 list tables--列出所有的系统表 db2 list tables for system-----------------------------------------------------------进程相关命令-----------------------------------------------------------7、删除约束(删除表ALMUSR.PUB_CASH_LOAN的约束)ALTER TABLE ALMUSR.PUB_CASH_LOAN DROP PRIMARY KEY;删除表ALMUSR.PUB_CASH_LOAN的主键约束PK_M_LOANALTER TABLE ALMUSR.PUB_CASH_LOAN DROP CONSTRAINT PK_M_LOAN;COMMIT;8、快速清空表M_LOANalter table M_LOAN activate not logged initially with empty table;9、列出相关进程号、杀进程db2 list applicationdb2 force applications (进程号)--kill单个进程 如:db2 force applications (23459)db2 force application all 所有进程10、查询表的状态:db2 load query table tablename;11、给表或视图赋特权grant select,delete,insert,update on tables to usergrant all on tables to user WITH GRANT OPTION12、服务器后台调用存储过程db2 connect to DMCRMS user crmsapp using crmsappdb2 "call CRMSAPP.UP_AMT_ADD_NUM_TEST(?)"如:db2 "call PROC_FDM_CAPITAL_AC_GATHER_D.db2(20160131,?,?,?,?)" --20160131传入参数,?表示输出参数db2 connect reset13、在后台运行SQL脚本命令db2 connect to FYMADB user fyma using fyma --连接数据库db2 -tvf LRUSR_B_AD_CURVE_ADD_INFO_DATA.sql | tee -a data.log --建表并输出logdb2 -td@ -f PROC_PARTITION_MGR.sql | tee -a proc.log ----在后台编译存储过程或函数并输出log14、查询schema下表空间下的表SELECT TABSCHEMA,TABNAME,TBSPACE,INDEX_TBSPACEFROM SYSCAT.TABLESWHERE(TBSPACE in ('USERSPACE1','ODS_TBS_DATA','ALM_TBS_IDX')OR INDEX_TBSPACE IN ('ALM_TBS_IDX'))AND TABSCHEMA = 'FYMA'ORDER BY TBSPACE,INDEX_TBSPACE;15、查询表涉及的存储过程select PROCNAME from SYSCAT.PROCEDURESwhere SPECIFICNAME in(select dname from sysibm.sysdependencieswhere bname in ( select PKGNAME from syscat.packagedep a where a.BSCHEMA='FYMA' and a.BNAME='PDM_PA_SUBJ')) ;16、修改字段类型alter table FYMA.FDM_PA_CHECK_RESULT alter column CHECK_RESULT set data type VARCHAR(100);删除表中字段alter table [表名] drop column [字段名];添加表中字段(可无限添加)alter table [表名] add column [字段名];为表添加主键约束(该列必须为not null)alter table [表名] add primary key [字段名1,字段名2等等];查看表结构命令(如同oracle中的desc tablename)describe table [tablename];建表中字段添加注释COMMENT ON column almusr.MA_JOB_EVENT_CFG.JOB_ID(schema.table.column) is '作业ID';commit;更新字段UPDATE ALMUSR.ADD_MANAGE_PROPERTY SET GL_ACCOUNT_ID='13210101'WHERE SEQ_NO>15;COMMIT;17、后台编译和运行存储过程编译:CM PROC_FDM_PA_CHECK_RESULT_M.db2运行:db2 "call PROC_FDM_PA_CHECK_RESULT_M('20151031',?,?,?,?)"注意:PROC_FDM_PA_CHECK_RESULT_M不带db218、exist和in的区别A表大表,B表是小表子查询是小表时用in效率高子查询是大表时用exist效率高例如:表A(小表),表B(大表)1:select * from A where cc in (select cc from B) 效率低,用到了A表上cc列的索引; select * from A where exists(select cc from B where cc=) 效率高,用到了B表上cc列的索引。
循序渐进DB2.DBA系统管理、运维与应用案例-学习笔记V2.0
未提交读(Uncommitted Read)、游标稳定性(Cursor stability)、读稳定性(Read stability)可重复读(Repeatable Read)。
王磊:1。
调整AIX内存参数minperm:如果由文件页面占有的实际内存的百分比低于这个级别,则页面替换算法既替换文件页面也替换计算页面maxperm:指定能用于客户机页面的最大内存百分数的调整参数。
如果由文件页面占有的实际内存的百分比高于这个级别,则页面替换算法仅替换客户机页面典型值如下:maxperm%= 15minperm% = 5vmo —p -o maxclient%=20vmo —p -o maxperm%=201第1章DB2安装配置1.1 DB2数据库概述1.1.1DB2发展历史1.1.2DB2版本和平台支持1.1.3DB2产品组件和功能1.2 DB2数据库安装配置响应文件是一个包含设置和配置值的文本文件。
DB2安装程序将读取该文件,并根据已指定的值来执行安装,响应文件安装也成为静默安装。
响应文件的另一个优点是:他们提供了对那些不能使用“DB2安装”向导设置的参数的访问.在Linux和UNIX操作系统上,如果将DB2安装映像嵌入您自己的应用程序中,那么您的应用程序有可能从安装程序中以计算机可读的格式接收安装进度信息和提示。
这种安装方式一般比较适合大批量的客户端的安装。
1.2.1DB2在Windows上的安装1.2.2DB2在linux、UNIX上的安装1.3 DB2数据库体系结构环境变量(25)DB2概要文件注册变量节点目录:(27)节点目录用于存储远程数据库的所有连通性信息。
节点目录中记录与每个系统进行通信所需要的信息:例如机器(其中包含了您想连接的数据库)的主机名或IP地址,还有相关的DB2实例的端口号和使用的通信协议。
要想得到您想要连接的远程实例的端口号,可以通过查看该实例的dbm cfg中的svcename参数来实现。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、Tablespace●表空间分为dms与sms 设定后不可以修改,库中必定存在syscatspace/systmpspace 两个sms类型的表空间。
可创建userspace/usertmpspace(用户临时表空间用于临时表)●Systmpspace: 在小根据使用情况自动分配动态伸缩,仅在需要时才分配磁盘空间,并在使用后进行回收,pagesize=4●Syscatspace: 在数据库中创建的任何对象都以在系统编目表空间中增加记录的方式体现●Dms、sms、containerDms可以为对应多个container,不能为目录,而Sms只能提定一个目录且不能增加。
表空间是数据存储的逻辑位置定义,容器则是数据存储的物理位置定义2、Instance●在一个实例中数据库是完全独立的,各自有系统编目表(放在SysCatspace中)●若为当前会话设置 DB2INSTANCE 环境变量,则其值为当前实例。
要设置DB2INSTANCE 环境变量,输入:set db2instance=<new_instance_name>●若没有为当前会话设置DB2INSTANCE 环境变量,则DB2 UDB 使用系统环境变量中DB2INSTANCE 环境变量的设置●如果根本没有设置 DB2INSTANCE 环境变量,则 DB2 UDB 使用注册表变量DB2INSTDEF。
要在注册表的全局级别设置 DB2INSTDEF 注册表变量,输入: db2set db2instdef=<new_instance_name> -g●查询当前实例 db2 get instance●实例命令(db2ilist db2icrt db2drop db2stop db2start)●attach to nodename user username using password (在客户端登陆到实例上)●当更新实例级别或数据库级别的参数后,有些可以立即生效,有些需要重新启动实例才可生效。
immediate 显式指明更改立即生效,deferred 显式指明更改在重起实例后生效。
3、在AIX中创建实例时必须有一个相同的用户名存上4、关于在AIX小机上建库注意事现●需查询\etc\servise 中的开放端口与服务名称与dbm cfg 中的SVCENAME保持一致database manager config file 数据库管理配置文件db2 update dbm cfg using SVCENAME <name>netstat –a|grep db2c_instname,看看监听是否起来db2 get dbm cfg●更改相关的注册表变量(在sqllib 下)Db2set db2codepage=1386Db2set db2country=86Db2set db2comm=tcpipDb2 terminate●创建/usr/opt/db2_08_01/instance/db2icrt -u db2inst1 <instance_name>●显示一个注册表变量的级别db2set rvn –all显示一个实例级别概要文件设置的注册表值db2set -i (-g)db2 list db directory6、导出数据库完整的定义到脚本文件,包括表,视图,函数,数据库参数等db2look -d sample(数据库)-a -e -l -x -m -f -o(参数)samplesql.out(输出文件)7、查询节点db2 list node directory8、创建或删除编目●db2 => catalog tcpip node node_name remote hostname|ip_addressserver service_name|port_number [remote_instance instance_name][system system_name] [ostype os_type]db2 => terminate●Db2 catalog database <新别名> as <数据库> node <节点>例:CATALOG DATABASE b as b_on_ic AT NODE instnc_c●Uncatalog node9、表空间●表空间是一种存储结构,它包含表、索引、大对象和长型数据。
表空间驻留在数据库分区组中。
它们允许将数据库和表数据的位置直接指定到容器上。
(容器可以是目录名、设备名或文件名。
)●单个表空间可跨多个容器。
●一个数据库至少必须包含三个表空间a.目录表空间,它包含该数据库的所有系统目录表。
此表空间称为SYSCA TSPACE,它不能被删除。
IBMCA TGROUP 是此表空间的缺省数据库分区组。
●目录表空间,它包含该数据库的所有系统目录表。
此表空间称为SYSCA TSPACE,它不能被删除。
IBMCA TGROUP 是此表空间的缺省数据库分区组。
10、创建DAS服务DB2(R)管理服务器(DAS)响应来自DB2 管理工具和配置助手(CA)的请求。
例如,DB2 管理工具允许您启动、停止和设置服务器的数据库管理器配置参数。
CA 使用管理服务器来帮助用户编目客户机上的数据流程:AIX上创建用户组db2admin ,创建DAS用户das/usr/opt/db2_08_01/instance/dascrt -u <DASUser>启动 DAS:作为 DAS 所有者登录。
使用下列其中一个命令运行启动脚本:. DASHOME/das/dasprofile (对于 Bourne 或 Korn shell 程序)source DASHOME/das/dascshrc (对于 C shell)其中 DASHOME 是 DB2 管理服务器的主目录。
要启动 DAS,使用 db2admin 命令: db2admin start9、关于数据库相关命令●激活数据库connect to <dbslias> , active db <dbalias>deactivate database <dbalias>db2 list applications [show detail]db2 force application (6, 5)db2 f orce application all●查询命令list active databases (活动状态的数据库)db2 list db directory (查询当前有多少个数据库)●显示数据库相关的参数 Database Configuration (在数据库一级的)get db cfg for <datalias> show detail11、数据库恢复类型: version recovery(版本恢复) crash roll forwardd前滚恢复是指复原了数据库或表空间备份映像后,重新应用记录在数据库日志文件中的事务。
崩溃恢复是指在完成并落实所有更改(这些更改是一个或多个工作单元(事务)的一部分)之前如果发生故障,会自动恢复数据库。
这是通过回滚未完成的事务,并完成在发生崩溃时仍在内存中的已落实事务来实11.监视●DIAGLEVEL - (0-4) (default 3)0 - NO error logging1 - Log (severe error)2 - Log (severe and non-severe errors)3 - Log (severe, non-severe, and warning messages)4 - Log (severe, non-severe, warning and informational message)修改:db2 update dbm cfg using diaglevel=<级别>db2 update dbm cfg using diagpath=</home/yaolijun/sqllib/db2dump>●DIAGPATH –valid directoryDb2diag.logDb2alert.log 警告日志Pid.dmp(s) Tpid.000 二进制文件●MonitorSnapshot monitor (快照)Event Monitor (事件)GET MONITOR SWITCHES (查询monitor 开关)UPDATE MONITOR SWITCHES USING {switch-name {ON | OFF} ...}12、设置DB2 环境正确设置db2环境非常重要,它控制着DB2 的运行与功能∙DB2 概要文件注册表(是特定于DB2 的变量,它影响DB2 系统的管理、配置和性能。
) 参数修改通常需重启实例,db2set –lr db2set –all∙操作系统环境变量export DB2INSTANCE=PROD∙DB2 数据库管理器配置参数get dbm cfg∙DB2 数据库配置参数13、权限(5种权限)SYSADM(系统管理权限) 拥有管理实例的全部特权,并且还有对底层数据库中数据的访问权。
SYSCTRL (系统控制权限)和SYSMAINT(系统维护权限) 在管理实例、实例的数据库和数据库对象方面有一定的特权。
这些权限没有对数据的访问权。
DBADM(数据库管理权限)有对指定的数据库执行管理任务的特权。
它还拥有对数据库的全部数据访问权。
LOAD 有对特定数据库运行装入实用程序的特权。
14、锁锁的类型in/is/ix/six/s/u/x/zi:intent s:share x:exclusive 互斥b u:update z:superexclusive隔离级别是在预编译或应用程序与数据库绑定时指定的UR: 未落实的读的CS: 游标稳定性RS: 读稳定性RR:可重复读15. 性能主要因素:磁盘(Disk), 内存(Memory), 处理器(CPU), 网络(Network),90%的性能瓶颈可能来自于磁盘的IO竞争;其次是内存,一方面是指物理内存的总量要满足需求,另一方面是指与内存相关的配置参数应正确配置;当然处理器的性能也很重要,多路CPU会对哪些依赖计算能力的复杂SQL查询起到显著的效果;网络不属于主要因素,属于客观的环境因素,是指过慢的网速会对数据的传输造成影响。
DB2的参数配置分为两个级别,一个是实例级别,另一个是数据库级别。
对数据服务性能影响较大的参数主要在数据库级别配置。
16、模式系统模式集是和每个数据库一起创建的,并且它们被放置到SYSCATSPACE 表空间中:模式是用于数据库中创建的数据库对象的高级限定符。