DMDSC 集群的运行情况可以通过 DMCSSM 监视器(Dameng Cluster Synchronization Services Monitor,DMCSSM)进行查看,也可以查询 DMDSC 相关的动态视图获取更详细的信息。DMCSSM 监视器支持一些控制命令,可以用来启动、关闭 DMDSC 集群,还可以进行手动控制节点故障处理和节点重加入。
14.1 DMCSSM 监视器
14.1.1 功能说明
- 监控集群状态
DMCSS 每秒会发送集群中所有节点的状态信息、当前连接到 DMCSS 的监视器信息以及 DCR 的配置信息到活动的监视器上,监视器提供对应的 show 命令用于查看各类信息。
- 打开/关闭指定组的自动拉起
DMCSSM 提供 SET AUTO RESTART ON/SET AUTO RESTART OFF 命令,通知 DMCSS 打开或关闭对指定组的自动拉起功能,此功能和 DMCSS 的监控打开或关闭没有关系。
- 强制 OPEN 指定组
DMCSSM 提供 OPEN FORCE 命令,在启动 ASM 或 DB 组时,如果组中某个节点发生硬件故障等原因导致一直无法启动,可执行此命令通知 DMCSS 将 ASM 组或 DB 组强制 OPEN,不再等待故障节点启动成功。
- 启动/退出集群
DMCSSM 提供 EP STARTUP/EP STOP 命令,可以通知 DMCSS 启动/退出指定的 ASM 或 DB 组。
- 集群故障处理
DMCSSM 提供 EP BREAK/EP RECOVER 命令,在主 CSS 的监控功能被关闭的情况下,可以通过执行这些命令手动进行故障处理和故障恢复。另外在某些特殊场景下还可通过 EP HALT 命令强制退出指定节点,具体可参考 14.1.4 小节。
14.1.2 配置文件
DMCSSM 的配置文件名称为 dmcssm.ini,所支持的配置项说明如下。
配置项 | 配置含义 |
---|---|
CSSM_OGUID | 用于和 DMCSS 通信校验使用,和 dmdcr_cfg.ini 中的 DCR_OGUID 值保持一致。 |
CSSM_CSS_IP | 集群中所有 DMCSS 所在机器的 IP 地址,以及 DMCSS 的监听端口,配置格式为“IP:PORT”的形式,其中 IP 和 PORT 分别对应 dmdcr_cfg.ini 中 DMCSS 节点的 DCR_EP_HOST 和 DCR_EP_PORT。 |
CSSM_LOG_PATH | 日志文件路径,日志文件命名方式为 “dmcssm_年月日时分秒.log”,例如“dmcssm_20160614131123.log”。 其他请参考附加说明。 |
CSSM_LOG_FILE_SIZE | 单个日志文件大小,范围 16~2048,单位为 M,默认值为 64M,达到最大值后,会自动生成并切换到新的日志文件中。 |
CSSM_LOG_SPACE_LIMIT | 日志总空间大小,取值 0 或者 256~4096,单位为 M,默认值为 0,表示没有空间限制,如果达到设定的总空间限制,会自动删除创建时间最早的日志文件。 |
CSSM_MESSAGE_CHECK | 是否对 CSSM 通信消息启用通信体校验(只有当消息的发送端和接收端都配置为 1 才启用通信体校验)。0:不启用;1:启用。默认为 1。 |
CSSM_LOG_PATH 配置说明:
如果 dmcssm.ini 中配置有 CSSM_LOG_PATH 路径,则将 CSSM_LOG_PATH 作为日志文件路径,如果没有配置,则将 dmcssm.ini 配置文件所在的路径作为日志文件路径。
建议在有日志写入操作时,如果日志路径下没有日志文件,会自动创建一个新的日志文件,如果已经有日志文件,则根据设定的单个日志文件大小(CSSM_LOG_FILE_SIZE)决定继续写入已有的日志文件或者创建新的日志文件写入。
创建新的日志文件时,根据设定的日志总空间大小(CSSM_LOG_SPACE_LIMIT)决定是否删除创建时间最早的日志文件。
14.1.3 配置步骤
同一个 DMDSC 集群中,允许最多同时启动 10 个监视器,建议监视器放在独立的第三方机器上,避免由于节点间网络不稳定等原因导致监视器误判节点故障。
下面举例说明监视器的配置步骤,以 11.2 小节搭建的 2 节点 DSC 环境为基础,配置对应的监视器,监视器放在第三方机器上,为 windows 操作系统,dmcssm.ini 配置文件路径为 D:\cssm,可根据实际情况调整配置环境及路径。
- 配置 dmcssm.ini 文件
##和dmdcr_cfg.ini中的DCR_OGUID保持一致
CSSM_OGUID = 63635
##配置所有CSS的连接信息,
##和dmdcr_cfg.ini中CSS配置项的DCR_EP_HOST和DCR_EP_PORT保持一致
CSSM_CSS_IP = 10.0.2.101:9341
CSSM_CSS_IP = 10.0.2.102:9343
CSSM_LOG_PATH =D:\cssm\log ##监视器日志文件存放路径
CSSM_LOG_FILE_SIZE = 32 ##每个日志文件最大32M
CSSM_LOG_SPACE_LIMIT = 0 ##不限定日志文件总占用空间
- 启动 dmcssm 监视器
dmcssm.exe INI_PATH=D:\cssm\dmcssm.ini
14.1.4 命令说明
监视器提供一系列命令,支持集群的状态信息查看以及节点的故障处理,可输入 help 命令,查看命令使用说明。
命令名称 | 含义 |
---|---|
help | 显示帮助信息 |
show [group_name] | 显示指定的组信息,如果没有指定 group_name,则显示所有组信息 |
show config | 显示 dmdcr_cfg.ini 的配置信息 |
show monitor | 显示当前连接到主 CSS 的所有监视器信息 |
set group_name auto restart on | 打开指定组的自动拉起功能(只修改 dmcss 内存值) |
set group_name auto restart off | 关闭指定组的自动拉起功能(只修改 dmcss 内存值) |
open force group_name | 强制 open 指定的 ASM 或 DB 组 |
ep startup group_name | 启动指定的 ASM 或 DB 组 |
ep stop group_name | 退出指定的 ASM 或 DB 组 |
ep halt group_name.ep_name | 强制退出指定组中的指定节点 |
extend node | 联机扩展节点 |
ep crash group_name.ep_name | 手动指定节点故障 |
check crash over group_name | 检查指定组故障处理是否真正结束 |
exit | 退出监视器 |
命令使用说明:
- help
显示帮助信息。
- show [group_name]
显示指定的组信息,如果没有指定 group_name,则显示所有组信息。
返回的组信息优先从主 CSS 获取,如果主 CSS 故障或尚未选出,则任选一个从 CSS 返回组信息。
- show config
显示 dmdcr_cfg.ini 的配置信息,对于 DB 类型的节点,会比 CSS/ASM 节点多一项 DCR_EP_SEQNO 的显示值,如果原本的 ini 文件中没有手动配置,则显示的是自动分配的序列值。
返回的配置信息优先从主 CSS 获取,如果主 CSS 故障或尚未选出,则任选一个从 CSS 返回信息。
- show monitor
显示当前连接到主 CSS 的所有监视器信息,如果主 CSS 故障或尚未选出,则任选一个从 CSS 显示连接信息。
返回的信息中,第一行为当前执行命令的监视器的连接信息。
在数据守护环境中,守护监视器 dmmonitor 的部分命令(启动/停止/强杀实例)最终是由 dmcss 执行的,守护进程 dmwatcher 在命令执行中充当了 dmcssm 的角色,守护进程通知 dmcss 执行完成后,再将执行结果返回给守护监视器。因此 dmcss 上会有 dmwatcher 的连接信息,show monitor 命令也会显示 dmwatcher 的连接信息,可以根据 from_name 字段值进行区分。
- set group_name auto restart on
打开指定组的自动拉起功能。
可借助 show css 命令查看每个节点的自动拉起标记,每个 css 只能控制和自己的 dmdcr.ini 中配置的 DMDCR_SEQNO 相同节点的自动拉起。
- set group_name auto restart off
关闭指定组的自动拉起功能。
可借助 show css 命令查看每个节点的自动拉起标记,每个 css 只能控制和自己的 dmdcr.ini 中配置的 DMDCR_SEQNO 相同节点的自动拉起。
- open force group_name
在启动 ASM 或 DB 组时,如果某个节点故障一直无法启动,可借助此命令将 ASM 或 DB 组强制 OPEN。
此命令需要发送到主 CSS 执行,并且主 CSS 的监控需要处于打开状态,如果主 CSS 故障或尚未选出,则命令执行失败。
- ep startup group_name
通知 CSS 启动指定的 ASM 或 DB 组,如果 CSS 已经打开了指定组的自动拉起功能,则命令不允许执行,需要等待 CSS 自动检测故障并执行拉起操作。
每个 CSS 只负责拉起和自己的 dmdcr.ini 中配置的 DMDCR_SEQNO 相同的 ASM 或 DB 节点,因此需要所有 CSS 都处于活动状态,否则只通知当前活动的 CSS 自动拉起相对应的节点。
建议只有在ASM组正常启动到OPEN状态,并且所有活动的ASM节点都处于OPEN状态时,才允许启动DB组,否则执行DB组的启动命令会报错,CSS自动拉起DB组时也需要满足此条件。
在命令执行前,如果 CSS 对指定组的自动拉起功能是关闭的,在节点拉起成功后,会打开对指定组的自动拉起功能。
- ep stop group_name
退出指定的 ASM 或 DB 组,如果主 CSS 故障或尚未选出,则命令执行失败。
注意在退出ASM组时,需要保证DB组已经退出,否则会报错处理。
在命令执行前,如果 CSS 对指定组的自动拉起功能是打开的,则会先通知 CSS 关闭对指定组的自动拉起功能,再通知指定组退出,避免命令执行成功后节点再次被自动拉起。
- ep halt group_name.ep_name
强制退出指定组的指定 EP。适用于下述场景:
- 一 某个 ASM 或 DB 节点故障,CSS 的心跳容错时间 DCR_GRP_DSKCHK_CNT 配置值很大,在容错时间内,CSS 不会调整故障节点的 active 标记,一直是 TRUE,CSS 认为故障 EP 仍然处于活动状态,不会自动执行故障处理,并且不允许手动执行故障处理。
另外,执行 EP STARTUP 或 EP STOP 命令时,会误认为故障 EP 仍然处于活动状态,导致执行结果与预期不符。此时可以通过执行 EP HALT 命令,通知 CSS 再次 HALT 故障 EP,确认 EP 已经被 HALT 后,CSS 会及时调整 active 标记为 FALSE,在此之后,对自动/手动故障处理,EP STARTUP/EP STOP 命令都可以正常执行。
- 二 需要强制 HALT 某个正在运行的 ASM 或 DB 节点,也可以通过此命令完成。
- extend node
DMDSC 集群联机扩展节点时使用。
程序会通知所有实例(CSS/ASMSVR/dmserver)更新 dcr 信息。
使用 show 命令能看到新增节点信息,新增 ASMSVR/dmserver 为 ERROR 状态。
- ep crash group_name.ep_name
手动指定节点故障,节点故障后,css 只有在 DCR_GRP_DSKCHK_CNT 配置的时间过后才会判定实例故障,开始故障处理流程。用户如果明确知道实例已经故障,可以收到执行此命令,CSS 可以立即开始故障处理流程。
- check crash over group_name
DB 集群环境故障处理后,需要满足一定条件(控制节点重做故障节点日志产生的数据页修改都已经刷盘完成),才允许故障节点重新加回集群环境。此命令用来显示 DB 集群环境故障处理是否真正结束。
- exit
退出监视器。
14.2 动态视图
DMDSC 集群提供一系列动态视图来查看当前的系统运行信息。部分视图是全局的,任意节点登录查询的结果都是相同的,部分视图仅显示登录节点的信息。
14.2.1 V$DSC_EP_INFO
显示实例信息,登录任意节点查询得到的结果一致。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | EP_NAME | VARCHAR(128) | 实例名称 |
2 | EP_SEQNO | INTEGER | DSC 节点序号 |
3 | EP_GUID | BIGINT | EP 唯一标识码 |
4 | EP_TIMESTAMP | BIGINT | EP 时间戳 |
5 | EP_MODE | VARCHAR(32) | EP 模式,CONTROL NODE 或 NORMAL NODE |
6 | EP_STATUS | VARCHAR(32) | EP 状态,OK 或 ERROR |
14.2.2 V$DSC_GBS_POOL
显示 GBS 控制结构的信息,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | N_CTL | INTEGER | GBS 控制块总数 |
2 | N_FREE_CTL | INTEGER | 空闲的 GBS 控制块数目 |
3 | N_SUB_POOL | INTEGER | GBS_POOL 个数 |
14.2.3 V$DSC_GBS_POOLS_DETAIL
显示分片的 GBS_POOL 详细信息,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | POOL_ID | INTEGER | GBS_POOL 编号 |
2 | N_USED_CTL | INTEGER | 正在使用的 GBS 控制块数目 |
3 | N_REQUEST | INTEGER | 正在等待 GBS 控制块的请求数目 |
4 | N_FREE_REQUEST | INTEGER | 空闲的 GBS 请求控制块数目 |
14.2.4 V$DSC_GBS_CTL
显示 GBS 控制块信息。多个 pool,依次扫描,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | POOL_ID | INTEGER | GBS_POOL 编号 |
2 | TS_ID | INTEGER | 表空间号 |
3 | FILE_ID | INTEGER | 文件号 |
4 | PAGE_NO | INTEGER | 页号 |
5 | ACCESS_MAP | INTEGER | 曾经访问此数据页的 EP |
6 | FRESH_EP | INTEGER | 最新数据所在 EP |
7 | FRESH_LSN | BIGINT | 最新修改对应的 LSN 值 |
8 | N_REPLACED | INTEGER | 控制块被替换次数 |
9 | N_REVOKED | INTEGER | 权限被回收次数 |
10 | N_OWNER | INTEGER | 拥有权限的 EP 数 |
11 | N_REQUEST | INTEGER | 请求授权的 EP 数 |
12 | N_REVOKING | INTEGER | 正在回收权限的 EP 数 |
13 | N_REVOKE_X_ONLY | INTEGER | 页的优化次数 |
14.2.5 V$DSC_GBS_CTL_DETAIL
显示 GBS 控制块详细信息。多个 pool,依次扫描,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | POOL_ID | INTEGER | GBS_POOL 编号 |
2 | TS_ID | INTEGER | 表空间号 |
3 | FILE_ID | INTEGER | 文件号 |
4 | PAGE_NO | INTEGER | 页号 |
5 | ACCESS_MAP | INTEGER | 曾经访问此数据页的 EP |
6 | FRESH_EP | INTEGER | 最新数据所在 EP |
7 | FRESH_LSN | BIGINT | 最新修改对应的 LSN 值 |
8 | N_REPLACED | INTEGER | 控制块被替换次数 |
9 | N_REVOKED | INTEGER | 权限被回收次数 |
10 | N_OWNER | INTEGER | 拥有权限的 EP 数 |
11 | N_REQUEST | INTEGER | 请求授权的 EP 数 |
12 | N_REVOKING | INTEGER | 正在回收权限的 EP 数 |
13 | TYPE | VARCHAR(32) | 详细信息类型(OWNER/REQUEST/REVOKING) |
14 | MODE | INTEGER | 封锁模式,0/1/2/4:N_LATCH/X_LATCH/S_LATCH/F_LATCH |
15 | EP_SEQNO | INTEGER | 拥有、请求、或者回收封锁的 EP |
16 | REAL_FLUSH | CHAR | 是否真正执行刷盘请求(‘Y’/’N’) |
17 | N_REVOKE_X_ONLY | INTEGER | 页的优化次数 |
14.2.6 V$DSC_GBS_CTL_LRU_FIRST
显示 GBS 控制块 LRU 链表首页信息。多个 pool,依次扫描,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | POOL_ID | INTEGER | GBS_POOL 编号 |
2 | TS_ID | INTEGER | 表空间号 |
3 | FILE_ID | INTEGER | 文件号 |
4 | PAGE_NO | INTEGER | 页号 |
5 | ACCESS_MAP | INTEGER | 曾经访问此数据页的 EP |
6 | FRESH_EP | INTEGER | 最新数据所在 EP |
7 | FRESH_LSN | BIGINT | 最新修改对应的 LSN 值 |
8 | N_REPLACED | INTEGER | 控制块被替换次数 |
9 | N_REVOKED | INTEGER | 权限被回收次数 |
10 | N_OWNER | INTEGER | 拥有权限的 EP 数 |
11 | N_REQUEST | INTEGER | 请求授权的 EP 数 |
12 | N_REVOKING | INTEGER | 正在回收权限的 EP 数 |
13 | N_REVOKE_X_ONLY | INTEGER | 页的优化次数 |
14.2.7 V$DSC_GBS_CTL_LRU_FIRST_DETAIL
显示 GBS 控制块 LRU 链表首页详细信息。多个 pool,依次扫描,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | POOL_ID | INTEGER | GBS_POOL 编号 |
2 | TS_ID | INTEGER | 表空间号 |
3 | FILE_ID | INTEGER | 文件号 |
4 | PAGE_NO | INTEGER | 页号 |
5 | ACCESS_MAP | INTEGER | 曾经访问此数据页的 EP |
6 | FRESH_EP | INTEGER | 最新数据所在 EP |
7 | FRESH_LSN | BIGINT | 最新修改对应的 LSN 值 |
8 | N_REPLACED | INTEGER | 控制块被替换次数 |
9 | N_REVOKED | INTEGER | 权限被回收次数 |
10 | N_OWNER | INTEGER | 拥有权限的 EP 数 |
11 | N_REQUEST | INTEGER | 请求授权的 EP 数 |
12 | N_REVOKING | INTEGER | 正在回收权限的 EP 数 |
13 | TYPE | VARCHAR(32) | 详细信息类型(OWNER/REQUEST/REVOKING) |
14 | MODE | INTEGER | 封锁模式,0/1/2/4: N_LATCH/X_LATCH/S_LATCH/F_LATCH |
15 | EP_SEQNO | INTEGER | 拥有、请求、或者回收封锁的 EP |
16 | REAL_FLUSH | CHAR | 是否真正执行刷盘请求(‘Y’/’N’) |
17 | N_REVOKE_X_ONLY | INTEGER | 页的优化次数 |
14.2.8 V$DSC_GBS_CTL_LRU_LAST
显示 GBS 控制块 LRU 链表尾页信息。多个 pool,依次扫描,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | POOL_ID | INTEGER | GBS_POOL 编号 |
2 | TS_ID | INTEGER | 表空间号 |
3 | FILE_ID | INTEGER | 文件号 |
4 | PAGE_NO | INTEGER | 页号 |
5 | ACCESS_MAP | INTEGER | 曾经访问此数据页的 EP |
6 | FRESH_EP | INTEGER | 最新数据所在 EP |
7 | FRESH_LSN | BIGINT | 最新修改对应的 LSN 值 |
8 | N_REPLACED | INTEGER | 控制块被替换次数 |
9 | N_REVOKED | INTEGER | 权限被回收次数 |
10 | N_OWNER | INTEGER | 拥有权限的 EP 数 |
11 | N_REQUEST | INTEGER | 请求授权的 EP 数 |
12 | N_REVOKING | INTEGER | 正在回收权限的 EP 数 |
13 | N_REVOKE_X_ONLY | INTEGER | 页的优化次数 |
14.2.9 V$DSC_GBS_CTL_LRU_LAST_DETAIL
显示 GBS 控制块 LRU 链表尾页详细信息。多个 pool,依次扫描,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | POOL_ID | INTEGER | GBS_POOL 编号 |
2 | TS_ID | INTEGER | 表空间号 |
3 | FILE_ID | INTEGER | 文件号 |
4 | PAGE_NO | INTEGER | 页号 |
5 | ACCESS_MAP | INTEGER | 曾经访问此数据页的 EP |
6 | FRESH_EP | INTEGER | 最新数据所在 EP |
7 | FRESH_LSN | BIGINT | 最新修改对应的 LSN 值 |
8 | N_REPLACED | INTEGER | 控制块被替换次数 |
9 | N_REVOKED | INTEGER | 权限被回收次数 |
10 | N_OWNER | INTEGER | 拥有权限的 EP 数 |
11 | N_REQUEST | INTEGER | 请求授权的 EP 数 |
12 | N_REVOKING | INTEGER | 正在回收权限的 EP 数 |
13 | TYPE | VARCHAR(32) | 详细信息类型(OWNER/REQUEST/REVOKING) |
14 | MODE | INTEGER | 封锁模式,0/1/2/4: N_LATCH/X_LATCH/S_LATCH/F_LATCH |
15 | EP_SEQNO | INTEGER | 拥有、请求、或者回收封锁的 EP |
16 | REAL_FLUSH | CHAR | 是否真正执行刷盘请求(‘Y’/’N’) |
17 | N_REVOKE_X_ONLY | INTEGER | 页的优化次数 |
14.2.10 V$DSC_GBS_REQUEST_CTL
显示等待 GBS 控制块的请求信息。多个 pool,依次扫描,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | POOL_ID | INTEGER | GBS_POOL 编号 |
2 | TS_ID | INTEGER | 表空间号 |
3 | FILE_ID | INTEGER | 文件号 |
4 | PAGE_NO | INTEGER | 页号 |
5 | MODE | INTEGER | 封锁模式,0/1/2/4: N_LATCH/X_LATCH/S_LATCH/F_LATCH |
6 | EP_SEQNO | INTEGER | 请求封锁的 EP |
14.2.11 V$DSC_LBS_POOL
显示 LBS 控制结构的信息,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | N_CTL | INTEGER | LBS 控制块总数 |
2 | N_FREE_CTL | INTEGER | 空闲的 LBS 控制块数目 |
3 | N_SUB_POOL | INTEGER | LBS_POOL 个数 |
14.2.12 V$DSC_LBS_POOLS_DETAIL
显示分片的 LBS_POOL 详细信息。多个 pool,依次扫描,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | POOL_ID | INTEGER | LBS_POOL 编号 |
2 | N_USED_CTL | INTEGER | 正在使用的 LBS 控制块数目 |
3 | N_REQUEST_SPACE | INTEGER | 正在等待 LBS 控制块的请求数目 |
4 | N_FREE_REQUEST | INTEGER | 空闲的 LBS 请求控制块数目 |
14.2.13 V$DSC_LBS_CTL
显示 LBS 控制块信息。多个 pool,依次扫描,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | POOL_ID | INTEGER | LBS_POOL 编号 |
2 | TS_ID | INTEGER | 表空间号 |
3 | FILE_ID | INTEGER | 文件号 |
4 | PAGE_NO | INTEGER | 页号 |
5 | ACCESS_MAP | INTEGER | 曾经访问此数据页的 EP |
6 | FRESH_EP | INTEGER | 最新数据所在 EP |
7 | FRESH_LSN | BIGINT | 最新修改对应的 LSN 值 |
8 | N_REPLACED | INTEGER | 控制块被替换次数 |
9 | N_REVOKED | INTEGER | 权限被回收次数 |
10 | N_FIXED | INTEGER | 引用计数 |
11 | MODE | INTEGER | 获得 GBS 授权的封锁模式 |
12 | PHY_LSN | BIGINT | 数据页上的最新 LSN 值 |
13 | N_REQUEST | INTEGER | 请求获得授权的工作线程数 |
14 | N_REVOKE_X_ONLY | INTEGER | 页的优化次数 |
14.2.14 V$DSC_LBS_CTL_LRU_FIRST
显示 LBS 的 LRU_FIRST 控制块信息。多个 pool,依次扫描,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | POOL_ID | INTEGER | LBS_POOL 编号 |
2 | TS_ID | INTEGER | 表空间号 |
3 | FILE_ID | INTEGER | 文件号 |
4 | PAGE_NO | INTEGER | 页号 |
5 | ACCESS_MAP | INTEGER | 曾经访问此数据页的 EP |
6 | FRESH_EP | INTEGER | 最新数据所在 EP |
7 | FRESH_LSN | BIGINT | 最新修改对应的 LSN 值 |
8 | N_REPLACED | INTEGER | 控制块被替换次数 |
9 | N_REVOKED | INTEGER | 权限被回收次数 |
10 | N_FIXED | INTEGER | 引用计数 |
11 | MODE | INTEGER | 获得 GBS 授权的封锁模式 |
12 | PHY_LSN | BIGINT | 数据页上的最新 LSN 值 |
13 | N_REQUEST | INTEGER | 请求获得授权的工作线程数 |
14 | N_REVOKE_X_ONLY | INTEGER | 页的优化次数 |
14.2.15 V$DSC_LBS_CTL_LRU_LAST
显示 LBS 的 LRU_LAST 控制块信息。多个 pool,依次扫描,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | POOL_ID | INTEGER | LBS_POOL 编号 |
2 | TS_ID | INTEGER | 表空间号 |
3 | FILE_ID | INTEGER | 文件号 |
4 | PAGE_NO | INTEGER | 页号 |
5 | ACCESS_MAP | INTEGER | 曾经访问此数据页的 EP |
6 | FRESH_EP | INTEGER | 最新数据所在 EP |
7 | FRESH_LSN | BIGINT | 最新修改对应的 LSN 值 |
8 | N_REPLACED | INTEGER | 控制块被替换次数 |
9 | N_REVOKED | INTEGER | 权限被回收次数 |
10 | N_FIXED | INTEGER | 引用计数 |
11 | MODE | INTEGER | 获得 GBS 授权的封锁模式 |
12 | PHY_LSN | BIGINT | 数据页上的最新 LSN 值 |
13 | N_REQUEST | INTEGER | 请求获得授权的工作线程数 |
14.2.16 V$DSC_LBS_CTL_DETAIL
显示 LBS 控制块详细信息。多个 pool,依次扫描,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | POOL_ID | INTEGER | LBS_POOL 编号 |
2 | TS_ID | INTEGER | 表空间号 |
3 | FILE_ID | INTEGER | 文件号 |
4 | PAGE_NO | INTEGER | 页号 |
5 | ACCESS_MAP | INTEGER | 曾经访问此数据页的 EP |
6 | FRESH_EP | INTEGER | 最新数据所在 EP |
7 | FRESH_LSN | BIGINT | 最新修改对应的 LSN 值 |
8 | N_REPLACED | INTEGER | 控制块被替换次数 |
9 | N_REVOKED | INTEGER | 权限被回收次数 |
10 | N_FIXED | INTEGER | 引用计数 |
11 | MODE | INTEGER | 获得 GBS 授权的封锁模式 |
12 | PHY_LSN | BIGINT | 数据页上的最新 LSN 值 |
13 | N_REQUEST | INTEGER | 请求获得授权的工作线程数 |
14 | REQUEST_MODE | INTEGER | 请求的封锁模式 |
15 | REVOKE_LSN | BIGINT | 回收权限时,GBS 上的最新 LSN 值 |
14.2.17 V$DSC_LBS_CTL_LRU_FIRST_DETAIL
显示 LBS 的 LRU_FIRST 控制块详细信息。多个 pool,依次扫描,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | POOL_ID | INTEGER | LBS_POOL 编号 |
2 | TS_ID | INTEGER | 表空间号 |
3 | FILE_ID | INTEGER | 文件号 |
4 | PAGE_NO | INTEGER | 页号 |
5 | ACCESS_MAP | INTEGER | 曾经访问此数据页的 EP |
6 | FRESH_EP | INTEGER | 最新数据所在 EP |
7 | FRESH_LSN | BIGINT | 最新修改对应的 LSN 值 |
8 | N_REPLACED | INTEGER | 控制块被替换次数 |
9 | N_REVOKED | INTEGER | 权限被回收次数 |
10 | N_FIXED | INTEGER | 引用计数 |
11 | MODE | INTEGER | 获得 GBS 授权的封锁模式 |
12 | PHY_LSN | BIGINT | 数据页上的最新 LSN 值 |
13 | N_REQUEST | INTEGER | 请求获得授权的工作线程数 |
14 | REQUEST_MODE | INTEGER | 请求的封锁模式 |
15 | REVOKE_LSN | BIGINT | 回收权限时,GBS 上的最新 LSN 值 |
14.2.18 V$DSC_LBS_CTL_LRU_LAST_DETAIL
显示 LBS 的 LRU_LAST 控制块详细信息。多个 pool,依次扫描,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | POOL_ID | INTEGER | LBS_POOL 编号 |
2 | TS_ID | INTEGER | 表空间号 |
3 | FILE_ID | INTEGER | 文件号 |
4 | PAGE_NO | INTEGER | 页号 |
5 | ACCESS_MAP | INTEGER | 曾经访问此数据页的 EP |
6 | FRESH_EP | INTEGER | 最新数据所在 EP |
7 | FRESH_LSN | BIGINT | 最新修改对应的 LSN 值 |
8 | N_REPLACED | INTEGER | 控制块被替换次数 |
9 | N_REVOKED | INTEGER | 权限被回收次数 |
10 | N_FIXED | INTEGER | 引用计数 |
11 | MODE | INTEGER | 获得 GBS 授权的封锁模式 |
12 | PHY_LSN | BIGINT | 数据页上的最新 LSN 值 |
13 | N_REQUEST | INTEGER | 请求获得授权的工作线程数 |
14 | REQUEST_MODE | INTEGER | 请求的封锁模式 |
15 | REVOKE_LSN | BIGINT | 回收权限时,GBS 上的最新 LSN 值 |
14.2.19 V$DSC_GTV_SYS
显示 GTV 控制结构的信息,仅登录集群环境控制节点才能获取数据,登录其他节点返回数据无效。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | T_INFO_NUM | INTEGER | 系统已提交、未 PURGE 事务所修改的表对象个数 |
2 | NEXT_TRXID | BIGINT | 下一个事务 ID |
3 | MAX_PURGABLE_TRIXID | BIGINT | 最大可 PURGE 的事务 ID |
4 | UNDO_TRIXID | BIGINT | 回滚段中,正在被访问的最小事务 ID |
5 | UNDO_CNT | INTEGER | UNDO_TRXID 被设置的次数 |
14.2.20 V$DSC_GTV_TINFO
显示 TINFO 控制结构的信息,仅登录集群环境控制节点才能获取数据,登录其他节点返回数据为空。暂时没有什么用,查询结果为空。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | TABLE_ID | INTEGER | 系统已提交、未 PURGE 事务所修改的表 ID |
2 | TRX_ID | BIGINT | 修改操作的事务 ID |
3 | ROWCNT | BIGINT | 修改操作影响的行数 |
14.2.21 V$DSC_GTV_ACTIVE_TRX
显示全局活动事务信息,仅登录集群环境控制节点才能获取数据,登录其他节点返回数据为空。暂时没有什么用,查询结果为空。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | EP_SEQNO | INTEGER | 事务所在的节点号 |
2 | TRX_ID | BIGINT | 事务 ID |
3 | NEXT_TRXID | BIGINT | 下一个事务 ID |
4 | MIN_ACTIVE_TRXID | BIGINT | 活动事务链表中的最小事务 ID |
5 | REFED_TRXID | BIGINT | 活动事务链表中的事务 ID |
14.2.22 V$DSC_LOCK
显示全局活动的事务锁信息,登录任意节点查询得到的结果一致。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | EP_SEQNO | INTEGER | 拥有该锁的节点号 |
2 | ADDR | BIGINT | 锁地址 |
3 | TRX_ID | BIGINT | 所属事务 ID |
4 | LTYPE | VARCHAR(10) | 锁类型:TID 锁、对象锁 |
5 | LMODE | CHAR(2) | 锁模式:S 锁、X 锁、IX 锁、IS 锁 |
6 | BLOCKED | INTEGER | 是否阻塞 |
7 | TABLE_ID | INTEGER | 对应表锁、字典对象 ID |
8 | ROW_IDX | BIGINT | 被封锁事务 ID |
14.2.23 V$DSC_TRX
显示所有活动事务的信息。通过该视图可以查看所有系统中所有的事务以及相关信息,如锁信息等,登录任意节点查询得到的结果一致。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | EP_SEQNO | INTEGER | 事务所在节点号 |
2 | ID | BIGINT | 当前活动事务的 ID 号 |
3 | NEXTID | BIGINT | 下一个事务 ID 号 |
4 | MIN_ACTIVE_ID | BIGINT | 所有活动事务 ID 号最小者 |
5 | STATUS | VARCHAR(20) | 当前事务的状态 |
6 | ISOLATION | INTEGER | 事务的隔离级别 0:读未提交 1:读提交 2:可重复读 3:串行化 |
7 | READ_ONLY | CHAR(1) | 是否为只读事务(Y/N) |
8 | SESS_ID | BIGINT | 当前事务所在的会话 ID |
9 | SESS_SEQ | INTEGER | 会话序列号,用来唯一标识会话 |
10 | INS_CNT | INTEGER | 插入回滚记录个数 |
11 | DEL_CNT | INTEGER | 删除回滚记录个数 |
12 | UPD_CNT | INTEGER | 更新回滚记录个数 |
13 | UPD_INS_CNT | INTEGER | 更新插入回滚记录个数 |
14 | UREC_SEQNO | INTEGER | 当前 Undo 记录的递增序列号 |
15 | WAITING | BIGINT | 事务等待的锁 |
14.2.24 V$DSC_TRXWAIT
显示事务等待信息,登录任意节点查询得到的结果一致。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | EP_SEQNO | INTEGER | 事务所在节点号 |
2 | ID | BIGINT | 事务 ID |
3 | WAIT_FOR_ID | BIGINT | 所等待的事务 ID |
4 | WAIT_SEQNO | TINYINT | 等待的事务序列号 |
5 | WAIT_TIME | INTEGER | 当前已等待时间(s) |
14.2.25 V$DSC_TRX_VIEW
显示当前事务可见的所有活动事务视图信息。根据达梦多版本规则,通过该视图可以查询系统中自己所见的事务信息;可以通过与 v$dsc_trx 表的连接查询它所见事务的具体信息,登录任意节点查询得到的结果一致。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | SELF_ID | BIGINT | 活动事务 ID |
2 | EP_SEQNO | INTEGER | 可见事务所在节点号 |
3 | ACTIVE_ID | BIGINT | 所见的事务活动事务 ID |
14.2.26 V$ASMATTR
如果使用有 ASM 文件系统,可通过此视图查看 ASM 文件系统相关属性,登录任意节点查询得到的结果一致。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | AU_SIZE | INTEGER | 单个 AU 大小,单位为字节 |
2 | EXTENT_SIZE | INTEGER | 一个簇包含的 AU 个数 |
3 | LOCAL_CODE | VARCHAR(64) | 当前所连接的 ASMSERVER 的编码格式 |
4 | LOCAL_LANG | VARCHAR(64) | 当前所连接的 ASMSERVER 使用的语言: CN:中文 EN:英文 |
5 | USE_SHM | VARCHAR(8) | 是否使用共享内存,TRUE/FALSE |
14.2.27 V$ASMGROUP
如果使用有 ASM 文件系统,可通过此视图查看 ASM 磁盘组信息,登录任意节点查询得到的结果一致。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | GROUP_ID | INTEGER | 磁盘组 ID |
2 | GROUP_NAME | VARCHAR(128) | 磁盘组名称 |
3 | N_DISK | INTEGER | 磁盘组中包含的磁盘个数 |
4 | AU_SIZE | INTEGER | 单个 AU 大小,单位为字节 |
5 | EXTENT_SIZE | INTEGER | 一个簇包含的 AU 个数 |
6 | TOTAL_SIZE | INTEGER | 磁盘组总大小,单位为 M |
7 | FREE_SIZE | INTEGER | 磁盘组空闲大小,单位为 M |
8 | TOTAL_FILE_NUM | INTEGER | 磁盘组中总的文件个数,包括文件和目录 |
14.2.28 V$ASMDISK
如果使用有 ASM 文件系统,可通过此视图查看所有的 ASM 磁盘信息,登录任意节点查询得到的结果一致。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | GROUP_ID | INTEGER | 所在的磁盘组 ID, 如果是未使用的磁盘,则值为-1 |
2 | DISK_ID | INTEGER | 磁盘 ID, 如果是未使用的磁盘,则值为-1 |
3 | DISK_NAME | VARCHAR(128) | 磁盘名称 |
4 | DISK_PATH | VARCHAR(256) | 磁盘路径 |
5 | SIZE | BIGINT | 磁盘大小,单位为 M |
6 | FREE_AUNO | BIGINT | 磁盘最大 AU 号 |
7 | CREATE_TIME | VARCHAR(64) | 磁盘创建时间 |
8 | MODIFY_TIME | VARCHAR(64) | 磁盘最近一次修改时间 |
14.2.29 V$ASMFILE
如果使用有 ASM 文件系统,可通过此视图查看所有的 ASM 文件信息,登录任意节点查询得到的结果一致。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | FILE_ID | BIGINT | 文件 ID |
2 | TYPE | VARCHAR(32) | 类型,目录或文件 |
3 | PATH | VARCHAR(256) | 文件完整路径 |
4 | SIZE_BYTES | BIGINT | 文件实际大小,单位为字节, 目录类型的文件不占用空间,值为 0 |
5 | SIZE_TOTAL | BIGINT | 文件占用总空间大小,单位为字节, 目录类型的文件不占用空间,值为 0 |
6 | CREATE_TIME | VARCHAR(64) | 文件创建时间 |
7 | MODIFY_TIME | VARCHAR(64) | 文件修改时间 |
8 | GROUP_ID | INTEGER | 所在磁盘组 ID |
9 | DISK_ID | INTEGER | inode 项所在磁盘 ID |
10 | DISK_AUNO | INTEGER | inode 项所在磁盘 AU 编号 |
11 | AU_OFFSET | INTEGER | inode 项在 AU 内的偏移 |
14.2.30 V$DCR_INFO
查看 DCR 配置的全局信息,登录任意节点查询得到的结果一致。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | VERSION | INTEGER | DCR 版本号 |
2 | N_GROUP | INTEGER | DCR 配置的组个数 |
3 | VTD_PATH | VARCHAR(256) | Voting Disk 路径 |
4 | UDP_FLAG | INTEGER | 是否使用 UDP 心跳机制,已无效 |
5 | UDP_OGUID | BIGINT | 校验用 |
14.2.31 V$DCR_GROUP
查看 DCR 配置的组信息,登录任意节点查询得到的结果一致。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | GROUP_TYPE | VARCHAR(32) | 组类型,CSS/ASM/DB |
2 | GROUP_NAME | VARCHAR(128) | 组名称 |
3 | N_EP | INTEGER | 组中配置的 EP 个数 |
4 | DSKCHK_CNT | INTEGER | 磁盘容错时间,单位秒 |
5 | NETCHK_TIME | INTEGER | 网络容错时间,单位秒 |
14.2.32 V$DCR_EP
查看 DCR 配置的节点信息,登录任意节点查询得到的结果一致。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | GROUP_NAME | VARCHAR(128) | 节点所属的组名 |
2 | EP_NAME | VARCHAR(128) | 节点名称 |
3 | EP_SEQNO | INTEGER | 节点的组内序号: 对 CSS/ASM 组的节点,是自动分配的序号,对 DB 组的节点,如果没有配置,也是自动分配的序号,否则是实际的配置序号 |
4 | EP_HOST | VARCHAR(128) | 节点的 IP 地址,对 CSS/ASM 组的节点有效,表示登录节点的 IP 地址 |
5 | EP_PORT | INTEGER | 节点的 TCP 监听端口,对 CSS/ASM 组的节点有效,对应登录节点的端口号 |
6 | UDP_PORT | INTEGER | 节点的 UDP 监听端口,已无效 |
7 | SHM_KEY | INTEGER | 共享内存标识,初始化共享内存的标识符,对 ASM 组的节点有效 |
8 | SHM_SIZE | INTEGER | 共享内存大小,单位 M,初始化共享内存大小,对 ASM 组的节点有效 |
9 | ASM_LOAD_PATH | VARCHAR(256) | ASM 磁盘扫描路径,对 ASM 组的节点有效 |
14.2.33 V$DSC_REQUEST_STATISTIC
统计 DSC 环境内 TYPE 类型请求时间,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | TYPE | VARCHAR(64) | 请求类型 |
2 | TOTAL_REQUEST_COUNT | BIGINT | 总请求次数 |
3 | MAX_REQUEST_TIME | INTEGER | 最大请求时间,单位为微秒 |
4 | MIN_REQUEST_TIME | INTEGER | 最小请求时间,单位为微秒 |
5 | AVERAGE_REQUEST_TIME | INTEGER | 平均请求时间,单位为微秒 |
6 | AVERAGE_RLOG_FLUSH_TIME | INTEGER | 平均等待日志刷盘时间,单位为微秒 |
14.2.34 V$DSC_REQUEST_PAGE_STATISTIC
统计 lbs_XX 类型最耗时的前 100 页地址信息,仅显示登录节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | TYPE | VARCHAR(64) | 请求类型 |
2 | TS_ID | INTEGER | 表空间 ID |
3 | FILE_ID | INTEGER | 文件 ID |
4 | PAGE_NO | INTEGER | 页号 |
5 | REQUEST_TIME | INTEGER | 花费时间,单位为微秒 |
14.2.35 V$DSC_CRASH_OVER_INFO
显示 DSC 环境各节点数据页最小 first_modified_lsn,以及故障节点 file_lsn。
如果活动节点 buffer 中不存在更新页则 min_first_modified_lsn 为 NULL;节点故障后,只有在所有 OK 节点 min_first_modified_lsn 都大于或等于故障节点 file_lsn 之后,才允许故障节点重加入;满足所有 OK 节点 min_first_modified_lsn 都大于 crash_lsn 之后,crash_lsn 会清零。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | EP_SEQNO | INTEGER | DSC 节点号 |
2 | OK_FLAG | INTEGER | 节点是否 OK |
3 | MIN_FIRST_MODIFIED_LSN | BIGINT | 最小 first_modified_lsn |
4 | CRASH_LSN | BIGINT | 内存中记录的故障节点 file_lsn |