<DB2>《DB2数据库健康检查》第1部分

news/2024/11/30 1:41:11/

《DB2数据库健康检查》第1部分

  • 1 进程检查
    • 1.1 检查管理服务器是否启动
    • 1.2. 检查DB2实例是否已经启动
  • 2 数据库对象检查
    • 2.1 数据库能否正常连接
    • 2.2 查看表空间状态是否正常
    • 2.3 监控开关是否开启
    • 2.4 数据库大小
    • 2.5. 检查容器状态是否正常
    • 2.6 查看bufferpool属性
    • 2.7 查看表的状态
    • 2.8 表空间使用情况

1 进程检查

1.1 检查管理服务器是否启动

检查点:

用ps命令查看是否有dasusr1后台进程

检查方法:

ps -ef | grep dasrrm|grep -v grep

标准:

  • 存在dasrrm进程则为健康,
  • 不存在dasrrm进程是不健康。

示例:

$ ps -ef | grepdasrrm|grep -v grepdasusr1  75674      1   0        501      -  1:43 /home/dasusr1/das/adm/db2dasrrm
//输出信息说明:
请确保管理服务器已经启动,如果没有启动,则按以下步骤启动管理服务器:
以管理服务器用户(如:dasusr1)登录
发出db2admin start命令
如果是HA环境,则要保证在脚本中正确配置了启动命令

1.2. 检查DB2实例是否已经启动

检查点:

用ps命令查看是否有db2sysc后台进程

检查方法:

ps -ef | grep db2sysc

标准:

  • 存在db2sysc进程则为健康,
  • 不存在db2sysc进程是不健康。

示例:

$ ps -ef | grep db2sysc
db2inst1 201016 340516   0       1023      -  0:06 db2sysc 0 
db2inst1 307466 438860   0 084015秒pts/0  0:00 grep db2sysc
//输出信息说明:
使用DB2实例所有者(如:db2inst1)登录,通过发出db2start命令来确保启动了实例
(如果实例已经启动,则会告知SQL1026N  数据库管理器已激活;否则,需要重新启动)

2 数据库对象检查

2.1 数据库能否正常连接

检查点:

数据库是否可以正常访问

检查方法:

$db2 list active databases
$db2 connect to 数据库
//标准:存在输出结构,说明有活动数据库

示例:

$ db2 list active databasesActive DatabasesDatabase name                              = MYSPLITApplications connected currently           = 4Database path                              = /sjxf/datadb/mysplit/db2inst2/NODE0000/SQL00001/$ db2 connect to MYSPLIT Database Connection InformationDatabase server        = DB2/AIX64 9.1.8SQL authorization ID   = DB2INST1Local database alias   = MYSPLIT
//输出信息说明:输出结构为数据库名称,应用连接数和数据库路径

2.2 查看表空间状态是否正常

检查点:

查看表空间状态是否正常

检查方法:

db2 list tablespaces show detail |grep -i state       //在单分区上查看表空间的状态,
db2_all list tablespaces show detail|grep -i state  //在所有分区上查看表空间的状态
//标准:	正常返回0x0000为健康,不是返回0x0000为不健康。

示例:

$ db2 list tablespaces show detail |grep -i stateState                                = 0x0000State                                = 0x0000
//输出信息说明:
1、使用LIST TABLESPACES 命令确定连接数据库中表空间的当前状态,可以使用SHOW DETAIL选项查看表空间的详细信息(db2 list tablespaces show detail)状态返回值是0x0000,此时,使用  db2tbst可以查看状态编号对于的状态含义,具体语法如下:
2、db2tbst <tablespace state>可以查看编号所代表的状态
3、db2tbst 命令接收十六进制的状态值,并返回相应的表空间状态。例如,命令 db2tbst 0x0008 返回 State = Load Pending 。而该十六进制的状态值反过来又是 LIST TABLESPACES 命令输出的组成部分。表空间的外部可见状态是由单个状态值的十六进制总和构成的。例如,如果表空间的状态是 Backup Pending和 Load in Progress,那么所返回的十六进制值就是 0x200200x00020 + 0x20000

2.3 监控开关是否开启

检查点:

  查看监控开关是否打开

检查方法:

	db2 get monitor switches
//标准:	返回OFF为关闭,返回ON为打开。

示例:

$ db2 get monitor switchesMonitor Recording SwitchesSwitch list for db partition number 0Buffer Pool Activity Information  (BUFFERPOOL    ) = OFFLock Information                        (LOCK) = OFFSorting Information                     (SORT) = OFFSQL Statement Information          (STATEMENT) = OFFTable Activity Information             (TABLE) = OFFTake Timestamp Information         (TIMESTAMP) = OFFUnit of Work Information                 (UOW) = OFF
//输出信息说明:建议设置为ON,开启命令:db2 update dbmcfg using BUFFERPOOL ON

2.4 数据库大小

检查点:

查看数据库大小

检查方法:

$db2 "call GET_DBSIZE_INFO(?,?,?,0)"
//标准:检查当前数据库的容量大小

示例:

$ db2 "call GET_DBSIZE_INFO(?,?,?,0)"Value of output parameters--------------------------Parameter Name  : SNAPSHOTTIMESTAMPParameter Value : 2013-10-24-09.57.58.642597Parameter Name  : DATABASESIZEParameter Value : 3756920832Parameter Name  : DATABASECAPACITYParameter Value : 8237072382
//输出信息说明:命令输出为执行时间,红色字体为数据库大小,蓝色字体为数据库容量大小。

2.5. 检查容器状态是否正常

检查点:

查看容器状态是否正常

检查方法:

$db2 "select substr(tbsp_name,1,25) tbsp_name,substr(container_name,1,50) container_name,total_pages,usable_pages,accessible from sysibmadm.snapcontainer"
//标准:	ACCESSIBLE列返回1为健康,ACCESSIBLE列返回不为1为不健康。

示例:

$ db2 "select substr(tbsp_name,1,25) tbsp_name,substr(container_name,1,50) container_name,total_pages,usable_pages,accessible from sysibmadm.snapcontainer"TBSP_NAME                 CONTAINER_NAME                                     TOTAL_PAGES          USABLE_PAGES         ACCESSIBLE------------------------- -------------------------------------------------- -------------------- -------------------- ----------SYSCATSPACE               /bopdwt_tag/db2inst1/NODE0000/BOPDW_T/T0000000/C00                24576                24572          1TEMPSPACE1                /bopdwt_tag/db2inst1/NODE0000/BOPDW_T/T0000001/C00                    0                    0          1USERSPACE1                /bopdwt_tag/db2inst1/NODE0000/BOPDW_T/T0000002/C00                 8192                 8160          1TBS_GATHER                /dev/rdbtbs_gather                                              2457600              2457592          1
//输出信息说明:ACCESSIBLE字段是能否访问容器(1 表示可以访问,0 表示不能访问)。

2.6 查看bufferpool属性

检查点:

查看bufferpool的属性

检查方法:

$db2 "select substr(bpname,1,20) bpname,bufferpoolid,substr(dbpgname,1,20) dbpgname,npages,pagesize from syscat.bufferpools"
//标准:	查看bufferpool的属性。

示例:

$ db2 "select substr(bpname,1,20) bpname,bufferpoolid,substr(dbpgname,1,20) dbpgname,npages,pagesize from syscat.bufferpools"BPNAME               BUFFERPOOLID DBPGNAME             NPAGES      PAGESIZE   -------------------- ------------ -------------------- ----------- -----------IBMDEFAULTBP                    1 -                             -2        4096BFPIDX                          2 -                         196608       32768BFPOTH                          4 -                         131072        8192BFPDATA                         3 -                         196608       32768
//输出信息说明:查看每个容器对应的BUFFERPOOL配置

2.7 查看表的状态

	Ø 检查点:查看表是否正常Ø 检查方法:$db2 "select substr(tabschema,1,10) as schema,substr(tabname,1,30) as tabname,status,type from syscat.tables where status !='N'"Ø 标准:STATUS列返回为C表示待审核。Ø 示例:
$ db2 "select substr(tabschema,1,10) as schema,substr(tabname,1,30) as tabname,status,type from syscat.tables where status !='N'"SCHEMA     TABNAME                        STATUS TYPE
---------- ------------------------------ ------ ----
DB2INST1   FACT_IO_BK_TRADE               C      T   
DB2INST1   FACT_IO_DF_AREA                C      T   
DB2INST1   FACT_IO_DF_BANK                C      TØ 输出信息说明:ü 输出显示了模式名、表名、状态和表类型。ü 在 SYSCAT.TABLES 中有项的所有用户定义的表的名称,以及每个表的列数和表的状态(N = 正常;C = 待审核(check pending))

2.8 表空间使用情况

检查点:

查看表空间使用情况

检查方法:

$db2 "select substr(tbsp_name,1,18) tbsp_name,tbsp_type,tbsp_free_size_kb/1024 as tbsp_free_size_M,tbsp_utilization_percent from sysibmadm.tbsp_utilization"
//标准:	返回为表空间的类型、剩余大小(MB)、使用率。

示例:

$ db2 "select substr(tbsp_name,1,18) tbsp_name,tbsp_type,tbsp_free_size_kb/1024 as tbsp_free_size_M,tbsp_utilization_percent from sysibmadm.tbsp_utilization"TBSP_NAME          TBSP_TYPE  TBSP_FREE_SIZE_M     TBSP_UTILIZATION_PERCENT------------------ ---------- -------------------- ------------------------SYSCATSPACE        DMS                          24                    74.26TEMPSPACE1         SMS                           0                    -1.00USERSPACE1         DMS                          26                    16.47TBS_GATHER         DMS                       33463                    50.49TBS_DETAIL         DMS                        6996                    98.51
//输出信息说明:	TBSP_TYPE此字段为表空间类型,分为(DMS和SMS);TBSP_FREE_SIZE_M此字段为表空间剩余大小为M。

http://www.ppmy.cn/news/285149.html

相关文章

Kafka-Eagle安装及连接成功web端登陆不了问题解决

kafka自身并没有集成监控管理系统&#xff0c;因此对kafka的监控管理比较不便&#xff0c;好在有大量的第三方监控管理系统来使用&#xff0c;常见的有&#xff1a; Kafka EagleKafkaOffsetMonitorKafka Manager&#xff08;雅虎开源的Kafka集群管理器&#xff09;Kafka Web C…

WiFi芯片出现Kr00k漏洞

RSA大会上&#xff0c;WiFi芯片的一个漏洞引起了专家们的广泛讨论。该漏洞名为Kr00k&#xff0c;编号CVE-2019-15126&#xff0c;由ESET研究员发现于Broadcom 和Cypress的WiFi芯片中。 事件概要 ESET研究员在分析KRAC时发现WiFi芯片中的漏洞&#xff0c;命名为Kr00k&#xff0c…

数十亿个 Wi-Fi 设备存在缺陷,通信易被窃听!

作者 | DAN GOODIN 译者 | 弯月&#xff0c;责编 | 屠敏 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 以下为译文&#xff1a; 在最近的RSA安全会议上&#xff0c;研究人员表示&#xff0c;数十亿设备&#xff08;其中许多已打补丁&#xff09;受到Wi-Fi漏洞的…

【大杂烩】杂7杂8的东西

2013.8.21 今天是第一天搬到5栋&#xff0c;新的环境&#xff0c;新的面孔。工作上暂时没有安排&#xff0c;可以先看看资料&#xff0c;早上把iptables重新看了一下&#xff0c;整理了一下链和表的关系&#xff0c;并且在MR3080上进行了实验。 2013.8.27 项目移交整理&#xf…

Ficus 第二弹,突破限制器的 Markdown 编辑管理软件!

大家好&#xff0c;我们是 ggG 团队&#xff0c;我们开发的 markdown 笔记管理软件 Ficus Beta 版本正式发布了。详情可以见我们官网&#xff0c;也可以来我们仓库查看。 相对于 Alpha 版本&#xff08;可以在我们之前的博客中查看&#xff09;&#xff0c;主要有 3 点明显的提…

C++ 面试题:C++哪种静态成员变量可以在类内初始化?

在 C 中&#xff0c;只有静态常量整型成员&#xff08;包括整型、字符型、布尔型等&#xff09;可以在类内初始化。这是因为静态成员是属于类的&#xff0c;而不是属于类的某个具体对象的&#xff0c;所以它们的初始化不依赖于类的对象。 对于非静态成员变量&#xff0c;无论它…

腾讯qq接口

<a title"点击这里给我发消息" href"http://wpa.qq.com/msgrd?V1&uin1179085381&Site&Menuyes"> </a> 转载于:https://www.cnblogs.com/nonoleng/p/4530808.html

Q爱好者论坛

Q爱好者 http://www.qqahz.com/?fromuid144 于2009年11月15日创办 这里有各类游戏讲解&#xff0c;辅助工具。 聊天交友。这里就是您在网络上最理想的家。 现招收版主&#xff0c;会员。期待您的加入。 如有想法请登陆我们的论坛到管理区找管理详谈 您的登陆就是对我最大的支持…