db2 list tablespaces show detail //在单分区上查看表空间的状态,正常返回0x0000db2_all list tablespaces show detail //在所有分区上查看表空间的状态
可以使用LIST TABLESPACES 命令确定连接数据库中表空间的当前状态,可以使用SHOW DETAIL选项查看表空间的详细信息7、 查看表的状态查询系统目录视图以获得关于数据库的表的状态信息例如,下面的语句将返回在 SYSCAT.TABLES 中有项的所有表的名称,以及每个表的列数和表的状态(N = 正常;C = 待审核(check pending))#db2 select tabname, colcount, status FROM syscat.tables ORDER BY tabname8、 查看磁盘空间查看数据库活动日志目录是否已满,活动日志目录的位置可以使用db2 get db cfg查看,注意一定不要手工删除活动日志#df -k查看DMS表空间中是否还有可用页#db2 list tablespaces show detail //在单分区上查看表空间的是否还有可用页# db2_all list tablespaces show detail //在所有分区上查看表空间是否还有可用页9、 检查数据库备份是否正常请查看TSM或第三方存储管理软件,看备份映像文件是否完整的保存到了磁带机上了,想在DB2上查看备份情况,可以使用LIST命令 # db2 list history backup all for 数据库名
10、 查看当前运行最频繁的SQL,其命中率是否正常# db2 get snapshot for bufferpools on 数据库名 > log.txt#db2 "select from SYSCAT.BUFFERPOOLS" 查缓冲池大小信息命中率计算:(1- ((Buffer pool data physical reads + Buffer pool index physical reads) /(Buffer pool data logical reads + Buffer pool index logical reads))) 100%用grep命令查看" Number of executions"执行次数最频繁的语句,看其命中率是否正常比如:grep -n " Number of executions" log.txt | grep -v "= 0" | sort -k 5,5rn | more
11、 查看当前连接的应用程序,有没有非法连接 #db2 list applications show detail
看这些连接的情况,看有没有不合适的IP连上来,或者不被允许的第三方工具连上来,比如一些第三方工具连上来会对表进行锁定,影响业务系统正常运行,这个时候可以用db2 "force application(应用程序句柄号)" 将某个单独的句柄停下来12、 检查有没有死锁# db2 get snapshot for all on 数据库名 > log.txt用grep命令查看输出的文件中是否有死锁的记录,比如grep -n "Deadlocks detected" log.txt | grep -v "= 0" | more
13、数据库的备份、恢复--离线备份db2 force applications all--断开所有连接db2 force application(h1,h2……)--杀死与数据库相连接的某个进程db2 backup db DBName [to /backup] [use TSM]--离线备份--在线、增量备份--前提:更改数据库参数 logretain, userexit, trackmod 为 on,之后数据库处于backup pending状态,要完全离线备份数据库一次,之后就可以进行在线、在线增量备份了db2 update db cfg using logretain on userexit on trackmod on--启用相关参数--归档路径DB2 UPDATE DATABASE CONFIGURATION USING LOGARCHMETH1 DISK:/backup--LOGARCHMETH1参数改成TSMDB2 UPDATE DATABASE CONFIGURATION USING LOGARCHMETH1 TSM IMMEDIATEdb2 backup db DBName [to /backup] [use TSM]--离线备份db2 backup db DBName online [to /backup] [use TSM] include logs --在线线备份db2 backup db DBName online incremental [to /backup] [use TSM]--在线增量备份--数据库恢复db2 restore db DBname [incremental] [FROM /backup][use TSM] taken AT YYYYMMDDHHMMSS--恢复 (时间戳记:YYYYMMDDHHMMSS)db2 list history backup [since YYYYMMDDHHMMSS] ALL FOR DBName--查看 [从YYYYMMDDHHMMSS] 对DBName的备份情况db2 ROLLFORWARD DATABASE DBName TO END OF LOGS AND COMPLETE NORETRIEVE--将暂挂的数据恢复到前滚状态db2 ROLLFORWARD DATABASE DBName TO END OF LOGS AND COMPLETE OVERFLOW LOG PATH ("/home/db2inst1/SQLOGDIR")14、数据的导出、导入--导出db2 EXPORT TO D:\TableName.txt OF del SELECT FROM SCHEMA.TableName--文本格式db2 EXPORT TO D:\TableName.csv OF del SELECT FROM SCHEMA.TableName--csv可转为exceldb2 EXPORT TO D:\TableName.ixf OF ixf SELECT FROM SCHEMA.TableName--导出数据(IXF 集成通用交换格式)db2 EXPORT TO "D:\TableName.data" OF IXF MESSAGES "D:\TableName.msg" SELECT FROM SCHEMA.TableName;--导入db2 IMPORT FROM D:\TableName.txt OF del INSERT INTO SCHEMA.TableNamedb2 IMPORT FROM "D:\TableName.data" OF IXF [MESSAGES "D:\TableName.msg"] [COMMITCOUNT 1000] INSERT/CREATE INTO SCHEMA.TableName;db2 IMPORT FROM "D:\TableName.ixf" OF IXF [COMMITCOUNT 1000] INSERT/INSERT_UPDATE/CREATE/REPLACE/REPLACE_CREATE INTO SCHEMA.TableName;15、查看DB2日志请至少每天查看一次db2diag.log文件,看其中是否有异常16、 数据库补丁级别# db2level觉得有用的朋友多帮忙转发哦后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
(图片来源网络,侵删)
0 评论