相关系统表和动态视图

下面这些系统表和动态视图,只有 SP 和 MP 上才能查询到。其中,在 SP 上查询到的是整个集群所有站点的信息,在 MP 上查询到的只有 MP 站点自身的信息。

12.1 DPC_NETWORK

记录网段信息。

序号 数据类型 说明
1 PARA_NAME VARCHAR(128) 参数名。
COMPRESS_LEVEL 消息压缩级别,取值范围 0~10。0 表示不压缩;1 表示压缩速度最快但是压缩效率最低;10 表示压缩速度最慢但是压缩率最高,默认 0;
CRC_CHECK 消息的 CRC 检验;
MONITOR_XLNK_TIME 监控链路消息收发用时,单位微秒;
TIMEOUT 通信超时,单位为秒;
XLNK_NUM 链路数
2 PARA_VALUE VARCHAR(128) 参数值

12.2 DPC_HOST

记录主机信息。

序号 列名 列类型 含义
1 ID INT 主机号
2 NAME VARCHAR(128) 主机名
3 DESCRIPTION VARCHAR(256) 描述信息

12.3 DPC_HOST_ADDR

记录主机上多块网卡的地址信息。

序号 列名 列类型 含义
1 ID INT 主机号
2 NET_ID INT 网段号
3 NET_ADDR VARCHAR(64) IP 地址

12.4 DPC_FOLDER

记录 BP 域相关的主机的目录信息。

序号 列名 列类型 含义
1 ID INT 目录号
2 DOMAIN_ID INT 域号
3 NAME VARCHAR(128) 目录名
4 HOST_ID INT 主机号
5 PATH VARCHAR(256) 路径
6 DESCRIPTION VARCHAR(256) 描述信息
7 XMAL_PORT INT XMAL 通信端口号

12.5 DPC_BP_DOMAIN

记录 BP 域信息。

序号 列名 列类型 含义
1 ID INTEGER BP 域号
2 NAME VARCHAR(128) 域名
3 DESCRIPTION VARCHAR(256) 描述信息

12.6 DPC_DOMAIN_FOLDER

记录每个域内包含的所有目录信息。

序号 列名 列类型 含义
1 DOMAIN_ID INT 域号
2 FOLDER_ID INT 目录号
3 BP_XMAL_PORT INT XMAL 通信端口号

12.7 DPC_FOLDER_INSTANCE

记录每个目录下的所有实例号信息。

序号 列名 列类型 含义
1 FOLDER_ID INT 目录号
2 INSTANCE_ID INT 实例号

12.8 DPC_BP_GROUP

记录系统中注册的每个 BP 组信息。

序号 列名 列类型 含义
1 ID INTEGER BP 组号
2 NAME VARCHAR(128) BP 组名
3 DESCRIPTION VARCHAR(256) 描述信息
4 RAFT_NUM INTEGER 包含 RAFT 组的个数
5 RAFT_INFO VARBINARY(2048) 包含的所有 RAFT 组的 Id 信息
6 INFO1 INTEGER 预留字段
7 INFO2 BIGINT 预留字段
8 INFO3 VARBINARY(1024) 预留字段

12.9 DPC_BP_RAFT

记录系统中注册的每个 RAFT 组信息。

序号 列名 列类型 含义
1 RAFT_ID INT RAFT 组号
2 GROUP_ID INT 本字段废弃,全部记为-1,无意义
3 DPC_MODE VARCHAR(8) DMDPC 模式
4 NAME VARCHAR(128) RAFT 组名
5 IS_VALID INT BP 节点是否有效(节点是否可用,0 无效,1 有效)
6 INFO1 INT 预留字段
7 INFO2 BIGINT 预留字段
8 INFO3 VARBINARY(1024) 预留字段

12.10 DPC_INSTANCE

记录系统中所有实例对象信息。

序号 列名 列类型 含义
1 RAFT_ID INT 系统内部 RAFT 组号。取值范围:0~1023
2 INST_ID INT 系统内部实例号。取值范围:4096~8191
3 NAME VARCHAR(128) 实例名
4 DPC_MODE VARCHAR(8) DMDPC 模式。取值:MP,SP 或 BP
5 XMAL_PORT INT XMAL 通信端口号。用户通过 SP_CREATE_DPC_INSTANCE 中 AP_PORT 注册时配置,取值范围:1024~65534
6 INST_PORT INT 实例端口。用户通过 SP_CREATE_DPC_INSTANCE 中 INST_PORT 注册时配置,取值范围:1024~65534
7 IP_INTERNAL VARCHAR(512) 实例内网 IP 地址
8 SYS_MODE VARCHAR(32) 系统模式
9 SYS_STATUS INT 系统状态。1:启动;2:启动,redo 完成;3:MOUNT;4:打开;5:挂起;6:关闭
10 STATUS INT 实例状态。1:有效;0:无效;2:SP 正常退出标记;4:SP 灰度升级。仅对 SP 有效
11 DESCRIPTION VARCHAR(256) 描述信息
12 IP_EXTERNAL VARCHAR(512) 实例外网 IP 地址
13 INFO1 INT 预留字段
14 INFO2 BIGINT 预留字段
15 INFO3 VARBINARY(1024) 预留字段

12.11 DPC_NET_CONF

记录连接配置参数。

序号 数据类型 说明
1 PARA_NAME VARCHAR(128) 参数名。
MONITOR_XLNK_TIME 监控链路消息收发用时,单位微秒;
TIMEOUT 通信超时,单位为秒;
XLNK_NUM 链路数
2 PARA_VALUE VARCHAR(128) 参数值

12.12 DPC_TABLESPACE

记录 DMDPC 系统的用户表空间。

序号 数据类型 说明
1 TS_ID INT 全局表空间 ID,全局唯一
2 RAFT_ID INT RAFT 组 ID
3 STATE INT 表空间状态。0:联机状态;1:脱机状态
4 NAME VARCHAR(256) 表空间名,主键
5 INFO1 INT 预留字段
6 INFO2 BIGINT 预留字段
7 INFO3 VARBINARY(1024) 预留字段

12.13 DPC_HTS

记录 DMDPC 系统的用户 HUGE 表空间。

序号 数据类型 说明
1 TS_ID INT 全局表空间 ID,全局唯一
2 RAFT_ID INT RAFT 组 ID
3 STATE INT 表空间状态。0:联机状态;1:脱机状态
4 NAME VARCHAR(256) 表空间名,主键
5 INFO1 INT 预留字段
6 INFO2 BIGINT 预留字段
7 INFO3 VARBINARY(1024) 预留字段

12.14 V$DPC_STASK_THRD

查看每个子任务、每个线程的执行统计信息。当 DM.INI 参数 ENABLE_MONITOR=1 时有效。

序号 数据类型 说明
1 EXEC_ID INTEGER 执行号
2 MPP_EXEC_ID INTEGER 内部的表示执行号
3 STASK_NO INTEGER 子任务序号
4 THRD_NO INTEGER 工作线程序号
5 PLAN_NO INTEGER 子计划序号
6 START_TIME DATETIME(0) 当前线程的开始工作时间
7 TIME_USED BIGINT 当前线程执行子任务的耗时,单位毫秒
8 FIRST_ROW_USED BIGINT 返回第一行数据的耗时,单位毫秒
9 N_ROWS_SEND BIGINT 子任务输出的行数,对于 HTAB 操作符为存储的行数
10 N_BYTES_SEND BIGINT 子任务输出的数据大小,字节为单位
11 N_ROWS_RECV VARCHAR(1024) 如果子任务有 ERECV 操作符,展示接收的行数
12 P_WAIT_TIMES VARCHAR(1024) 打开限流时,请求资源操作的等待次数。未打开限流时,此值无意义
13 IS_OVER CHAR(1) 工作线程执行是否结束。Y 是;N 否
14 THRD_ID BIGINT 工作线程 ID
15 SESS_ID BIGINT 会话号

例如,查看执行号 16777624 的执行情况。

select * from v$dpc_stask_thrd where exec_id  = 16777624;

由于 V$dpc_stask_thrd 记录的是原始信息,我们也可以在它的基础上定义视图方便查看。

例如,创建一个视图 v_eet,将 V$DPC_STASK_THRD 中的信息,通过 v_eet 展示出来。

create or replace view v_eet as select y.name name, 
                                       exec_id, 
                                       mpp_exec_id, 
                                       stask_no, 
                                       thrd_no, 
                                       cast(start_time as varchar(30)) as START_TIME, 
                                       time_used as TIME_USED_IN_MS, 
                                       first_row_used as FIRST_ROW_IN_MS, 
                                       n_rows_send as SENT_ROWS,
                                       case when n_bytes_send > 1024 * 1024 * 1024 then cast(n_bytes_send / 1024.0 / 1024 / 1024 as decimal(38,3)) || 'G' 
                                            when n_bytes_send > 1024 * 1024 then cast(n_bytes_send / 1024.0 / 1024 as decimal(38,3)) || 'M' 
                                            when n_bytes_send = 0 then 0 
                                            else cast(n_bytes_send / 1024.0 as decimal(38,3)) || 'K' end as SENT,
                                       n_rows_recv as RECV_ROWS,
                                       is_over
                                 from SYS.V$DPC_STASK_THRD x, SYS.DPC_BP_RAFT y
                                 where SF_GET_EP_SEQNO(x.rowid) = y.raft_id
                                 order by stask_no, name, thrd_no;

通过 v_eet 查看执行事务号为 16777624 的执行语句的执行时间。

select * from v_eet where exec_id = 16777624;

查看结果:

图 12.1 执行语句的统计信息.jpg

图12.1 执行语句的统计信息

从上图观察同一个 stask_no 的不同 thrd_no 线程的执行时间(TIME_USED_IN_MS),可以大概看出工作线程间的负载是否均衡,哪一个子任务耗时最久等信息。

通过观察 SENT_ROWS、SENT 和 RECV_ROWS 字段信息,可以看到每个线程发送、接收的数据量,分析出是否数据分布不均匀。比如某个子任务并行度为 2、THRD_NO=0 的线程接收了 1000000 记录,THRD_NO=1 的线程接收了 500 条记录,差别这么大的情况下我们可以继续分析数据来源,为何会存在这么大的不均衡。

例如,执行事务号 16777624 对应的绿色区域为最根层子任务(stask_no 等于-1),安排了一个工作线程,耗时 78 毫秒。

红色区域为子任务 0,共安排了 8 个线程调度执行,耗时最久的为 2 号线程用时 16ms,其余都是 0ms。由于子任务 0 工作量不大,所以这点差距可以忽略。

假设某个子任务工作量很大的前提下,不同线程完成的时间差距很大,这时可以先观察 START_TIME,查看线程是否同时被调度?接收、发送行数是否均衡?

通过调整数据分布和工作线程个数,或者改变数据分发方式,我们可以对数据负载做出一定程度的均衡。

12.15 V$RLOG_RAFT_INFO

查询当前节点的选举状态和日志提交信息。配置成多副本系统的情况下,V$RLOG_RAFT_INFO 的值才是真实有效的,非多副本系统情况下,V$RLOG_RAFT_INFO 的值无实际意义。

序号 数据类型 说明
1 TERM_ID INTERGER 当前节点所处的任期号
2 STATE VARCHAR(16) 当前节点所处的角色
3 LEADER VARCHAR(256) 当前的主库(领导者)实例名
4 LOG_TERM_ID INTEGER 当前节点已经刷盘的任期号
5 C_SEQ BIGINT 当前节点已经提交到的日志包序号
6 C_LSN BIGINT 当前节点已经提交到的 LSN 值
7 F_SEQ_ARR VARCHAR(2048) 所有实例已经刷盘完成的日志包序号数组,仅在主库上查询才有效
8 F_LSN_ARR VARCHAR(2048) 所有实例已经刷盘完成的 LSN 数组,仅在主库上查询才有效
9 H_SEQ BIGINT 主节点已经提交到的日志包序号
10 H_LSN BIGINT 主节点已经提交到的 LSN 值
11 NEED_WAIT VARCHAR(8) 备库是否达到日志堆积上限,仅在主库上查询才有效
12 SELF_STATUS VARCHAR(8) 当前节点实例状态是否有效,仅在主库上查询才有效
13 HP_FLAG VARCHAR(8) 当前节点日志是否堆积
14 SWITCH_TIME VARCHAR(50) 当前节点上一次模式切换的时间
15 ARCH_CHG_FLAG VARCHAR(16) 当前节点是否在执行节点变更
16 ARCH_CHG_STAT VARCHAR(32) 当前节点所处的变更状态
17 DEST_ID_ARR VARCHAR(2048) 当前节点实例 ID 数组。与 F_SEQ_ARRJ 和 F_LSN_ARR 一一对应
18 RAFT_SHADOW INTERGER 当前节点是否是影子库,0:RAFT 库;1:影子库

例如,查询当前节点的所有选举状态及日志提交信息。

SQL> select * from v$rlog_raft_info;
//查询结果如下:
行号       TERM_ID     STATE  LEADER LOG_TERM_ID C_SEQ                C_LSN                F_SEQ_ARR          F_LSN_ARR          H_SEQ                H_LSN                NEED_WAIT SELF_STATUS HP_FLAG SWITCH_TIME ARCH_CHG_FLAG ARCH_CHG_STAT DEST_ID_ARR RAFT_SHADOW
---------- ----------- ------ ------ ----------- -------------------- -------------------- ------------------ ------------------ -------------------- -------------------- --------- ----------- ------- -----------------------
1          1           LEADER BP1    1           2501                 6935                 (2501, 2501, 2501) (6935, 6935, 6935) 2501                 6935                 FALSE     VALID       FALSE   2022-01-21 09:36:53.685 FALSE C_NORMAL (1,2,3) 0

已用时间: 1.271(毫秒). 执行号:1.

当某一备库故障,主备启动后还未进行过正常同步,在主库上查询到对应库 F_SEQ 及 F_LSN 将为 0。此时备库处于失效状态。对于集群而言,只要存活节点数目超过半数整个集群就是正常的。

例如,备库 RAFT_03 已失效,但在集群中仍有两个节点正常超过半数,但此时整个集群仍可对外正常工作。

SQL> select * from v$rlog_raft_info;
//查询结果如下:
行号       TERM_ID     STATE  LEADER LOG_TERM_ID C_SEQ                C_LSN                F_SEQ_ARR          F_LSN_ARR          H_SEQ                H_LSN                NEED_WAIT SELF_STATUS HP_FLAG SWITCH_TIME ARCH_CHG_FLAG ARCH_CHG_STAT DEST_ID_ARR RAFT_SHADOW
---------- ----------- ------ ------ ----------- -------------------- -------------------- ------------------ ------------------ -------------------- -------------------- --------- ----------- ------- -----------------------
1          1           LEADER BP1    1           2501                 6935                 (2501, 2501, 0) (6935, 6935, 0) 2501                 6935                 FALSE     VALID       FALSE   2022-01-21 09:36:53.685 FALSE C_NORMAL (1,2,3) 0

已用时间: 1.271(毫秒). 执行号:1.

12.16 V$SQL_NODE_HISTORY

通过该视图既可以查询 sql 执行节点信息,包括 sql 节点的类型、进入次数和使用时间等等;又可以查询所有执行的 sql 节点执行情况,如哪些使用最频繁、耗时多少等。

当 INI 参数 ENABLE_MONITOR 和 MONITOR_SQL_EXEC 都开启时,才会记录 SQL 执行节点信息。如果需要时间统计信息,还需要打开 MONITOR_TIME。

序号 数据类型 说明
1 SEQ_NO INTEGER 序列号
2 EXEC_ID INTEGER 执行 ID
3 NODE BIGINT 节点 ID
4 TYPE$ INTEGER 节点类型
5 BYTES_DYNAMIC_ALLOCED BIGINT 动态分配字节数
6 BYTES_DYNAMIC_FREED BIGINT 动态释放字节数
7 N_ENTER INTEGER 节点进入次数
8 TIME_USED INTEGER 节点执行所耗时
9 PLN_OP_ID INTEGER MPP 模式下,节点所属通讯操作符中的序号
10 BYTES_SEND INTEGER 发送的字节数
11 BYTES_RECV INTEGER 接收的字节数
12 ROWS_SEND INTEGER 发送的行数
13 ROWS_RECV INTEGER 接收的行数
14 BDTA_SEND INTEGER 发送 BDTA 的次数
15 BDTA_RECV INTEGER 接收 BDTA 的次数
16 MAL_ID BIGINT 邮件标识号
17 MPP_EXEC_ID INTEGER MPP 会话句柄上的执行序号,同一个会话上的每个节点上值相同
18 STASK_NO INTEGER 节点所在的子任务号
19 THRD_NO INTEGER 节点所在的线程号

12.17 V$DPC_MP_CFG

记录 RAFT 组内的 MP 实例信息。由于一个 RAFT 内最多 9 个实例,因此最多 9 条记录。

序号 数据类型 说明
1 INST_NAME VARCHAR(128) 实例名
2 IP_ADDRESS VARCHAR(128) IP 地址
3 MP_PORT SMALLLINT MP_PORT
4 RECONN_TIMEOUT INT 连接 MP 失败时,尝试重连的超时时间,单位为 s。缺省为-2 表示无限制(MP_RECONN_TIMEOUT 可取值中的最大值‬‬‬‬‬)‬。该值由 MP.INI 中参数 MP_RECONN_TIMEOUT 来设置

12.18 V$DPC_QC_HISTORY

记录查询调度总单元 QC 的历史信息。

序号 数据类型 说明
1 SESS_ID BIGINT 和 V$SESSIONS 的 SESS_ID 字段匹配
2 SESS_SEQ INTEGER 和 V$SESSIONS 的 SESS_SEQ 字段匹配
3 EID BIGINT ESESSION 的 ID
4 THRD_ID BIGINT 创建 QC 的线程 ID
5 STMT_ID INTEGER 句柄 ID
6 EXEC_ID INTEGER 执行 ID
7 MPP_EXEC_ID INTEGER 内部执行 ID
8 SQC_EXEC_ID INTEGER 内部执行 ID,当函数调用包含 SQL 时,每一行调用时取值会不同
9 N_STASK INTEGER 子任务的个数
10 IDU_FLAG VARCHAR(6) 增删改的优化标记
11 N_BP INTEGER 计划涉及到的集群中节点个数,可能包含 SP、BP、MP
12 N_HTAB INTEGER 子计划中 HTAB 操作符的个数
13 N_SPL INTEGER 子计划中 SPOOL 操作符的个数
14 N_DPP INTEGER 子计划中涉及的动态分区裁剪参数个数
15 IS_OVER CHAR(1) 是否执行结束。Y 是;N 否

12.19 V$ARCH_STATUS

查询归档状态信息,归档状态是由主库记录和维护的,此视图只在主库上查询有效,备库上的查询结果没有实际意义。

序号 数据类型 说明
1 ARCH_TYPE VARCHAR(256) 归档类型
2 ARCH_DEST VARCHAR(256) 归档目标,本地归档和 REMOTE 归档为归档路径,其他类型为归档目标实例名。
3 ARCH_STATUS VARCHAR(256) 归档状态,Valid 为有效状态,Invalid 为无效状态。
4 ARCH_SRC VARCHAR(256) 对 REMOTE 归档为源实例名,对其他归档类型为本地实例名

12.20 V$DPC_EGTS_MP_INFO

MP 上记录的各 SP 和 BP 的全局时钟系统(GTS)信息。

序号 列名 列类型 含义
1 RAFT_ID INT SP 和 BP 的 RAFT_ID
2 STAT VARCHAR(20) 状态(OPEN/SHUTDOWN/CONN_LOST)
3 MIN_TID BIGINT 最小 TRXID
4 N_LONG INT 长事务个数
5 LAST_CHECK_TICK BIGINT 上次检查的 TICK 计数

12.21 V$DPC_ENET_HISTORY

获取 ENET 模块更新各个节点的设置历史。

序号 列名 列类型 含义
1 SELF_RAFT_ID INT 自身的 RAFT_ID
2 SELF_INST_ID INT 自身的 INST_ID
3 DEST_RAFT_ID INT 目标的 RAFT_ID
4 DEST_INST_ID INT 目标的 INST_ID
5 TYPE VARCHAR(20) 操作类型(SET/RELEASE)
6 SITE_ARRD VARBINARY(8) 节点 XSITE 的内存地址
7 DESC VARCHAR(30) 变更原因描述
8 TIME TIMESTAMP 变更发生的时间

12.22 V$ARCH_SYS

获取全局归档配置信息。

序号 列名 列类型 含义
1 ARCH_COUNT INT 归档数目
2 ARCH_CFG_CHANGING INT 归档变更标记
3 ARCH_WAIT_APPLY INT 全局事务一致标记
4 RAFT_SELF_ID INT 自身 RAFT 归档序号,仅 RAFT 归档有效
5 XMAL_IP VARCHAR(64) RAFT 归档通信 IP
6 XMAL_PORT INT RAFT 归档通信端口
7 XMAL_HB_INTERVAL INT RAFT 归档 XMAL 链路心跳检测间隔
8 RAFT_HB_INTERVAL INT RAFT 归档心跳检测间隔
9 RAFT_VOTE_INTERVAL INT RAFT 归档选举超时间隔
10 ARCH_RESERVE_TIME INT 归档保留时间。单位分钟
11 ARCH_LOCAL_SHARE INT 远程归档是否共享其它节点本地归档路径。0:否;1:是
12 ARCH_LOCAL_SHARE_CHECK INT 是否检查远程归档路径和其它节点本地归档路径相等。0:否;1:是

12.23 V$DM_ARCH_INI

归档参数信息。

序号 数据类型 说明
1 ARCH_NAME VARCHAR (128) 归档名称
2 ARCH_TYPE VARCHAR (128) 归档类型
3 ARCH_DEST VARCHAR (512) 对于 LOCAL 归档,表示归档路径;对于 REMOTE 归档,表示本节点归档要发送到的实例名;对于其余类型的归档,表示归档目标实例名
4 ARCH_FILE_SIZE INTEGER 归档文件大小
5 ARCH_SPACE_LIMIT INTEGER 归档文件的磁盘空间限制,单位 MB
6 ARCH_HANG_FLAG INTEGER 如果本地归档时磁盘空间不够,是否让服务器挂起。无实际意义,对本地归档类型和远程归档类型显示为 1,其他归档类型显示为 NULL
7 ARCH_TIMER_NAME VARCHAR (128) 对于异步归档,表示定时器名称;其余类型归档显示 NULL
8 ARCH_IS_VALID CHAR(1) 归档状态,是否有效。0:否;1:是
9 ARCH_WAIT_APPLY INTEGER 在主备系统中,主库发送归档日志给备库之前,是否需要等待备库将上一批日志重演完成。 0:为高性能模式,不用等待重演完成; 1:为数据一致模式,需等待重演完成。 如果为本地归档,因不需要重演,值定为 NULL
10 ARCH_INCOMING_PATH VARCHAR(256) 对 REMOTE 归档,表示远程节点发送过来的归档在本地的保存目录。其余类型归档显示 NULL
11 ARCH_CURR_DEST VARCHAR(256) 当前归档目标实例名。如果备库是 DMDSC 集群,则归档目标是备库控制节点,该字段表示当前被选定为归档目标的节点实例名。备库是单机的情况下,就是指的备库实例名
12 ARCH_FLUSH_BUF_SIZE INTEGER 归档刷盘日志包合并缓存大小。 单位为 KB
13 ARCH_RESERVE_TIME INTEGER 归档保留时间。单位分钟
14 ARCH_LOCAL_SHARE INTEGER 远程归档是否共享其它节点本地归档路径。0:否;1:是
15 ARCH_LOCAL_SHARE_CHECK INTEGER 是否检查远程归档路径和其它节点本地归档路径相等。0:否;1:是
16 ARCH_SEND_DELAY INTEGER 源库到异步备库的归档延时发送时间。单位分钟。取值范围 0~1440。缺省值 0,表示不启用归档延时发送功能
17 ARCH_DEST_IP VARCHAR(64) RAFT 归档目标 IP
18 ARCH_DEST_PORT INTEGER RAFT 归档目标端口
19 ARCH_DEST_ID INTEGER 归档目标多副本节点编号,用于标识多副本 RAFT 组中不同的节点

12.24 V$DPC_ESESS_STMTS

查询 DMDPC 系统内部所有 ESESSION 的所有语句句柄信息。ESESSION 为 SP 和其他节点之间的内部会话。该视图提供给达梦内部开发人员调试之用。

序号 数据类型 说明
1 STMT_ID INTERGER 句柄 ID
2 SESS_ID BIGINT 会话 ID
3 ESESS_ID BIGINT ESESSION 的 ID
4 PLAN_NO INTEGER 计划序号
5 SQC_EXEC_ID INTEGER 语句执行序号
6 N_BOXID_REUSE INTEGER 当前句柄上已分配的 BOXID
7 FREE_FLAG INTEGER 空闲句柄标记

12.25 V$DPC_EXA_INFO

查询当前连接的服务器正在自动处理的异步事务信息。

序号 数据类型 说明
1 TID BIGINT 异步处理事务 ID
2 STATUS INTEGER 事务处理状态
3 BRANCH_STATUS INTEGER 重构异步事务在来源站点的状态
4 CMTSEQ BIGINT 提交序号
5 ACKID BIGINT 异步处理通信标识
6 TICK BIGINT 开始异步处理的时间戳
7 N_RAFT INTEGER 事务涉及的站点数
8 RAFTID_ARR VARCHAR 事务涉及的站点 RAFT ID
9 STATUS_ARR VARCHAR 事务在各站点的分支事务状态

12.26 V$DPC_ROT_INFO

查询集群各个节点已加载的只读表信息。此外,可以通过 SF_GET_EP_SEQNO(ROWID);查看本视图数据所在实例的 RAFT_ID。

序号 数据类型 说明
1 ROT_TID INTEGER 只读表 ID
2 ROT_VERSION INTEGER 只读表版本号
3 TEMP_TID INTEGER 只读表对应的临时表 ID
4 TEMP_VERSION INTEGER 只读表对应的临时表版本号
5 LOAD_TIME DATETIME(0) 加载时间
6 LAST_USED_TIME DATETIME(0) 最后一次使用时间

12.27 V$DPC_ESESS

查询 DMDPC 系统内部所有 ESESSION 的信息。ESESSION 为 SP 和其他节点之间的内部会话。

序号 数据类型 说明
1 EID BIGINT 会话 ID
2 SRC_SITEID INTEGER 对应 SP 的 RAFT_ID
3 BP_CTL_BOXID INTEGER BP 端 ESESS 会话用于接收消息的消息盒子号
4 TRX_BOXID INTEGER SP 上用于处理事务使用的消息盒子号
5 SESS_ID BIGINT 对应会话的 ID
6 M_EID BIGINT 目前未使用(废弃字段),全是 NULL
7 N_SITE INTEGER 缓存的远程站点对象数
8 N_TRX_SITE INTEGER 当前事务涉及的节点个数
9 ETHD_GRP_ID INTEGER ESESS 对应的线程池编号,非 ethd 线程为-1
10 THRD_ID INTEGER ESESS 对应的线程号,不与线程关联时为-1

12.28 V$DPC_EDCT_RAFT

查询 DMDPC 系统各节点内存中记录的 RAFT 信息。MP 上的信息对应 DPC_BP_RAFT 系统表的内容。SP 和 BP 上的内容是 MP 发送过来的。

序号 数据类型 说明
1 RAFT_ID INTEGER RAFT 组号
2 DPC_MODE VARCHAR(8) DMDPC 模式
3 IS_VALID INTEGER BP 节点是否有效(节点是否可用,0 无效,1 有效)
4 NAME VARCHAR(128) RAFT 组名
5 L_TERM_ID BIGINT 主库的任期号
6 DISCARD_TICK BIGINT 废弃时的 tick 时间值

12.29 V$DPC_EDCT_INSTANCE

查询 DMDPC 系统各节点内存中记录的实例信息。MP 上的信息对应 DPC_INSTANCE 系统表的内容。SP 和 BP 上的内容是 MP 发送过来的。

序号 数据类型 说明
1 RAFT_ID INTEGER 系统内部 RAFT 组号。取值范围:0~1023
2 INST_ID INTEGER 系统内部实例号。取值范围:4096~8191
3 NAME VARCHAR(128) 实例名
4 DPC_MODE VARCHAR(8) DMDPC 模式。取值范围:MP,SP 或 BP
5 XMAL_PORT INTEGER XMAL 通信端口号。用户通过 SP_CREATE_DPC_INSTANCE 中 AP_PORT 注册时配置,取值范围:1024~65534
6 INST_PORT INTEGER 实例端口。用户通过 SP_CREATE_DPC_INSTANCE 中 INST_PORT 注册时配置,取值范围:1024~65534
7 IP_INTERNAL VARCHAR(512) 实例内网 IP 地址
8 IP_EXTERNAL VARCHAR(512) 实例外网 IP 地址
9 SYS_MODE VARCHAR(32) 系统模式
10 SYS_STATUS INTEGER 系统状态。1:启动;2:启动,redo 完成;3:MOUNT;4:打开;5:挂起;6:关闭
11 STATUS INTEGER 实例状态。1:有效;0:无效;2:SP 正常退出标记,仅对 SP 有效
12 AUX_SP CHAR 是否辅助 SP
13 DISCARD_TICK BIGINT 废弃时的 tick 时间值
14 DESCRIPTION VARCHAR(256) 描述信息

12.30 V$EHTD_GRP

用于查看 DMDPC 系统各节点的 ESESS 线程池信息。

序号 数据类型 说明
1 ID INTEGER 线程池 ID
2 N_USED_THRD INTEGER 当前所有正在使用线程的数量
3 N_THRD INTEGER 线程池中线程总数量
4 N_ESESS_TODO INTEGER 当前线程池中待处理的 ESESS 请求数量
5 N_ESESS_WAIT INTEGER 线程池中锁等待的线程数量

12.31 V$TABLE_ROWCNT_CACHE

显示 DMDPC 系统中各节点中的缓存表行数情况。

序号 数据类型 说明
1 TAB_ID INTEGER 表 ID
2 ROWCNT BIGINT 表行数
3 ACCESS_NUM INTEGER 访问次数

12.32 V$DPC_TS_MOVE

查询 DMDPC 系统当前表空间迁移进度等信息。

序号 数据类型 说明
1 TS_ID INTEGER 表空间 ID
2 READ_ONLY INTEGER 只读迁移标记。1:只读,0:读写
3 SRC_RAFT_ID INTEGER 表空间迁移源 RAFT_ID
4 DEST_RAFT_ID INTEGER 表空间迁移目标 RAFT_ID
5 BP_TS_CRT_LSN BIGINT 目标 BP 主库创建 TS 后的 CUR_LSN。
6 START_TIME TIMESTAMP 开始迁移时间
7 DURING_TIME BIGINT 从开始迁移的持续的时间(秒)
8 PROGRESS_TYPE VARCHAR(128) 当前进行的操作进度类型。PROGRESS_TYPE 为字符串类型,其值包含 2 部分:[当前进度类型:进度值][当前进度序号/迁移总进度值]。 进度类型包括:字典封锁(LOCK_DICT)、表空间清理(PURG_TS)、执行检查点(CHECKPOINT)、文件拷贝(FILE_COPY)、日志重演(APPLY_ARCH)。例如:**[FILE_COPY:1442818560/2097152000(%68)][2/6]**表示处于文件拷贝阶段,已经拷贝的字节数/总字节数(完成百分比),处于 6 阶段中的第 2 阶段; **[APPLY_ARCH:1][3/6]**表示处于重演日志阶段,第 1 次重演,处于 6 阶段中的第 3 阶段
微信扫码
分享文档
扫一扫
联系客服