可在 SP、BS 模式的 BP、MP 节点查询下列系统表和动态试图。在 SP、BS 模式的 BP 节点可查询到的是整个集群所有站点的信息,在 MP 上查询到的只有 MP 站点自身的信息。
12.1 DPC_NETWORK
记录网段信息。
序号 | 列名 | 列类型 | 含义 |
---|---|---|---|
1 | ID | INTEGER | 网段号 |
2 | NAME | VARCHAR(128) | 网段名称 |
3 | PREFIX | VARCHAR(64) | 前缀,如 192.168.0 |
4 | DESCRIPTION | VARCHAR(256) | 描述信息 |
12.2 DPC_HOST
记录主机信息。
序号 | 列名 | 列类型 | 含义 |
---|---|---|---|
1 | ID | INTEGER | 主机号 |
2 | NAME | VARCHAR(128) | 主机名 |
3 | DESCRIPTION | VARCHAR(256) | 描述信息 |
12.3 DPC_HOST_ADDR
记录主机上多块网卡的地址信息。
序号 | 列名 | 列类型 | 含义 |
---|---|---|---|
1 | ID | INTEGER | 主机号 |
2 | NET_ID | INTEGER | 网段号 |
3 | NET_ADDR | VARCHAR(64) | IP 地址 |
12.4 DPC_FOLDER
记录 BP 域相关的主机的目录信息。
序号 | 列名 | 列类型 | 含义 |
---|---|---|---|
1 | ID | INTEGER | 目录号 |
2 | DOMAIN_ID | INTEGER | 域号 |
3 | NAME | VARCHAR(128) | 目录名 |
4 | HOST_ID | INTEGER | 主机号 |
5 | PATH | VARCHAR(256) | 路径 |
6 | DESCRIPTION | VARCHAR(256) | 描述信息 |
7 | XMAL_PORT | INTEGER | 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 | INTEGER | 域号 |
2 | FOLDER_ID | INTEGER | 目录号 |
3 | BP_XMAL_PORT | INTEGER | XMAL 通信端口号 |
12.7 DPC_FOLDER_INSTANCE
记录每个目录下的所有实例号信息。
序号 | 列名 | 列类型 | 含义 |
---|---|---|---|
1 | FOLDER_ID | INTEGER | 目录号 |
2 | INSTANCE_ID | INTEGER | 实例号 |
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 | INTEGER | RAFT 组号 |
2 | GROUP_ID | INTEGER | 本字段废弃,全部记为-1,无意义 |
3 | DPC_MODE | VARCHAR(8) | DMDPC 模式 |
4 | NAME | VARCHAR(128) | RAFT 组名 |
5 | IS_VALID | INTEGER | BP 节点是否有效(节点是否可用,0 无效,1 有效) |
6 | INFO1 | INTEGER | 预留字段 |
7 | INFO2 | BIGINT | 预留字段 |
8 | INFO3 | VARBINARY(1024) | 预留字段 |
12.10 DPC_INSTANCE
记录系统中所有实例对象信息。
序号 | 列名 | 列类型 | 含义 |
---|---|---|---|
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 | SYS_MODE | VARCHAR(32) | 系统模式 |
9 | SYS_STATUS | INTEGER | 系统状态。1:启动;2:启动,redo 完成;3:MOUNT;4:打开;5:挂起;6:关闭 |
10 | STATUS | INTEGER | 实例状态。1:有效;0:无效;2:SP 正常退出标记;4:SP 灰度升级。仅对 SP 有效 |
11 | DESCRIPTION | VARCHAR(256) | 描述信息 |
12 | IP_EXTERNAL | VARCHAR(512) | 实例外网 IP 地址 |
13 | INFO1 | INTEGER | 预留字段。其中,这个字段的高 2 字节用来保存实例对应的容错域 id,用户可以执行 select info1>>16 fdom from DPC_INSTANCE;来查看结果 |
14 | INFO2 | BIGINT | 预留字段 |
15 | INFO3 | VARBINARY(1024) | 预留字段 |
12.11 DPC_NET_CONF
记录连接配置参数。
序号 | 列 | 列类型 | 说明 |
---|---|---|---|
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.12 DPC_TABLESPACE
记录 DMDPC 系统的用户表空间。
序号 | 列 | 列类型 | 说明 |
---|---|---|---|
1 | TS_ID | INTEGER | 全局表空间 ID,全局唯一 |
2 | RAFT_ID | INTEGER | RAFT 组 ID |
3 | STATE | INTEGER | 表空间状态。0:联机状态;1:脱机状态 |
4 | NAME | VARCHAR(256) | 表空间名,主键 |
5 | INFO1 | INTEGER | 预留字段 |
6 | INFO2 | BIGINT | 预留字段 |
7 | INFO3 | VARBINARY(1024) | 预留字段 |
12.13 DPC_HTS
记录 DMDPC 系统的混合表空间。
序号 | 列 | 列类型 | 说明 |
---|---|---|---|
1 | TS_ID | INTEGER | 全局表空间 ID,全局唯一 |
2 | RAFT_ID | INTEGER | RAFT 组 ID |
3 | STATE | INTEGER | 表空间状态。0:联机状态;1:脱机状态 |
4 | NAME | VARCHAR(256) | 表空间名,主键 |
5 | INFO1 | INTEGER | 预留字段 |
6 | INFO2 | BIGINT | 预留字段 |
7 | INFO3 | VARBINARY(1024) | 预留字段 |
12.14 DPC_FAULT_DOMAIN
记录系统中所有容错域对象信息。
序号 | 列名 | 列类型 | 含义 |
---|---|---|---|
1 | DOMAIN_ID | INTEGER | 系统内部容错域号。取值范围:1~4096 |
2 | NAME | VARCHAR(128) | 容错域名 |
3 | DESCRIPTION | VARCHAR(256) | 容错域描述 |
4 | INFO1 | INTEGER | 预留字段 |
5 | INFO2 | BIGINT | 预留字段 |
6 | INFO3 | VARBINARY(1024) | 预留字段 |
12.15 DPC_LONG_TRX
记录 DMDPC 中长事务相关信息。
序号 | 列名 | 列类型 | 含义 |
---|---|---|---|
1 | RAFT_ID | SMALLINT | 长事务所在的 RAFT 组号 |
2 | TYPE | SMALLINT | 长事务的类型(0:全局 min_tid;1:指定 raft_id 的一个长事务 id;2:mp 代理故障 sp 的 trxid) |
3 | TID | BIGINT | 长事务的 id |
4 | START_TIME | DATETIME | 长事务添加到系统表的时间 |
5 | INFO | VARCHAR(1024) | 预留字段 |
12.16 V$DPC_STASK_THRD
查看每个子任务、每个线程的执行统计信息。当 DM.INI 参数 ENABLE_MONITOR=1 时有效。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | EXEC_ID | BIGINT | 执行号 |
2 | MPP_EXEC_ID | BIGINT | 内部的表示执行号 |
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;
查看结果:
从上图观察同一个 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.17 V$RLOG_RAFT_INFO
查询当前节点的选举状态和日志提交信息。配置成多副本系统的情况下,V$RLOG_RAFT_INFO 的值才是真实有效的,非多副本系统情况下,V$RLOG_RAFT_INFO 的值无实际意义。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | TERM_ID | INTEGER | 当前节点所处的任期号 |
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_ARR 和 F_LSN_ARR 一一对应 |
18 | RAFT_SHADOW | INTEGER | 当前节点是否是影子库。0:否,为 RAFT 库;1:是,为影子库 |
19 | TOTAL_CACHE_TIME | BIGINT | 当前日志包总缓存时间。仅 RAFT 备库查询有效。单位:US |
12.18 V$SQL_NODE_HISTORY
通过该视图既可以查询 sql 执行节点信息,包括 sql 节点的类型、进入次数和使用时间等等;又可以查询所有执行的 sql 节点执行情况,如哪些使用最频繁、耗时多少等。
当 INI 参数 ENABLE_MONITOR 和 MONITOR_SQL_EXEC 都开启时,才会记录 SQL 执行节点信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | SEQ_NO | INTEGER | 操作符在计划中的序号,即 explain 显示执行计划时的行号 |
2 | EXEC_ID | BIGINT | 执行 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 | BIGINT | MPP 会话句柄上的执行序号,同一个会话上的每个节点上值相同 |
18 | HASH_USED_CELLS | BIGINT | 哈希表上使用的槽数 |
19 | HASH_CONFLICT | BIGINT | 哈希表上每个槽的冲突的个数 |
20 | STASK_NO | INTEGER | 节点所在的子任务号 |
21 | THRD_NO | INTEGER | 节点所在的线程号 |
22 | MEM_USED | BIGINT | 操作符使用的内存空间,单位 KB |
23 | DISK_USED | BIGINT | 操作符预期使用的磁盘空间,单位 KB |
24 | DHASH3_USED_CELLS | VARCHAR(500) | 动态哈希表中使用的槽数 |
25 | DHASH3_CONFLICT | VARCHAR(300) | 动态哈希表中的冲突情况 |
26 | HASH_SAME_VALUE | BIGINT | 开启哈希相同值挂链优化时,记录哈希表中相同值的总数,唯一值不纳入计数。例如:哈希表中存在一个 0 和两个相同值链 1—1—1、3—3,此时 HASH_SAME_VALUE=5 |
27 | SORT_BUF_ROWS | BIGINT | 排序操作符的排序缓冲区存放的总行数(关闭大内存排序时)或每路排序的行数(开启大内存排序时) |
28 | SORT_BUF_AVG_ROWSIZE | BIGINT | 排序操作符的排序缓冲区存放数据的预估平均行长,单位 Byte |
12.19 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 | INTEGER | 连接 MP 失败时,尝试重连的超时时间,单位为秒。-2 表示无限制(即 MP_RECONN_TIMEOUT 取最大值)。该值由 MP.INI 中参数 MP_RECONN_TIMEOUT 来设置 |
12.20 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 | BIGINT | 执行 ID |
7 | MPP_EXEC_ID | BIGINT | 内部执行 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.21 V$ARCH_STATUS
查询归档状态信息,归档状态是由主库记录和维护的,此视图只在主库上查询有效,备库上的查询结果没有实际意义。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | ARCH_TYPE | VARCHAR(256) | 归档类型 |
2 | ARCH_DEST | VARCHAR(256) | 归档目标,本地归档和 REMOTE 归档为归档路径,其他类型为归档目标实例名。 |
3 | ARCH_STATUS | VARCHAR(256) | 归档状态,Valid 为有效状态,Invalid 为无效状态,ASYNC_SEND 为异步恢复状态。 |
4 | ARCH_SRC | VARCHAR(256) | 对 REMOTE 归档为源实例名,对其他归档类型为本地实例名 |
12.22 V$DPC_EGTS_MP_INFO
MP 上记录的各 SP 和 BP 的全局时钟系统(GTS)信息。
序号 | 列名 | 列类型 | 含义 |
---|---|---|---|
1 | RAFT_ID | INTEGER | SP 和 BP 的 RAFT_ID |
2 | STAT | VARCHAR(20) | 状态(OPEN/SHUTDOWN/CONN_LOST) |
3 | MIN_TID | BIGINT | 最小 TRXID |
4 | N_LONG | INTEGER | 长事务个数 |
5 | LAST_CHECK_TICK | BIGINT | 上次检查的 TICK 计数 |
6 | PROXY_STAT | INTEGER | MP 代理故障 SP 的进度状态 |
7 | PROXY_VER | INTEGER | MP 代理时故障 SP 的网络版本 |
8 | PROXY_TID | BIGINT | MP 代理时的事务 ID,标识故障 SP 的最大事务 ID |
9 | PROXY_FLAG | INTEGER | MP 代理处理时广播 BP 的标记 |
12.23 V$DPC_ENET_HISTORY
获取 ENET 模块更新各个节点的设置历史。
序号 | 列名 | 列类型 | 含义 |
---|---|---|---|
1 | SELF_RAFT_ID | INTEGER | 自身的 RAFT_ID |
2 | SELF_INST_ID | INTEGER | 自身的 INST_ID |
3 | DEST_RAFT_ID | INTEGER | 目标的 RAFT_ID |
4 | DEST_INST_ID | INTEGER | 目标的 INST_ID |
5 | TYPE | VARCHAR(20) | 操作类型(SET/RELEASE) |
6 | SITE_ARRD | VARBINARY(8) | 节点 XSITE 的内存地址 |
7 | DESC | VARCHAR(30) | 变更原因描述 |
8 | TIME | TIMESTAMP | 变更发生的时间 |
12.24 V$ARCH_SYS
获取全局归档配置信息。
序号 | 列名 | 列类型 | 含义 |
---|---|---|---|
1 | ARCH_COUNT | INTEGER | 归档数目 |
2 | ARCH_CFG_CHANGING | INTEGER | 归档变更标记 |
3 | ARCH_WAIT_APPLY | INTEGER | 全局事务一致标记 |
4 | RAFT_SELF_ID | INTEGER | 自身 RAFT 归档序号,仅 RAFT 归档有效 |
5 | XMAL_IP | VARCHAR(64) | RAFT 归档通信 IP |
6 | XMAL_PORT | INTEGER | RAFT 归档通信端口 |
7 | XMAL_HB_INTERVAL | INTEGER | RAFT 归档 XMAL 链路心跳检测间隔 |
8 | RAFT_HB_INTERVAL | INTEGER | RAFT 归档心跳检测间隔 |
9 | RAFT_VOTE_INTERVAL | INTEGER | RAFT 归档选举超时间隔 |
10 | ARCH_RESERVE_TIME | INTEGER | 归档保留时间。单位分钟 |
11 | ARCH_LOCAL_SHARE | INTEGER | 远程归档是否共享其它节点本地归档路径。0:否;1:是 |
12 | ARCH_LOCAL_SHARE_CHECK | INTEGER | 是否检查远程归档路径和其它节点本地归档路径相等。0:否;1:是 |
12.25 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.26 V$DPC_ESESS_STMTS
查询 DMDPC 系统内部所有 ESESSION 的所有语句句柄信息。ESESSION 为 SP 和其他节点之间的内部会话。该视图提供给达梦内部开发人员调试之用。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | STMT_ID | INTEGER | 句柄 ID |
2 | SESS_ID | BIGINT | 会话 ID |
3 | ESESS_ID | BIGINT | ESESSION 的 ID |
4 | PLAN_NO | INTEGER | 计划序号 |
5 | SQC_EXEC_ID | BIGINT | 语句执行序号 |
6 | N_BOXID_REUSE | INTEGER | 当前句柄上已分配的 BOXID |
7 | FREE_FLAG | INTEGER | 空闲句柄标记 |
12.27 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.28 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.29 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 | STHD_GRP_ID | INTEGER | ESESS 对应的线程池编号,非 ethd 线程为-1 |
10 | THRD_ID | INTEGER | ESESS 对应的线程号,不与线程关联时为-1 |
12.30 V$DPC_EDCT_RAFT
查询 DMDPC 系统各节点内存中记录的 RAFT 信息。MP 上的信息对应 DPC_BP_RAFT 系统表的内容。SP 和 BP 上的内容是 MP 发送过来的。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | RAFT_ID | INTEGER | RAFT 组号 |
2 | DPC_MODE | VARCHAR(16) | DMDPC 模式 |
3 | IS_VALID | CHAR(1) | BP 节点是否有效(节点是否可用,0 无效,1 有效) |
4 | NAME | VARCHAR(128) | RAFT 组名 |
5 | L_TERM_ID | BIGINT | 主库的任期号 |
6 | DISCARD_TICK | BIGINT | 废弃时的 tick 时间值 |
12.31 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(16) | DMDPC 模式。取值范围:MP,SP 或 BP |
5 | XMAL_PORT | INTEGER | XMAL 通信端口号。用户通过 SP_CREATE_DPC_INSTANCE 中 AP_PORT 注册时配置,取值范围:1024~6553 |
6 | INST_PORT | INTEGER | 实例端口。用户通过 SP_CREATE_DPC_INSTANCE 中 INST_PORT 注册时配置,取值范围:1024~65534 |
7 | IP_INTERNAL | VARCHAR(64) | 实例内网 IP 地址 |
8 | IP_EXTERNAL | VARCHAR(64) | 实例外网 IP 地址 |
9 | SYS_MODE | VARCHAR(16) | 系统模式 |
10 | SYS_STATUS | VARCHAR(16) | 系统状态 |
11 | STATUS | VARCHAR(16) | 实例状态 |
12 | AUX_SP | CHAR(1) | 是否辅助 SP |
13 | DISCARD_TICK | BIGINT | 废弃时的 tick 时间值 |
14 | DESC | VARCHAR(256) | 描述信息 |
15 | BS_FLAG | INTEGER | BS 启动标记。0:非 BS;1:BS |
16 | FAULT_DOMAIN | INTEGER | 实例对应的容错域 ID。NULL 表示实例不属于任何一个容错域 |
12.32 V$TABLE_ROWCNT_CACHE
显示 DMDPC 系统中各节点中的缓存表行数情况。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | TAB_ID | INTEGER | 表 ID |
2 | ROWCNT | BIGINT | 表行数 |
3 | ACCESS_NUM | INTEGER | 访问次数 |
12.33 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 | DATETIME(0) | 开始迁移时间 |
7 | DURING_TIME | INTEGER | 从开始迁移的持续的时间(秒) |
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 阶段 |
12.34 V$DPC_QC_SCHED_HISTORY
查询 DMDPC 任务调度历史信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | MPP_EXEC_ID | BIGINT | 执行号 |
2 | STMT_ID | INTEGER | 句柄号 |
3 | EID | BIGINT | DPC 全局会话 ID |
4 | STASK_NO | INTEGER | 子任务号 |
5 | STATUS | VARCHAR(8) | 调度状态,取值: NONE:未调度 SCHDLED:已调度 COMPLETE:调度完成 |
6 | EXEC_ID | BIGINT | VM 执行号 |
12.35 V$GLOBAL_RAFT_INFO
查询 DMDPC 系统全局多副本信息。仅会打印可正常通信的 MP/BP/BS 库的多副本信息;若节点异常,则不会打印该实例信息;或若 RAFT 组内无有效主库,则对应 RAFT 组中所有节点信息均不会打印。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | INSTANCE_NAME | VARCHAR(128) | 实例名 |
2 | RAFT_ID | INTEGER | RAFT 组 ID |
3 | IS_SHADOW | VARCHAR(8) | 是否是影子库 |
4 | IS_LEARNER | VARCHAR(8) | 是否是学习者 |
5 | RAFT_STAT | VARCHAR(16) | 多副本选举角色 |
6 | TERM_ID | INTEGER | 任期号 |
7 | LOG_TERM_ID | INTEGER | 日志任期号 |
8 | SYS_MODE | VARCHAR(16) | 系统模式 |
9 | SYS_STATUS | VARCHAR(16) | 系统状态 |
10 | ARCH_STATUS | VARCHAR(16) | 归档状态。该字段结果在 DMDPC 下,连接主库或 SP 查询有效,连接备库查询无效;在 RAFT 下,连接主库查询有效,连接备库查询无效 |
11 | C_SEQNO | BIGINT | 已经提交到的日志包序号 |
12 | C_LSN | BIGINT | 节点已经提交到的 LSN 值 |
13 | H_SEQNO | BIGINT | 主库已经提交到的日志包序号 |
14 | H_LSN | BIGINT | 主库节点已经提交到的 LSN 值 |
15 | F_SEQNO | BIGINT | 已经刷盘的最大日志包序号 |
16 | F_LSN | BIGINT | 已经刷盘到的最大 LSN 值 |
12.36 V$DPC_EDCT_FAULT_DOMAIN
查询系统内存中容错域与实例的关系。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | DOMAIN_ID | INTEGER | 容错域 ID |
2 | DOMAIN_NAME | VARCHAR(128) | 容错域名 |
3 | DESCRIPTION | VARCHAR(256) | 容错域描述 |
12.37 V$RAFT_SWITCH_INFO
记录多副本当前节点的历史切换信息,直连多副本节点查询。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | SWITCH_STAT | VARCHAR(48) | 切换目标状态 |
2 | SWITCH_TIME | VARCHAR(50) | 切换时间 |
3 | LEADER_ID | INTEGER | 切换完成时的 LEADER_ID |
12.38 V$DPC_ESITE
获取各个节点的信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | SELF_RAFT_ID | INTEGER | 自身的 RAFT 组号,用于统合时区分 |
2 | SELF_INST_ID | INTEGER | 自身的实例号,用于统合时区分 |
3 | DEST_RAFT_ID | INTEGER | 目标节点的服务器的 RAFT 组号 |
4 | DEST_INST_ID | INTEGER | 目标节点的实例号 |
5 | DEST_DPC_MODE | CHAR(2) | 目标节点的 dpc_mode |
6 | SITE_ID | BIGINT | 节点 XSITE 的 id |
7 | SITE_ADDR | VARBINARY(8) | 节点 XSITE 的内存地址 |
8 | SITE_TYPE | VARCHAR(16) | 节点 XSITE 的类型(AP、EP) |
9 | ASITE_CONN_IP | VARCHAR(128) | 节点 XSITE 连接的 IP(仅 AP) |
10 | ESITE_ASITE_ID | BIGINT | 节点 XSITE 的 asite_id(仅 EP) |
11 | SITE_STAT | VARCHAR(16) | 节点 XSITE 链路状态(CLOSE/OPEN) |
12 | SITE_N_LNK | INTEGER | 节点 XSITE 有效的链路个数 |
13 | ROUTE_PRIORITY | INTEGER | 目标节点的路由优先级 |
12.39 V$XBOX
获取并显示系统中所有 XBOX 的槽信息。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | ID | INTEGER | XBOX ID |
2 | SLOT_NO | INTEGER | XBOX 内的槽号 |
3 | LETTER_NUM | INTEGER | 槽内收到的邮件数 |
4 | FILE_NAME | VARCHAR(256) | 创建 XBOX 的文件名 |
5 | FILE_LINE | INTEGER | 创建 XBOX 的文件行号 |
6 | EID | BIGINT | 使用 XBOX 的 ESESS_ID |
7 | SIO | INTEGER | 使用 XBOX 的 ERECV 操作符在计划中的行序号 |
8 | STASK_NO | INTEGER | 使用 XBOX 的 ERECV 操作符在计划中的子任务号 |
9 | NO_IN_STASK | INTEGER | 使用 XBOX 的 ERECV 操作符在子任务中的序号 |
10 | DUMP_LEN_BYTES | BIGINT | XBOX 上使用临时文件保存的邮件总量,单位 BYTE |
11 | LONG_BYTES | BIGINT | 槽内缓存的大于 32KB 的消息空间大小 |
12 | SHORT_NUM | INTEGER | 槽内缓存的 1KB 大小的消息数 |
13 | MIDDLE_NUM | INTEGER | 槽内缓存的 32KB 大小的消息数 |
14 | LONG_NUM | INTEGER | 槽内缓存的大于 32KB 大小的消息数 |
15 | DUMP_NUM | INTEGER | 槽内缓存的需转储的消息数 |
12.40 GV$DM_INI
DPC 环境下查询所有正常打开实例的 INI 参数。
序号 | 列 | 数据类型 | 说明 |
---|---|---|---|
1 | INSTANCE_NAME | VARCHAR (128) | 实例名 |
2 | PARA_NAME | VARCHAR (128) | 参数名称 |
3 | PARA_VALUE | VARCHAR(256) | 系统参数值 |
4 | MIN_VALUE | VARCHAR(256) | 最小值 |
5 | MAX_VALUE | VARCHAR(256) | 最大值 |
6 | DEFAULT_VALUE | VARCHAR(256) | 默认值 |
7 | MPP_CHK | CHAR(1) | 是否检查 MPP 节点间参数一致性。Y 是,N 否 |
8 | SESS_VALUE | VARCHAR(256) | 会话参数值 |
9 | FILE_VALUE | VARCHAR(256) | INI 文件中参数值 |
10 | DESCRIPTION | VARCHAR(256) | 参数描述 |
11 | PARA_TYPE | VARCHAR(200) | 参数类型 |
12 | SYNC_FLAG | VARCHAR(16) | 专用于主备环境中,在进行 INI 同步(定时自动同步或者手动执行同步)时,主库根据 SYNC_FLAG 进行判断是否将参数值同步到备库。 取值包括 NOT_SYNC、DSC_SYNC、DW_SYNC、DPC_SYNC、ALL_SYNC。 执行 INI 参数全局同步时,各字段值含义如下: NOT_SYNC:不进行参数同步; DSC_SYNC:仅 DMDSC 环境下进行参数同步; DW_SYNC:仅普通主备/普通 RAFT 主备环境下进行参数同步; DPC_SYNC:仅 DMDPC 环境下进行参数同步; ALL_SYNC:普通主备/RAFT 主备/DSC 集群/DPC 集群环境下均进行参数同步 |
13 | SYNC_LEVEL | VARCHAR(16) | 专用于主备环境中,标识备库参数是否需要和主库保持同步。 同步的方式有两种:1.服务器定时自动同步,通过 INI 参数 INI_SYNC 进行设置;2.通过 SF_SYNC_INI 函数手动同步。 SYNC_LEVEL 字段值说明如下: NO_SYNC:参数在当前环境不会被同步; CAN_SYNC:参数在当前环境中,可以和主库同步。是否同步,均不影响主备环境的使用; MUST_SYNC:参数在当前环境中,必须和主库保持同步 |
14 | PARA_MODULE | VARCHAR(32) | 标识参数所属模块,有如下可能取值: files location、instance name、memory pool and buffer、thread、query、select rate、cpu、checkpoint、IO、database、pre-load table、redo log、redo、transaction、security、compatibility、drop table、fast insert、request trace、system trace、ecs、monitor、data watch、for test only、for context index、rdma、configuration file、DSC、mem only、backup and restore |