DB2维护手册
来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 12:29 点击:次
一、 DB2日常维护日操作 3
1、 检查管理服务器是否启动 3
2、 检查DB2实例是否已经启动 3
3、 查看表空间状态是否正常 3
4、 查看表的状态 4
5、 查看磁盘空间 4
6、 检查存储管理软件是否正常 4
7、 检查数据库备份是否正常 5
8、 检查归档日志是否正确归档了 5
9、 查看缓冲池的命中率 5
10、 查看当前运行最频繁的SQL,其命中率是否正常 5
11、 查看当前连接的应用程序,有没有非法连接 5
12、 检查有没有死锁 6
13、 对表和索引进行RUNSTATS 6
14、 检查表是否需要重组 6
15、 对需要重组的表进行重组 7
二、 DB2日常维护月操作 7
1、 查看DB2日志 7
2、 检查备份和日志是否都保存好了 7
三、 DB2日常维护季度操作 7
1、 通过快照监控器,查看系统性能如何 7
2、 数据库补丁级别 8
四、 注意事项 8
1、 不要删除活动日志文件 8
2、 注意交易日志存储空间 8
3、 按照系统的实际工作量配置日志空间 8
4、 设置正确数据库代码页 9
5、 检查许可证(LICENSE)安装情况 9
6、 创建数据库前调整好系统时间 9
7、 不要随便执行 CHOWN (CHMOD) –R (UNIX/LINUX) 9
8、 在归档日志模式下使用LOAD记得加NONRECOVERABLE参数 9
五、 附:以脱机方式重组表 9
六、 附:索引重组 10
七、 附:收集和更新统计信息的准则 11
八、 附:使用 CLP 捕获数据库运行状况快照 13
一、 DB2日常维护日操作
1、 检查管理服务器是否启动
用ps命令查看是否有dasusr1后台进程
#ps -ef | dasusr1
请确保管理服务器已经启动,如果没有启动,则按以下步骤启动管理服务器:
以管理服务器用户(UNIX默认是DASUSR1)登录
发出db2admin start命令
如果是HA环境,则要保证在脚本中正确配置了启动命令
2、 检查DB2实例是否已经启动
用ps命令查看是否有db2sysc后台进程
#ps -ef | db2sysc
也可以以DB2实例所有者登录,通过发出db2start命令来确保启动了实例(如果实例已经启动,则会告知SQL1026N 数据库管理器已激活;否则,将把实例启动起来)
3、 查看表空间状态是否正常
以db2实例所有者登录
#db2 list tablespaces show detail //在单分区上查看表空间的状态,正常返回0x0000
# db2_all list tablespaces show detail //在所有分区上查看表空间的状态
可以使用LIST TABLESPACES 命令确定连接数据库中表空间的当前状态,可以使用SHOW DETAIL选项查看表空间的详细信息。比如,我们连上SAMPLE数据库,执行list tablespaces show detail ,可以看到状态返回值是0x0000,此时,使用db2tbst可以查看状态编号对于的状态含义,具体语法如下:
db2tbst <tablespace state> 可以查看编号所代表的状态
db2tbst 命令接收十六进制的状态值,并返回相应的表空间状态。例如,命令 db2tbst 0x0008 返回 State = Load Pending 。而该十六进制的状态值反过来又是 LIST TABLESPACES 命令输出的组成部分。表空间的外部可见状态是由单个状态值的十六进制总和构成的。例如,如果表空间的状态是 Backup Pending和 Load in Progress,那么所返回的十六进制值就是 0x20020(0x00020 + 0x20000)
4、 查看表的状态
查询系统目录视图以获得关于数据库的有用信息。例如,下面的语句使用 NOT LIKE 断言,返回在 SYSCAT.TABLES 中有项的所有用户定义的表的名称,以及每个表的列数和表的状态(N = 正常;C = 待审核(check pending))
#db2 select tabname, colcount, status FROM syscat.tables WHERE tabschema NOT LIKE SYS% ORDER BY tabname
也可以使用load query命令查看单个表的状态,比如对表TEST1,我们可以发出如下命令:
#db2 load query table test1
5、 查看磁盘空间
查看数据库活动日志目录是否已满,活动日志目录可以使用get db cfg查看,注意一定不要手工删除活动日志
#df -k
查看SMS表空间对应的容器目录空间是否满了
#df -k
查看DMS表空间中是否还有可用页
#db2 list tablespaces show detail //在单分区上查看表空间的是否还有可用页
# db2_all list tablespaces show detail //在所有分区上查看表空间是否还有可用页
6、 检查存储管理软件是否正常
请检查TSM或其他存储管理软件是否正常,以及磁带机是否运行正常。
7、 检查数据库备份是否正常
请查看TSM或第三方存储管理软件,看备份映像文件是否完整的保存到了磁带机上了,想在DB2上查看备份情况,可以使用LIST命令
# db2 list history backup all for 数据库名
8、 检查归档日志是否正确归档了
请确保活动日志目录下没有的日志文件都已经正确归档到了带机上(查看TSM或第三方存储管理软件)。
查看活动目录里的日志文件:
#ls -l
9
1、 检查管理服务器是否启动 3
2、 检查DB2实例是否已经启动 3
3、 查看表空间状态是否正常 3
4、 查看表的状态 4
5、 查看磁盘空间 4
6、 检查存储管理软件是否正常 4
7、 检查数据库备份是否正常 5
8、 检查归档日志是否正确归档了 5
9、 查看缓冲池的命中率 5
10、 查看当前运行最频繁的SQL,其命中率是否正常 5
11、 查看当前连接的应用程序,有没有非法连接 5
12、 检查有没有死锁 6
13、 对表和索引进行RUNSTATS 6
14、 检查表是否需要重组 6
15、 对需要重组的表进行重组 7
二、 DB2日常维护月操作 7
1、 查看DB2日志 7
2、 检查备份和日志是否都保存好了 7
三、 DB2日常维护季度操作 7
1、 通过快照监控器,查看系统性能如何 7
2、 数据库补丁级别 8
四、 注意事项 8
1、 不要删除活动日志文件 8
2、 注意交易日志存储空间 8
3、 按照系统的实际工作量配置日志空间 8
4、 设置正确数据库代码页 9
5、 检查许可证(LICENSE)安装情况 9
6、 创建数据库前调整好系统时间 9
7、 不要随便执行 CHOWN (CHMOD) –R (UNIX/LINUX) 9
8、 在归档日志模式下使用LOAD记得加NONRECOVERABLE参数 9
五、 附:以脱机方式重组表 9
六、 附:索引重组 10
七、 附:收集和更新统计信息的准则 11
八、 附:使用 CLP 捕获数据库运行状况快照 13
一、 DB2日常维护日操作
1、 检查管理服务器是否启动
用ps命令查看是否有dasusr1后台进程
#ps -ef | dasusr1
请确保管理服务器已经启动,如果没有启动,则按以下步骤启动管理服务器:
以管理服务器用户(UNIX默认是DASUSR1)登录
发出db2admin start命令
如果是HA环境,则要保证在脚本中正确配置了启动命令
2、 检查DB2实例是否已经启动
用ps命令查看是否有db2sysc后台进程
#ps -ef | db2sysc
也可以以DB2实例所有者登录,通过发出db2start命令来确保启动了实例(如果实例已经启动,则会告知SQL1026N 数据库管理器已激活;否则,将把实例启动起来)
3、 查看表空间状态是否正常
以db2实例所有者登录
#db2 list tablespaces show detail //在单分区上查看表空间的状态,正常返回0x0000
# db2_all list tablespaces show detail //在所有分区上查看表空间的状态
可以使用LIST TABLESPACES 命令确定连接数据库中表空间的当前状态,可以使用SHOW DETAIL选项查看表空间的详细信息。比如,我们连上SAMPLE数据库,执行list tablespaces show detail ,可以看到状态返回值是0x0000,此时,使用db2tbst可以查看状态编号对于的状态含义,具体语法如下:
db2tbst <tablespace state> 可以查看编号所代表的状态
db2tbst 命令接收十六进制的状态值,并返回相应的表空间状态。例如,命令 db2tbst 0x0008 返回 State = Load Pending 。而该十六进制的状态值反过来又是 LIST TABLESPACES 命令输出的组成部分。表空间的外部可见状态是由单个状态值的十六进制总和构成的。例如,如果表空间的状态是 Backup Pending和 Load in Progress,那么所返回的十六进制值就是 0x20020(0x00020 + 0x20000)
4、 查看表的状态
查询系统目录视图以获得关于数据库的有用信息。例如,下面的语句使用 NOT LIKE 断言,返回在 SYSCAT.TABLES 中有项的所有用户定义的表的名称,以及每个表的列数和表的状态(N = 正常;C = 待审核(check pending))
#db2 select tabname, colcount, status FROM syscat.tables WHERE tabschema NOT LIKE SYS% ORDER BY tabname
也可以使用load query命令查看单个表的状态,比如对表TEST1,我们可以发出如下命令:
#db2 load query table test1
5、 查看磁盘空间
查看数据库活动日志目录是否已满,活动日志目录可以使用get db cfg查看,注意一定不要手工删除活动日志
#df -k
查看SMS表空间对应的容器目录空间是否满了
#df -k
查看DMS表空间中是否还有可用页
#db2 list tablespaces show detail //在单分区上查看表空间的是否还有可用页
# db2_all list tablespaces show detail //在所有分区上查看表空间是否还有可用页
6、 检查存储管理软件是否正常
请检查TSM或其他存储管理软件是否正常,以及磁带机是否运行正常。
7、 检查数据库备份是否正常
请查看TSM或第三方存储管理软件,看备份映像文件是否完整的保存到了磁带机上了,想在DB2上查看备份情况,可以使用LIST命令
# db2 list history backup all for 数据库名
8、 检查归档日志是否正确归档了
请确保活动日志目录下没有的日志文件都已经正确归档到了带机上(查看TSM或第三方存储管理软件)。
查看活动目录里的日志文件:
#ls -l
9
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>