DB2巡检步骤 【监控】
1:数据库配置信息
(1) DB2数据库版本、补丁版本、实例名、数据库名
Connect to 数据库名 user 用户 using 密码
db2level
例如:
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执行程序不能在不同的系统之间拷贝使用。
并且此程序只显示正式支持的修补级别信息。
(2) 查看本服务器上的database
Db2 list db directory
或 db2 list active databases(列出活动的数据库)
(3) DBM、DB的配置
Db2 get dbm cfg 显示数据库管理器参数(的当前值和延迟值(从 V8 起))
db2 get db cfg for ksdbs(库名)显示数据库参数(的当前值和延迟值)
*可以通过下面语句修改db2参数:db2 update db cfg for head using SORTHEAP 2048
Db2set –all 产看db2注册表参数
(4) 最近一次收集统计信息的时间,数据重组的时间,数据库全备份的时间
Db2 list history backup(reorg) since 20080201 for ksdbs(库)
查看最近一次数据库全备份的时间
Db2 list history backup(reorg) since 20070301 for ksdbs(库)
查看最近一次数据重组的时间的时间
db2 ‘select stats_time,tabname from syscat.tables
Where stats_time is not null
Order by stats_time’|more
查看最近一次收集统计信息的时间
(5) 查看db2 bufferpool
通过db2 select * from syscat.bufferpools 查看bufferpool
2: 数据库日志分析
db2 日志
db2diag.log----DB2运行时产生的日志是放置与“/home/db2inst1/sqllib/db2dump”
及db2inst1.nfy内容
通过查看db2日志查看db2有没有异常报错信息。
3:数据库健康检查及优化的信息
Db2 get health snapshot for all on <dbname>
Db2 get health snapshot for …
Db2 get snapshot 查看详细的数据库性能信息(相当于oracle的statspack)
使用Db2 get snapshot首先检查是否打开监控开关
Db2 get monitor switches
通过Db2 update monitor switches using bufferpool on lock on来打开(bufferpool,lock)开关
通过health snapshot和snapshot可以查看下面的信息:
(1) 表空间的利用率
(2) 表空间的状态
(3) 表空间容器的利用率
(4) 表空间容器的状态
(5) 是否需要收集统计信息
(6) 数据是否需要重组
(7) 活动日志利用率是否合理
(8) 活动日志所在的文件系统利用率是否合理
(9) 应用程序等待锁的比率是否正常?
(10) 死锁发生率是否合理?
(11) 锁升级发生率是否合理?
(12) 缓冲池命中率是否合理?
(13) 包Cache命中率是否合理?
4:数据库备份和数据保护
(1) 硬盘是否有RAID或其他保护?
(2) 数据库是否定期做备份?
(3) 归档日志是否做备份?
(4) 备份介质是否妥善保存?
(5) 是否有双机系统互备?
(6) Public组的特权是否被撤消?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端