注册
达梦分布计算集群(DPC) 常用语句
专栏/技术分享/ 文章详情 /

达梦分布计算集群(DPC) 常用语句

奥特曼打小怪兽 2024/08/02 767 0 0
摘要

1确定自己链接的哪个节点

SELECT NAME FROM V$INSTANCE WHERE SF_GET_EP_SEQNO(ROWID) =
SF_GET_SELF_EP_SEQNO();

2查看当前节点的 DPC_MODE 模式信息

select * from V$dm_ini where para_name='DPC_MODE'and
sf_get_ep_seqno(rowid)=SF_GET_SELF_EP_SEQNO;

3获取当前会话连接的实例名。

SELECT NAME FROM V$INSTANCE WHERE SF_GET_EP_SEQNO(ROWID) =
SF_GET_SELF_EP_SEQNO();

4获取 DMDPC 系统内所有实例的会话信息。

SELECT * FROM V$SESSIONS;

5获取当前连接的实例上的所有会话信息

SELECT * FROM V$SESSIONS WHERE SF_GET_EP_SEQNO(ROWID) = SF_GET_SELF_EP_SEQNO();

6获取表 TEST 在每个实例上的数据行数。

CALL SP_GET_EP_COUNT('SYSDBA','TEST');

7获取表 TEST 已使用的页数。

SELECT TABLE_USED_PAGES('SYSDBA','TEST');

8通过表定义,查看默认的存储位置。

SELECT TABLEDEF('CMCC','TEST_RANGE1');

9表空间和 BP 的 的 关系 检查

SELECT
B.NAME TS_NAME,
C.NAME BP_NAME
FROM
DPC_TABLESPACE A,
V$TABLESPACE B ,
DPC_INSTANCE C
WHERE
A.TS_ID =B.ID
AND C.RAFT_ID=A.RAFT_ID
ORDER BY
B.NAME;

10 表空间 数据文件与 与 RAFT

SELECT
TS.NAME,
(
SELECT NAME FROM DPC_BP_RAFT A WHERE
A.RAFT_ID=TS.RAFT_ID
)
BP_NAME,
DF.PATH
FROM
DPC_TABLESPACE AS TS,
V$DATAFILE AS DF WHERE
TS.TS_ID= DF.GROUP_ID
ORDER BY
TO_NUMBER(TRANSLATE(BP_NAME, '0123456789'
||BP_NAME, '0123456789')),
NAME;

11查询当前节点的选举状态和日志提交信息及 raft 组的同步情况

可通过检查 V$RLOG_RAFT_INFO 视图进行相关检查,在配置成多副本系
统的情况下,V$RLOG_RAFT_INFO 的值才是真实有效的
可通过 SELF_STATUS 字段来查看当前实例状态是否有效,如下实例状态为
VALID 有效状态;可通过 SELF_STATUS 查看当前节点上一次模式切换的时间,

其中如果 F_SEQ_ARR 字段中三个值相同,F_LSN_ARR 字段中三个值相同
则表示集群同步正常,如果不同则需要进一步排查网络是否拥堵,IO 是否遇到
瓶颈等。

12集群会话检查

SELECT
sf_get_ep_seqno(a.rowid) raft_id,
COUNT(*) ,
b.name ,
a.port_type
FROM
v$sessions a
left join dpc_instance b
on
sf_get_ep_seqno(a.rowid)=b.RAFT_ID
WHERE
b.SYS_MODE !='STANDBY'
GROUP BY
sf_get_ep_seqno(a.rowid),
b.name ,
a.port_type
ORDER BY
RAFT_ID ;

RAFT_ID 表示系统内部 RAFT 组号,count(*)表示会话总数,NAME 表示
节点名,PORT_TYPE(连接端口类型):2 表示 TCP 连接,12 表示端口已经关
闭,13 表示 UDP 连接

13查看每个子表的存储位置

select(select x.name from sysobjects x where x.id = y.pid) tname, groupid as ts_id, (select name from dpc_tablespace where ts_id = groupid) as ts_name from sysobjects y, sysindexes z where z.id = y.id and pid in (select id from sysobjects where name like 'T_XQ64%' and subtype$='UTAB' and name not like '%AUX') and subtype$='INDEX' and schid = (select id from sysobjects where type$='SCH' and name = 'SYSDBA') order by tname asc;

https://eco.dameng.com/

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服