文档首页
NDB 集群内部
相关文档 下载本手册
PDF (US Ltr) - 1.2Mb
PDF (A4) - 1.2Mb


2.120 DUMP 7021

代码

7021

符号

---

内核块

DBDIH

描述.  将单个 NDB 表的表片段状态信息写入集群日志。 DUMP 7015 与此命令相同,不同之处在于 DUMP 7015 记录多个(或所有)NDB 表的信息。

要获取信息的表由表 ID 指定。 您可以在 ndb_show_tables 的输出中找到给定表的 ID,如下所示

$> ndb_show_tables
id    type                 state    logging database     schema   name
29    OrderedIndex         Online   No      sys          def      PRIMARY
1     IndexTrigger         Online   -                             NDB$INDEX_11_CUSTOM
3     IndexTrigger         Online   -                             NDB$INDEX_15_CUSTOM
8     UserTable            Online   Yes     mysql        def      NDB$BLOB_7_3
5     IndexTrigger         Online   -                             NDB$INDEX_28_CUSTOM
13    OrderedIndex         Online   No      sys          def      PRIMARY
10    UserTable            Online   Yes     test         def      n1
27    UserTable            Online   Yes     c            def      t1
...

示例调用/输出.  使用之前显示的 ndb_show_tables 示例输出中找到的表 n1 的表 ID(并在其中突出显示),在系统 shell 中运行 ndb_mgm 时,此命令的调用可能如下所示

$> ndb_mgm -e 'ALL DUMP 7021 10'
Connected to Management Server at: localhost:1186
Sending dump signal with data:
0x00001b67 0x0000000a
Sending dump signal with data:
0x00001b67 0x0000000a

这将以下输出写入集群日志

2016-07-21 12:12:11 [MgmtSrvr] INFO     -- Node 5: Table 10: TabCopyStatus: 0 TabUpdateStatus: 0 TabLcpStatus: 3
2016-07-21 12:12:11 [MgmtSrvr] INFO     -- Node 5:  Fragment 0: noLcpReplicas==0  0(on 5)=59(Idle) 1(on 6)=59(Idle)
2016-07-21 12:12:11 [MgmtSrvr] INFO     -- Node 5:  Fragment 1: noLcpReplicas==0  0(on 6)=59(Idle) 1(on 5)=59(Idle)
2016-07-21 12:12:11 [MgmtSrvr] INFO     -- Node 6: Table 10: TabCopyStatus: 0 TabUpdateStatus: 0 TabLcpStatus: 3
2016-07-21 12:12:11 [MgmtSrvr] INFO     -- Node 6:  Fragment 0: noLcpReplicas==0  0(on 5)=59(Idle) 1(on 6)=59(Idle)
2016-07-21 12:12:11 [MgmtSrvr] INFO     -- Node 6:  Fragment 1: noLcpReplicas==0  0(on 6)=59(Idle) 1(on 5)=59(Idle)
2016-07-21 12:12:11 [MgmtSrvr] INFO     -- Node 7: Table 10: TabCopyStatus: 0 TabUpdateStatus: 0 TabLcpStatus: 3
2016-07-21 12:12:11 [MgmtSrvr] INFO     -- Node 7:  Fragment 0: noLcpReplicas==0  0(on 5)=59(Idle) 1(on 6)=59(Idle)
2016-07-21 12:12:11 [MgmtSrvr] INFO     -- Node 7:  Fragment 1: noLcpReplicas==0  0(on 6)=59(Idle) 1(on 5)=59(Idle)
2016-07-21 12:12:11 [MgmtSrvr] INFO     -- Node 8: Table 10: TabCopyStatus: 0 TabUpdateStatus: 0 TabLcpStatus: 3
2016-07-21 12:12:11 [MgmtSrvr] INFO     -- Node 8:  Fragment 0: noLcpReplicas==0  0(on 5)=59(Idle) 1(on 6)=59(Idle)
2016-07-21 12:12:11 [MgmtSrvr] INFO     -- Node 8:  Fragment 1: noLcpReplicas==0  0(on 6)=59(Idle) 1(on 5)=59(Idle)

其他信息.  以下几段显示了 DUMP 7021 写入集群日志的每个字段的更多信息。 枚举被定义为 storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp 中的结构 TabRecord 的属性。

TabCopyStatus(表复制状态)采用以下值之一:0: CS_IDLE, 1: CS_SR_PHASE1_READ_PAGES, 2: CS_SR_PHASE2_READ_TABLE, 3: CS_SR_PHASE3_COPY_TABLE, 4: CS_REMOVE_NODE, 5: CS_LCP_READ_TABLE, 6: CS_COPY_TAB_REQ, 7: CS_COPY_NODE_STATE, 8: CS_ADD_TABLE_MASTER, 9: CS_ADD_TABLE_SLAVE, 10: CS_INVALIDATE_NODE_LCP, 11: CS_ALTER_TABLE, 12: CS_COPY_TO_SAVE, 13: CS_GET_TABINFO.

TabUpdateStatus(表更新状态)采用以下值之一:0: US_IDLE, 1: US_LOCAL_CHECKPOINT, 2: US_LOCAL_CHECKPOINT_QUEUED, 3: US_REMOVE_NODE, 4: US_COPY_TAB_REQ, 5: US_ADD_TABLE_MASTER, 6: US_ADD_TABLE_SLAVE, 7: US_INVALIDATE_NODE_LCP, 8: US_CALLBACK.

TabLcpStatus(表本地检查点状态)采用以下值之一:1: TLS_ACTIVE, 2: TLS_WRITING_TO_FILE, 3: TLS_COMPLETED.

每个节点还提供表片段信息。 这类似于此处显示的内容

Node 5:  Fragment 0: noLcpReplicas==0  0(on 5)=59(Idle) 1(on 6)=59(Idle)

节点和片段由它们的 ID 标识。 noLcpReplicas 表示任何正在进行的 LCP 剩余要检查点的片段副本数量。 行的其余部分具有此处显示的格式

replica_id(on node_id)=lcp_id(status)

replica_idnode_idlcp_id 分别是片段副本、节点和本地检查点的 ID。 status 始终是 IdleOngoing 之一。