当前位置:首页 » 数据仓库 » db2数据库管理最佳实践
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

db2数据库管理最佳实践

发布时间: 2023-03-26 14:40:29

㈠ db2如何快速入手

徐明伟的《DB2数据库管理最佳实践》

㈡ 怎么启动db2数据库

在一个DB2 实例下,可以创建多个database(具体每个实例下可以创建多少个database,可以通过DB2 GET DBM CFG查看.一旦建立了数据库之后,就可以对其进行操作,然而,在向数据库中建立对象或访问数据库中的对象(数据)之前,必须先知道如何启动和停止数据库.
本小节简单介绍了db2 database通过command line的方式如何实现启动和停止.
激活数据库
如果在database没有激活之前,就在应用中使用connect to database_name或隐式连接,那么应用就必须要进行等待,知道数据库管理器启动了你要连接的数据库.一般第一个应用会引发等待数据库管理器执行数据库启动的所有开销.
我们也可以使用activate database database_name这样的命令启动特定的数据库.这个命令就会免除第一个应用程序连接上来的时候等候数据库初始化所花费的时间。一般情况下,DB2 DBA会提前激活所有必要的数据库.
注意:1)如果发出activate database命令的应用已经与一个database建立了活动的数据库连接,就回返回错误消息.
2)如果需要重新启动(restart)的数据库接受了一个activate database命令,那么这个activate database命令就会象connect to 或隐式连接一样工作.
3)如果数据库配置了
启用的自动重新启动 (AUTORESTART) = ON
那么在activate database命令对其初始化之前,数据库会重新启动.
察看指定数据库的配置参数
--默认
DB2 GET DB CFG FOR study
--分屏显示
DB2 GET DB CFG FOR study | More
--将显示结果存入study.txt 文件中
DB2 GET DB CFG FOR study > study.txt

下面是一个示例,我在当前DB2实例下,创建了3个database,我利用activate命令挨个将他们激活

D:DB2BIN>db2 db2start
DB20000I DB2START命令成功完成。
D:DB2BIN>db2 list database directory
系统数据库目录
目录中的条目数 = 3
数据库 1 条目:
数据库别名 = TEST
数据库名称 = TEST
本地数据库目录 = D:DB2test
数据库发行版级别 = c.00
注释 = test
目录条目类型 = 间接
目录数据库分区号 = 0
备用服务器主机名 =
备用服务器端口号 =
数据库 2 条目:
数据库别名 = BANK
数据库名称 = BANK
本地数据库目录 = D:db2bank
数据库发行版级别 = c.00
注释 = bank
目录条目类型 = 间接
目录数据库分区号 = 0
备用服务器主机名 =
备用服务器端口号 =
数据库 3 条目:
数据库别名 = STUDY
数据库名称 = STUDY
本地数据库目录 = D:db2study
数据库发行版级别 = c.00
注释 = STUDY
目录条目类型 = 间接
目录数据库分区号 = 0
备用服务器主机名 =
备用服务器端口号 =
D:DB2BIN>db2 list active databases
sql1611W “数据库系统监视器”没有返回任何数据。
D:DB2BIN>db2 activate database study
DB20000I ACTIVATE DATABASE命令成功完成。
D:DB2BIN>db2 list active databases
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 0
数据库路径 = D:db2studyDB2NODE0000SQL00001
D:DB2BIN>db2 activate database bank
DB20000I ACTIVATE DATABASE命令成功完成。
D:DB2BIN>db2 list active databases
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 0
数据库路径 = D:db2studyDB2NODE0000SQL00001
数据库名称 = BANK
当前连接的应用程序 = 0
数据库路径 = D:db2bankDB2NODE0000SQL00001
D:DB2BIN>db2 activate database test
DB20000I ACTIVATE DATABASE命令成功完成。
D:DB2BIN>db2 list active databases
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 0
数据库路径 = D:db2studyDB2NODE0000SQL00001
数据库名称 = BANK
当前连接的应用程序 = 0
数据库路径 = D:db2bankDB2NODE0000SQL00001
数据库名称 = TEST
当前连接的应用程序 = 0
数据库路径 = D:DB2testDB2NODE0000SQL00001
D:DB2BIN>停止数据库

由activate database命令初始化的数据库可以由deactivate database命令关闭,也可以通过stop database manager(或db2stop)命令终止数据库管理器来关闭.

如果使用activate
database命令初始化一个数据库,那么最后一个与数据库断开连接的应用就不会关闭数据库.必须要使用deactivate
database.在这种情况下,stop database manager(或db2stop)会关闭数据库,也会终止实例.

如果使用connect
to 或隐式地连接启动数据库,然后再由另外一个应用对相同的数据库发出activate database命令,那么就必须使用deactivate
database命令关闭数据库.如果没有使用activate
database启动数据库,那么当最后一个应用断开与数据库连接的时候,数据库就会关闭.

示例一:使用connect to方式启动的数据库

D:DB2BIN>db2 list active databases
SQL1611W “数据库系统监视器”没有返回任何数据。
D:DB2BIN>db2 connect to study --连接到study数据库,将自动激活study数据库
数据库连接信息
数据库服务器 = DB2/NT 9.5.0
SQL 授权标识 = ZHANGRP
本地数据库别名 = STUDY
D:DB2BIN>db2 list active databases
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 1
数据库路径 = D:db2studyDB2NODE0000SQL00001

说明:数据库被激活,并有一个应用连接上来(就上面的connect to study操作)
D:DB2BIN>db2 connect reset --断开连接
DB20000I SQL命令成功完成。
D:DB2BIN>
D:DB2BIN>db2 list active databases
SQL1611W “数据库系统监视器”没有返回任何数据。

D:DB2BIN>

说明:可以发现,上面的连接断开后,数据库study也自动停止(因为这个study数据库是通过connect to 的方式激活的)
示例二:使用activate database方式启动的数据库

D:DB2BIN>db2 list active databases --这个时候没有启动的数据库
SQL1611W “数据库系统监视器”没有返回任何数据。
D:DB2BIN>db2 activate database study --用activate database激活study数据库
DB20000I ACTIVATE DATABASE命令成功完成。
D:DB2BIN>db2 list active databases --可以看到study数据已经激活,但没有应用连接上来
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 0
数据库路径 = D:db2studyDB2NODE0000SQL00001
D:DB2BIN>db2 connect to study --发起一个连接到study数据库
数据库连接信息
数据库服务器 = DB2/NT 9.5.0
SQL 授权标识 = ZHANGRP
本地数据库别名 = STUDY
D:DB2BIN>db2 list active databases --再看一下活动的数据库,发现study 数据库上有一个应用连接上来了
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 1
数据库路径 = D:db2studyDB2NODE0000SQL00001
D:DB2BIN>db2 connect reset --关闭刚才那个连接,看看数据库是不是会自动关闭
DB20000I SQL命令成功完成。
D:DB2BIN>db2 list active databases --数据库依然启动,虽然没有了任何连接
活动数据库
数据库名称 = STUDY
当前连接的应用程序 = 0
数据库路径 = D:db2studyDB2NODE0000SQL00001
D:DB2BIN>db2 deactivate database study --使用deactivate database命令关闭数据库
DB20000I DEACTIVATE DATABASE命令成功完成。
D:DB2BIN>
D:DB2BIN>db2 list active databases
SQL1611W “数据库系统监视器”没有返回任何数据。
D:DB2BIN>

㈢ DB2的介绍

IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本。DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令。DB2采用了数据分级技术,能够使大型机数据很方便地下载到LAN数据库服务器,使得客户机/服务器用户和基于LAN的应用程序可以访问大型机数据,并使数据库本地化及远程连接透明化。 DB2以拥有一个非常完备的查询优化器而着称,其外部连接改善了查询性能,并支持多任务并行查询。 DB2具有很好的网络支持能力,每个子系统可以连接十几万个分布式用户,可同时激活上千个活动线程,对大型分布式应用系统尤为适用。DB2除了可以提供主流的OS/390和VM操作系统,以及中等规模的AS/400系统之外,IBM还提供了跨平台(包括基于UNIX的LINUX,HP-UX,SunSolaris,以及SCOUnixWare;还有用于个人电脑的OS/2操作系统,以及微软的Windows 2000和其早期的系统)的DB2产品。DB2数据库可以通过使用微软的开放数据库连接(ODBC)接口,Java数据库连接(JDBC)接口,或者CORBA接口代理被任何的应用程序访问。

㈣ 如何对db2中的数据库进行数据分析

1、 打开命令行窗口
#db2cmd
2、 打开控制中心
# db2cmd db2cc
3、 打开命令编辑器

db2cmd db2ce
=====操作数据库命令=====

4、 启动数据库实例
#db2start

5、 停止数据库实例
#db2stop

如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2
force application all就可以了 /db2stop force
6、 创建数据库
#db2 create db
[dbname]
7、 连接到数据库
#db2 connect to [dbname] user [username] using
[password]
8、 断开数据库连接
#db2 connect reset
9、 列出所有数据库
#db2 list
db directory

10、 列出所有激活的数据库
#db2 list active databases
11、
列出所有数据库配置
#db2 get db cfg
12、 删除数据库
#db2 drop database [dbname]

(执行此操作要小心)
如果不能删除,断开所有数据库连接或者重启db2

=========操作数据表命令==========

13、 列出所有用户表
#db2 list tables
14、列出所有系统表
#db2 list tables for
system
15、列出所有表
#db2 list tables for all
16、 列出系统表
#db2 list
tables for system
17、列出用户表
#db2 list tables for user
18、 列出特定用户表

#db2 list tables for schema [user]
19、 创建一个与数据库中某个表(t2)结构相同的新表(t1)

#db2 create table t1 like t2
20、 将一个表t1的数据导入到另一个表t2
#db2 "insert
into t1 select * from t2"
21、 查询表
#db2 "select * from table name where
..."
22、 显示表结构
#db2 describe table tablename
23、 修改列
#db2
alter table [tablename] alter column [columname] set data type varchar(24)

======脚本文件操作命令=======
24、 执行脚本文件
#db2 -tvf scripts.sql
25、帮助命令

* 查看命令帮助
#db2 ? db2start
* 查看错误码信息
#db2 ? 22001
* memo:
详细命令请使用"db2 ? <command>"进行查看。
=========================
26、备份数据库

#db2 backup db <db name>
备注:执行以上命令之前需要断开数据库连接

27、在线备份数据库

#db2 -v "BACKUP DATABASE <database name> ONLINE TO <path> WITH 2
BUFFERS BUFFER 1024 INCLUDE LOGS WITHOUT PROMPTING"
28、恢复数据库
#db2
restore db <source db name>

29、在线恢复数据库
#db2 "RESTORE DB
<database name> TO <db path> LOGTARGET <logpath> WITHOUT
PROMPTING"
#db2 "ROLLFORWARD DB <database name> TO END OF LOGS AND
STOP" ...
30、导出数据文件

#db2move <db name> export

[-sn
<模式名称,一般为db2admin>]
[-tn <表名,多个之间用逗号分隔>]
31、导入数据文件

#db2move <db name> import
32、获取db2数据库管理配置环境信息
#db2 get dbm cfg

33、.获取db2某个数据库数据库管理配置环境信息
#db2 get db cfg for <db name>

或者:连接至某个数据库以后执行db2 get db cfg

34、更改db2日志空间的大小

备注:以下命令为了防止db2数据库过份使用硬盘空间而设,仅用于开发者自己机器上的db2,如果是服务器,则参数需要修改。

#db2
UPDATE DB CFG FOR <db name> USING logretain OFF logprimary 3 logsecond 2
logfilsiz 25600;

如果页大小是4KB,则以上命令创建3个100M的日志文件,占用300MB硬盘空间。25600*4KB=102400KB。
35、创建临时表空间

#DB2 CREATE USER TEMPORARY TABLESPACE STMASPACE PAGESIZE 32 K MANAGED BY
DATABASE USING (FILE 'D:\DB2_TAB\STMASPACE.F1' 10000)
EXTENTSIZE 256

36、获取数据库管理器的快照数据
#db2 –v get snapshot for dbm
37、显示进行程号
#db2
list applications show detail

===================================================
一、加载数据:
1、
以默认分隔符加载,默认为“,”号
db2 "import from btpoper.txt of del insert into btpoper"

2、 以指定分隔符“|”加载
db2 "import from btpoper.txt of del modified by coldel|
insert into btpoper"
二、卸载数据:
1、 卸载一个表中全部数据
db2 "export to
btpoper.txt of del select * from btpoper"
db2 "export to btpoper.txt of del
modified by coldel| select * from btpoper"
2、 带条件卸载一个表中数据
db2 "export to
btpoper.txt of del select * from btpoper where brhid='907020000'"
db2
"export to cmmcode.txt of del select * from cmmcode where codtp='01'"
db2
"export to cmmcode.txt of del modified by coldel| select * from cmmcode where
codtp='01'"
三、查询数据结构及数据:
db2 "select * from btpoper"
db2 "select *
from btpoper where brhid='907020000' and oprid='0001'"
db2 "select
oprid,oprnm,brhid,passwd from btpoper"
四、删除表中数据:
db2 "delete from
btpoper"
db2 "delete from btpoper where brhid='907020000' or
brhid='907010000'"
五、修改表中数据:
db2 "update svmmst set prtlines=0 where
brhid='907010000' and jobtp='02'"
db2 "update svmmst set prtlines=0 where
jobtp='02' or jobtp='03'"
六、联接数据库
db2 connect to btpdbs
七、清除数据库联接

db2 connect reset 断开数据库连接
db2 terminate 断开数据库连接
db2 force
applications all 断开所有数据库连接
八、备份数据库
1、 db2 backup db btpdbs
2、
db2move btpdbs export
db2look -d btpdbs -e -x [-a] -o crttbl.sql
九、恢复数据库

1、 db2 restore db btpdbs without rolling forward
2、 db2 -tvf crtdb.sql

crtdb.sql文件内容:create db btpdbs on /db2catalog
db2 -stvf crttbl.sql

db2move btpdbs import
十、DB2帮助命令:
db2 ?
db2 ? restroe
db2 ?
sqlcode (例:db2 ? sql0803) 注:code必须为4位数,不够4位,前面补0

十一、bind命令:将应用程序与数据库作一捆绑,每次恢复数据库后,建议都要做一次bind
(1) db2 bind br8200.bnd

(2) /btp/bin/bndall /btp/bnd
/btp/bin/bndall /btp/tran/bnd

十二、查看数据库参数:
db2 get dbm cfg
db2 get db cfg for btpdbs

十三、修改数据库参数:
db2 update db cfg for btpdbs using LOGBUFSZ 20
db2
update db cfg for btpdbs using LOGFILSIZ 5120
改完后,应执行以下命令使其生效:
db2 stop

db2 start

㈤ 想学DB2有哪些入门书籍

DB2
技术参考大全DB2
V7.1
数据库管理
认证指南,然后加上帮助第一本《
循序渐进DB2——DBA系统管理、运维与应用案例
》第二本《
DB2数据库性能调整和优化
》第三本《深入解析DB2——高级管理、内部体系结构与诊断案例》

㈥ db2常用命令

操作数据库命令

1、 启动数据库实例

#db2start

2、 停止数据库实例

#db2stop

如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 force application all就可以了 /db2stop force

3、 创建数据库

#db2 create db [dbname]

4、 连接到数据库

#db2 connect to [dbname] user[username] using [password]

5、 断开数据库连接

#db2 connect reset

操作数据表命令

1、 列出所有用户表

#db2 list tables

2、列出所有系统表

#db2 list tables for system

3、列出所有表

#db2 list tables for all

4、 列出系统表

#db2 list tables for system

5、列出用户表

#db2 list tables for user

6、 列出特定用户表

#db2 list tables for schema[user]

㈦ 循序渐进DB2的编辑推荐

◆ 本书有丰富的DB2运行维护实践案例,读者可以通过这些案例加深对DB2认识和理解。
◆ 面对众多DB2的特点、特性,作者精心选择了与DBA日常工作关系最密切的部分,由易入难逐步讲解。
◆ 本书中包含了大量的提示点等,这些都是作者对DB2维护工作总结后得到的经验。
◆ 本书总结了DB2常见问题总结和解决方法,对DBA的日常维护非常有参考价值。 1.1 DB2数据库概述
1.1.1 DB2发展历史
1.1.2 DB2版本和平台支持
1.1.3 DB2产品组件和功能
1.2 DB2数据库安装配置
1.2.1 DB2在Windows上的安装
1.2.2 DB2在Linux/UNIX上的安装
1.3 DB2数据库体系结构 2.1 实例
2.1.1 实例概念
2.1.2 创建实例
2.1.3 实例目录
2.1.4 实例相关命令
2.1.5 DB2INSTANCE变量介绍
2.1.6 删除实例
2.1.7 配置实例
2.2 管理服务器
2.2.1 管理服务器概念
2.2.2 创建管理服务器
2.2.3 管理服务器相关命猜竖令
2.2.4 删除DB2管理服务器
2.2.5 配置管理服务器 3.1 创建数据库
3.1.1 DB2数据库存储模型
3.1.2 表空间管理类型
3.1.3 创建数据库
3.1.4 数据库目录
3.2 表空间设计
3.2.1 创建表空间
3.2.2 表空间维护
3.2.3 表空间设计注意事项
3.2.4 prefechsize大小选择
3.2.5 文件系统(CIO/DIO)和裸设备
3.2.6 OVERHEAD和TRANSFERRATE设置
3.2.7 优化RAID设备上表空间性能
3.2.8 合理设置系统临时表空间
3.3 缓冲池
3.3.1 缓冲池的使用方法
3.3.2 缓冲池和表空间之间关系
3.3.3 缓冲池维护
3.3.4 缓冲池设计原则
3.4 本章小结 4.1 访问DB2
4.2 DB2图形化操作环境
4.3 DB2 CLP处理程序
4.3.1 DB2 CLP简介
4.3.2 DB2 CLP设计
4.3.3 DB2 CLP命令选项
4.3.4 设置DB2_CLPPROMPT定制DB2 CLP
4.4 配置DB2服务器的TCP/IP通信
4.4.1 在服务器上更新services文件
4.4.2 在服务器上更新数据库管理器配置文件
4.4.3 设置DB2服务器的通信协议
4.4.4 查看服务器通信端口状态
4.4.5 使用控制中心配置DB2服务器通信
4.5 配置客户机至服务器通信
4.5.1 客户机至服务器通信概述
4.5.2 使用控制中心配置客户端通信
4.5.3 使用CA配置客户机到服务器通信
4.5.4 深入了解DB2节点目录、数据库目录
4.5.5 使用CLP配置客户机到服务器通信案例
4.6 本章小结 5.1 模式
5.1.1 模式概念
5.1.2 系统模式
5.1.3 设置和获得当前模式
5.1.4 模式和用户的区别
5.2 表设计考虑
5.2.1 选择合适的数据类型
5.2.2 选择合适的约束类型
5.2.3 使用not null with default
5.2.4 生成列及穗携大应用案例
5.2.5 自动编号和标识列应用案例
5.2.6 使用not logged initially特性
5.2.7 使用append on特性
5.2.8 数据、索引和大对象分开存放
5.2.9 设置pctfree
5.2.10 表的locksize
5.2.11 表的volatile特性
5.2.12 创建带XML列的表
5.2.13 表维护相关命令
5.2.14 表设计高级选项
5.3 索引设计
5.3.1 索引优点
5.3.2 索引类型
5.3.3 索引结构隐宴
5.3.4 理解索引访问机制
5.3.5 创建集群索引
5.3.6 创建双向索引
5.3.7 完全索引访问(index access only)
5.3.8 创建索引示例
5.3.9 索引总结
5.4 使用序列提高性能
5.4.1 应用程序性能和序列
5.4.2 设计序列原则
5.4.3 序列维护
5.4.4 比较序列与标识列
5.5 视图
5.5.1 视图类型
5.5.2 创建with check option视图
5.5.3 视图维护
5.6 表表达式
5.6.1 嵌套的表表达式
5.6.2 公用表表达式
5.7 触发器设计
5.7.1 触发器的类型
5.7.2 创建触发器示例
5.7.3 触发器设计总结
5.8 本章小结 6.1 数据移动格式
6.1.1 定界ASCII文件格式
6.1.2 非定界ASCII文件格式
6.1.3 PC/IXF文件格式
6.1.4 工作表文件格式
6.1.5 游标
6.2 EXPORT
6.2.1 EXPORT概述
6.2.2 导出数据
6.2.3 导出数据示例
6.3 IMPORT
6.3.1 IMPORT概述
6.3.2 导入数据
6.3.3 导入数据示例
6.4 LOAD
6.4.1 LOAD概述
6.4.2 装入数据
6.4.3 装入示例
6.4.4 在线LOAD
6.4.5 监控LOAD进度
6.4.6 LOAD期间和之后的表空间状态
6.4.7 使用CURSOR文件类型来移动数据
6.4.8 提高LOAD性能
6.4.9 LOAD失败恢复
6.4.10 LOAD和IMPORT比较
6.5 数据移动性能问题
6.6 DB2MOVE和DB2LOOK
6.6.1 数据库移动工具——DB2MOVE
6.6.2 DB2 DDL提取工具(DB2LOOK)
6.6.3 利用DB2MOVE和DB2LOOK移动数据案例
6.6.4 带COPY操作的DB2MOVE实用程序
6.7 本章小结 7.1 恢复概念
7.1.1 崩溃恢复
7.1.2 灾难恢复
7.1.3 版本恢复
7.1.4 前滚恢复
7.2 DB2日志
7.2.1 日志文件的使用
7.2.2 日志类型
7.2.3 日志相关配置参数
7.2.4 数据库日志总结
7.3 数据库和表空间备份
7.3.1 数据库备份
7.3.2 表空间备份
7.3.3 增量备份
7.3.4 检查备份完整性——db2ckbkp
7.4 数据库和表空间恢复
7.4.1 数据库恢复
7.4.2 表空间恢复
7.4.3 增量恢复
7.4.4 增量恢复检查-- db2ckrst
7.4.5 重定向恢复
7.4.6 恢复已drop的表
7.5 数据库和表空间前滚
7.5.1 数据库前滚
7.5.2 表空间前滚
7.6 RECOVER实用程序
7.7 恢复历史文件
7.8 数据库重建
7.8.1 数据库重建概念
7.8.2 使用表空间备份重建可恢复数据库
7.8.3 只使用部分表空间备份重建可恢复数据库
7.8.4 使用包含日志文件的在线备份重建数据库
7.8.5 使用增量备份镜像重建可恢复数据库
7.8.6 使用重定向选项重建可恢复数据库
7.8.7 重建不可恢复数据库
7.8.8 数据库重建的限制
7.9 监控备份、复原和恢复进度
7.10 备份、恢复和复原期间表空间状态
7.11 优化备份、复原和恢复性能
7.12 备份恢复最佳实践 8.1 DB2故障诊断机制
8.1.1 故障诊断相关文件
8.1.2 收集故障诊断信息
8.1.3 设置故障诊断级别
8.2 深入讲解故障诊断文件
8.2.1 解释管理通知日志文件条目
8.2.2 解释诊断日志文件条目
8.3 故障诊断工具
8.3.1 使用db2support收集环境信息
8.3.2 db2ls和db2level
8.3.3 使用db2diag分析db2diag.log文件
8.3.4 db2pd
8.3.5 DB2内部返回码
8.4 故障诊断分析流程
8.4.1 故障诊断流程
8.4.2 结合系统事件判断
8.4.3 结合系统运行状况诊断
8.5 本章小结 9.1 监控工具概述
9.2 快照监视器
9.2.1 快照监视器概述
9.2.2 利用表函数监控
9.2.3 性能管理视图
9.3 快照监视器案例
9.3.1 监控案例1-动态SQL语句
9.3.2 监控案例2-通过表函数监控
9.3.3 编写快照监控脚本
9.4 db2pd及监控案例
9.5 事件监视器及监控案例
9.6 db2mtrk及监控案例
9.7 活动监视器
9.8 DB2性能监控总结 10.1 锁的概念
10.1.1 数据一致性
10.1.2 事务和事务边界
10.1.3 锁的概念
10.2 锁的属性、策略及模式
10.2.1 锁的属性
10.2.2 加锁策略
10.2.3 锁的模式
10.2.4 如何获取锁
10.2.5 锁的兼容性
10.3 隔离级别(Isolation Levels)
10.3.1 可重复读(RR-Repeatable Read)
10.3.2 读稳定性(RS-Read Stability)
10.3.3 游标稳定性(CS-Cursor Stability)
10.3.4 未提交读(UR-Uncommitted Read)
10.3.5 隔离级别的摘要
10.4 锁转换、锁等待、锁升级和死锁
10.4.1 锁转换及调整案例
10.4.2 锁升级及调整案例
10.4.3 锁等待及调整案例
10.4.4 死锁及调整案例
10.5 锁相关的性能问题总结
10.6 锁与应用程序设计
10.7 锁监控工具
10.8 最大化并发性
10.8.1 选择合适的隔离级别
10.8.2 尽量避免锁等待、锁升级和死锁
10.8.3 设置合理的注册变量
10.9 锁和并发总结 11.1 统计信息更新
11.1.1 统计信息的重要性
11.1.2 使用RUNSTATS 收集统计信息的原则
11.1.3 减小RUNSTATS对系统性能影响的策略
11.1.4 DB2自动统计信息收集
11.2 Runstats更新举例
11.2.1 RUNSTATS更新示例
11.2.2 收集分布式统计信息
11.2.3 包含频率和分位数统计信息的RUNSTATS
11.2.4 包含列组统计信息的RUNSTATS
11.2.5 包含LIKE STATISTICS的RUNSTATS
11.2.6 包含统计信息配置文件的RUNSTATS
11.2.7 带有抽样的RUNSTATS
11.2.8 带有系统页级抽样的RUNSTATS
11.2.9 收集统计信息的其他可供选择的方法
11.2.10 RUNSTATS总结
11.3 表和索引碎片整理
11.3.1 表重组(REORG)
11.3.2 索引重组
11.3.3 确定何时重组表和索引
11.3.4 重组表和索引的成本
11.3.5 合理设计以减少碎片生成
11.3.6 启用表和索引的自动重组
11.4 碎片整理案例
11.4.1 执行表、索引检查是否需要做REORG
11.4.2 表和索引碎片整理
11.5 案例:生成碎片检查、统计信息更新、碎片整理和REBIND脚本
11.6 重新绑定程序包
11.7 数据库运行维护总结 12.1 解释工具
12.1.1 Visual Explain(可视化解释)
12.1.2 db2expln
12.1.3 db2exfmt
12.1.4 各种解释工具比较
12.1.5 如何从解释信息中获取有价值的建议
12.2 索引设计工具(db2advis)
12.2.1 DB2 Design Advisor(db2advis)
12.2.2 DB2 Design Advisor(db2advis)案例讲解
12.3 基准测试工具db2batch
12.3.1 db2batch
12.3.2 db2batch基准程序测试分析示例
12.4 数据一致性检查工具
12.4.1 db2dart及案例
12.4.2 inspect及案例
12.5 db2look
12.5.1 db2look概述
12.5.2 利用db2look构建模拟测试数据库
12.6 其他工具
12.6.1 db2bfd
12.6.2 db2_kill和db2nkill
12.6.3 db2tbst
12.7 本章小结 13.1 DB2安全机制概述
13.2 认证(authentication)
13.2.1 什么时候进行DB2身份认证
13.2.2 DB2身份认证类型
13.3 权限(authorization)
13.3.1 权限层次
13.3.2 授予/撤销实例级权限
13.3.3 授予/撤销数据库级权限
13.4 特权
13.4.1 特权层次结构
13.4.2 授予特权
13.4.3 撤销特权
13.4.4 显式特权/隐式特权/间接特权
13.4.5 静态和动态SQL特权考虑因素
13.4.6 维护特权/权限
13.5 某银行安全规划案例
13.6 执行安全审计(db2audit)
13.7 基于标签的访问控制(LBAC)及案例
13.8 本章小结 14.1 DB2健康检查
14.1.1 查看是否有僵尸实例进程
14.1.2 inspect数据库是否一致
14.1.3 查找诊断日志判断是否有异常
14.1.4 检查数据库备份完整性、日志归档是否正常
14.1.5 维护实例目录和数据库目录权限
14.1.6 查看磁盘空间
14.2 数据库监控
14.2.1 监控工具
14.2.2 监控缓冲池命中率
14.2.3 监控执行成本最高的SQL语句
14.2.4 监控运行最长的SQL语句
14.2.5 监控SQL准备和预编译时间最长的SQL语句
14.2.6 监控执行次数最多的SQL语句
14.2.7 监控排序次数最多的SQL语句
14.2.8 监控引起锁等待的SQL语句
14.3 日常维护
14.3.1 查找创建的新对象
14.3.2 查找无效对象
14.3.3 检查表空间状态
14.3.4 检查表状态
14.3.5 查找需要REORG的表和索引
14.3.6 查找需要RUNSTATS的表和索引
14.3.7 定期清理db2diag.log文件
14.3.8 查找异常增长的表空间和表 15.1 实例常见问题和诊断案例
15.1.1 实例无法启动问题总结
15.1.2 实例无法正常终止
15.1.3 实例启动报SQL1042C错误
15.1.4 实例目录误删除
15.1.5 实例崩溃问题
15.2 数据库常见问题总结
15.2.1 数据库日志空间满-- SQL0964C错误
15.2.2 数据库时区和时间
15.2.3 中文乱码和代码页转换
15.2.4 通信错误-- SQL30081N
15.2.5 数据库备份、前滚暂挂
15.2.6 数据库活动日志删除
15.2.7 数据库损坏(数据页、索引页)——SQL1043C
15.2.8 索引重新构建问题
15.2.9 DB2实用程序不可用
15.2.10 快速清空表数据
15.2.11 表和索引统计信息不一致
15.3 表空间状态
15.3.1 Backup Pending
15.3.2 脱机
15.3.3 Quiesced Exclusive|Share|Update 605
15.3.4 Restore Pending和Storage Must be Defined
15.3.5 Roll Forward Pending
15.3.6 表空间状态总结
15.4 LOAD期间表状态总结
15.4.1 Check Pending
15.4.2 Load Pending
15.4.3 Load in Progress
15.4.4 Not Load Restartable
15.4.5 Read Access Only
15.4.6 Unavailable
15.5 锁相关问题
15.5.1 锁升级
15.5.2 锁等待问题解决流程
15.5.3 死锁
15.6 内存常见问题
15.6.1 bufferpool设置过大数据库无法启动
15.6.2 排序溢出
15.6.3 锁内存不足
15.7 备份恢复常见问题
15.8 数据移动常见问题总结
15.8.1 标识列
15.8.2 生成列
15.8.3 大对象
15.8.4 空值处理
15.8.5 定界符注意问题
15.8.6 PC/IXF注意问题
15.8.7 代码页不同注意事项
15.8.8 日期格式
15.8.9 XML问题
15.9 安全常见问题总结
15.9.1 从PUBLIC撤销隐式的权限和特权
15.9.2 保护系统编目视图
15.9.3 创建实例用户显式指定组
15.9.4 为SYSxxx_GROUP参数使用显式值
15.9.5 跟踪隐式的特权
15.9.6 不授予不必要的特权
15.9.7 使用加密的AUTHENTICATION模式
15.9.8 使用独立ID创建和拥有对象
15.9.9 使用视图控制数据访问
15.9.10 使用存储过程控制数据访问
15.9.11 使用LBAC控制数据访问
15.9.12 对重要敏感数据加密
15.10 SQL0805和SQL0818错误

㈧ 如何在DB2建表空间

一、建表空间和数据库
1.在db2ad、db2db和db2ap上均执行:

[sql] view plain
db2set db2comm=tcpip
db2set db2codepage=1386
2.新建数据库:

[sql] view plain
db2 create db <dbname> using codeset gbk territory CN collate using identity
3.连接上数据库:

[sql] view plain
db2 "connect to <dbname>"
4.创建缓冲池 + 建立表空间;
1).删除旧的表空间:

[sql] view plain
db2 drop tablespace tablespace1, tablespace2, tablespace3
2).新建缓冲池:

[sql] view plain
db2 create bufferpool bp32k all nodes size -1 pagesize 32k
bp32k为该缓冲池的名称;
32K为页大小;
size=-1表示使用缺省的buffpage,而buffpage可以通过db2 get db cfg|grep -i buff参数查看到;
3).新建表空间:

[sql] view plain
db2 "create regular tablespace tablespace1 pagesize 32k managed by database using(file '/usr/yixiayizi/tablespace1' 5g) bufferpool bp32k"
db2 "create regular tablespace tablespace2 pagesize 32k managed by database using(file '/usr/yixiayizi/tablespace2' 10g) bufferpool bp32k"
db2 "create regular tablespace tablespace3 pagesize 32k managed by database using(file '/usr/yixiayizi/tablespace3' 2g) bufferpool bp32k"
注意(file '/usr/yixiayizi/tablespace1' 5g)的设置:
第一个参数:
当指向外置盘时,file改为device;
当指向文件路径时,为file;
第二个参数:需要是绝对路径;
第三个参数:该表空间的大小;

关于表空间和缓冲池的说明见如下网页:
http://www.ibm.com/developerworks/cn/data/library/techarticles/0212wieser/0212wieser.html

5.调整表空间大小:

[sql] view plain
ALTER TABLESPACE <tablespace1> RESIZE ( FILE '/cstp/usr/db2ad/db2ad/ <tablespace1>' 5g )
6.调整缓冲池大小:

[sql] view plain
db2 alter bufferpool bp32k size 2g
--------------------------------------------------------------------------------------------
远程客户端的配置网络:
1.db2ad账户下:
1). 首先查看/etc/services中db2各个服务的端口号:
more /etc/services
可以看到如下信息:
DB2_db2ad 60040/tcp
DB2_db2ad_1 60041/tcp
DB2_db2ad_2 60042/tcp
DB2_db2ad_END 60043/tcp
2).
[sql] view plain
db2 update dbm cfg using SVCENAME DB2_db2ad
这样在服务端实例对应的端口号就是60040;
------------
2.db2db账户下:
1).
[sql] view plain
db2 catalog tcpip node <node_name> remote 172.17.252.214 server 60040
(上面操作的反编目:db2 uncatalog node <node_name>)
2).db2 list node directory可以看到如下信息:
Node Directory
Number of entries in the directory = 1
Node 1 entry:
Node name = <node_name>
Comment =
Directory entry type = LOCAL
Protocol = TCPIP
Hostname = 172.17.252.214
Service name = 60040

3).
[sql] view plain
db2 catalog db <dbname> at node <node_name>
(上面操作的反编目:db2 uncatalog db <dbname>)
4).db2 list db directory可以看到如下信息:
System Database Directory
Number of entries in the directory = 1
Database 1 entry:
Database alias = <dbname>
Database name = <dbname>
Node name = <node_name>
Database release level = c.00
Comment =
Directory entry type = Remote
Catalog database partition number = -1
Alternate server hostname =
Alternate server port number =
--编目系统数据库目录
-----------------------
授权:
在db2ad账户下,给db2db授权使用表空间:

[sql] view plain
db2 "grant use of tablespace <tablespace1> to user db2db"
db2 "grant use of tablespace <tablespace2> to user db2db"
db2 "grant use of tablespace <tablespace3> to user db2db"
二、建表

切换到db2db用户,执行建表的sql语句:
db2 -vf tmp.sql

㈨ DB2千万或亿级的数据如何存储性能才最好

db2 list db directory $disk $disk 换成你的D:盘或者E:盘,DB2 Windows只允许安装在盘符根目录下,这样就可以查看到盘里是否有数据库,如果发现了catalog一下数据库就回来了

㈩ 5种常用的数据库管理软件有什么

office
access
微软产品,小型数据库,易用
mysqlmysql是一个小型关系型数据库管理系统,开发者为瑞典mysql
ab公司。在2008年1月16号被sun公司收购。目前mysql被广泛地应用在internet上的中小型网站中。
sql
server

microsoft(微软)
的数据产品,它的易用性强!
oracle

oracle(甲骨文)公司的数据产品!号称世界上最好的数据系统!
db2
是ibm公司的产品,在全球500强的企业中有80%是用db2作为数据库平台的!