暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

达梦数据库的数据字典

郑小凤 2024-07-17
860

数据字典是达梦数据库创建和维护的一组只读的系统表。数据字典中存放了有关数据库和数据库对象的信息。

数据字典中存储如下数据库信息:

  1. 数据库的逻辑结构和物理结构,如表空间和数据文件的信息;
  2. 数据库对象定义信息,对象包括表、索引、视图、序列号等等;
  3. 数据库对象的磁盘空间分配信息;
  4. 权限和角色;
  5. 审计信息;
  6. 其他信息;

达梦数据库中还有另一类数据字典视图,即动态性能视图。动态性能视图是一组虚表,在数据库运行期间,这些虚表存在于内存中,达梦数据库将当前数据库的活动记录在动态性能视图。动态性能视图一般以v$开头。

可以通过动态性能视图来监督数据库的运行,诊断和调优所需要的信息。

数据字典的整理

一、数据字典视图

序列

视图名

用途

1

SYSOBJECTS

记录系统中所有对象的信息

2

SYSINDEXES

记录系统中所有索引定义信息

3

SYSCOLUMNS

记录系统中所有列定义的信息

4

SYSCONS

记录系统中所有约束的信息

5

SYSSTATS

记录系统中的统计信息

6

SYSDUAL

为不带表名的查询而设,用户一般不需查看

7

SYSTEXTS

存放字典对象的文本信息

8

SYSGRANTS

记录系统中权限信息

9

SYSAUDIT

记录系统中的审计设置

10

SYSAUDITRULES

记录系统中审计规则的信息

11

SYSHPARTTABLEINFO

记录系统中分区表的信息

12

SYSMACPLYS

记录策略定义

13

SYSMACLVLS

记录策略的等级

14

SYSMACCOMPS

记录策略的范围

15

SYSMACGRPS

记录策略所在组的信息

16

SYSMACLABELS

记录策略的标记信息

17

SYSMACTABPLY

记录表策略信息

18

SYSMACUSRPLY

记录用户的策略信息

19

SYSMACOBJ

记录扩展客体标记信息

20

SYSCOLCYT

记录列的加密信息

21

SYSACCHISTORIES

记录登录失败的历史信息

22

SYSPWDCHGS

记录密码的修改信息

23

SYSCONTEXTINDEXES

记录全文索引的信息

24

SYSTABLECOMMENTS

记录表或视图的注释信息

25

SYSCOLUMNCOMMENTS

记录列的注释信息

26

SYSUSERS

记录系统中用户信息

27

SYSOBJINFOS

记录对象的依赖信息

28

SYSRESOURCES

记录用户使用系统资源的限制信息

29

SYSCOLINFOS

记录列的附加信息,例如是否虚拟列

30

SYSUSERINI

记录定制的 INI 参数

31

SYSDEPENDENCIES

记录对象间的依赖关系

32

SYSINJECTHINT

记录已指定的 SQL 语句和对应的 HINT

33

SYSMSTATS

记录多维统计信息的内容

二、动态性能视图

1、资源管理

序号

视图名

用途

1

V$DICT_CACHE_ITEM

显示字典缓存中的字典对象信息

2

V$DICT_CACHE

显示字典缓存信息

3

V$BUFFERPOOL

页面缓冲区动态性能表,用来记录页面缓冲区结构的信息

4

V$BUFFER_LRU_FIRST

显示所有缓冲区 LRU 链首页信息

5

V$BUFFER_UPD_FIRST

显示所有缓冲区 UPDATE 链首页信息

6

V$BUFFER_LRU_LAST

显示所有缓冲区 LRU 链末页信息

7

V$BUFFER_UPD_LAST

显示所有缓冲区 UPDATE 链末页信息

8

V$CACHEITEM

显示缓冲区中缓冲项的相关信息

9

V$CACHERS

显示结果集缓冲区的相关信息

10

V$CACHESQL

显示 SQL 缓冲区中 SQL 语句的信息。在 ini 参数 USE_PLN_POOL !=0 时才统计

11

V$SQLTEXT

显示缓冲区中的 SQL 语句信息

12

V$SQL_PLAN

显示缓冲区中的执行计划信息。在 ini 参数 USE_PLN_POOL !=0 时才统计

13

V$MEM_POOL

显示所有的内存池信息

14

V$MEM_REGINFO

显示系统当前已分配并未释放的内存信息,当 MEMORY_LEAK_CHECK 为 1 时才会在此

动态视图注册信息。

15

V$GSA

显示全局 SORT 内存缓冲区的使用情况

16

V$MEM_HEAP

显示系统当前内存堆的信息,仅当系统启动时 MEMORY_LEAK_CHECK 为 1 时有效

17

V$LARGE_MEM_SQLS

最近 1000 条使用大内存的 sql 语句。一条 sql 语句使用的内存值超过 ini 参数

LARGE_MEM_THRESHOLD,就认为使用了大内存

18

V$SYSTEM_LARGE_MEM_SQLS

系统中使用大内存最多的 20 条 sql 语句。字段定义与 v$large_mem_sqls 相同。

19

V$SCP_CACHE

显示缓存池信息

20

V$DB_SYSPRIV_CACHE

系统权限缓存信息

21

V$DB_OBJPRIV_CACHE

对象权限缓存信息

22

V$SQL_STAT

语句级资源监控内容。记录当前正在执行的 SQL 语句的资源开销。需要 ENABLE_MONITOR=1 才开始监控。可以通过

SP_SET_SQL_STAT_THRESHOLD()设置监控阀值,超过阀值才开始监控。

23

V$SQL_STAT_HISTORY

语句级资源监控内容。记录历史 SQL 语句执行的资源开销。需要 ENABLE_MONITOR=1 才开始监控。视图的格式和 V$SQL_STAT 一样。单机最大行数为 10000。

24

V$HLDR_TABLE

记录当前系统中所有 HLDR 使用 HLDR_BUF 的情况

2、段簇页

序号

视图名

用途

1

V$SEGMENT_INFOS

显示所有的段信息

2

V$SEGMENTINFO

索引叶子段信息视图。查询该视图时,一定要带 WHERE 条件,并且必须是等值条件。

3

V$BTREE_INNER_PAGES/V$BTREE_LEAF_PAGES

索引的叶子段/内节点段的页信息视图。查询该视图时,一定要带 WHERE 条件,并且必须是等值条件。

4

V$BTREE_LIST_PAGES

LIST 索引的叶子段的页信息视图。查询该视图时,一定要带 WHERE 条件,并且必须是等值条件

5

V$TABLE_LOB_PAGES

表中的大字段的页信息视图。查询该视图时,一定要带 WHERE 条件,并且必须是等值条件

6

V$RESOURCE_LIMIT

显示表、用户的空间限制信息

7

V$SEGMENT_PAGES

段中数据页的信息视图。查询该视图时,一定要带 WHERE 条件指定 GROUP_ID 和 SEG_ID,并且必须是等值条件。

8

V$PSEG_SYS

显示当前回滚段信息

9

V$PSEG_ITEMS

显示回滚系统中当前回滚项信息

10

V$PSEG_COMMIT_TRX

显示回滚项中已提交但未 PURGE 的事务信息

11

V$PSEG_PAGE_INFO

显示当前回滚页信息

12

V$PURGE

显示当前 PURGE 回滚段信息

13

V$PURGE_PSEG_OBJ

显示 PURGE 系统中,待 PURGE 的所有 PSEG 对象信息

14

V$PURGE_PSEG_TAB

显示待 PURGE 表信息

3、数据库信息

序号

视图名

用途

1

V$LICENSE

显示 LICENSE 信息,用来查询当前系统的 LICENSE 信息

2

V$VERSION

显示版本信息,包括服务器版本号与 DB 版本号。如果为 DMDSC 环境,则还会增加显示DMDSC 版本号

3

V$DATAFILE

显示数据文件信息

4

V$DATABASE

显示数据库信息

5

V$IID

显示下一个创建的数据库对象的 ID。该视图提供用户可以查询下一个创建对象的 ID 的值,可以方便用户查询预知自己所要建立对象的信息

6

V$INSTANCE

显示实例信息

7

V$RESERVED_WORDS

保留字统计表,记录保留字的分类信息。RES_FIXED=N 的关键字,通过 ini 参数 EXCLUDE_RESERVED_WORDS 设置之后会失效,此视图不会再记录。

8

V$ERR_INFO

显示系统中的错误码信息

9

V$HINT_INI_INFO

显示支持的 HINT 参数信息

4、数据库对象相关

序号

视图名

用途

1

V$TABLESPACE

显示表空间信息,不包括回滚表空间信息

2

V$HUGE_TABLESPACE

显示 HUGE 表空间信息

3

V$HUGE_TABLESPACE_PATH

显示 HUGE 表空间路径信息

4

V$SEQCACHE

显示当前系统中缓存的序列的信息

5

V$PKGPROCS

显示包中的方法信息

6

V$PKGPROCPARAMS

显示包中方法的参数信息

7

V$DB_CACHE

数据字典缓存表,用于记录数据字典的实时信息

8

V$DB_OBJECT_CACHE

数据字典对象缓存表,用于记录数据字典中每个对象的信息

9

V$OBJECT_USAGE

记录索引监控信息

10

V$IFUN

显示数据库提供的所有函数

11

V$IFUN_ARG

显示数据库提供的所有函数的参数

12

V$SYSSTAT

显示系统统计信息

13

V$JOBS_RUNNING

显示系统中正在执行的作业信息

5、数据库配置参数

序号

视图名

用途

1

V$PARAMETER

显示 ini 参数和 dminit 建库参数的类型及参数值信息(当前会话值、系统值及 dm.ini文件中的值

2

V$DM_INI

所有 ini 参数和 dminit 建库参数信息。

3

V$DM_ARCH_INI

归档参数信息

4

V$DM_MAL_INI

MAL 参数信息

5

V$DM_REP_RPS_INST_NAME_INI

数据复制服务器参数信息

6

V$DM_REP_MASTER_INFO_INI

数据复制主库参数信息

7

V$DM_REP_SLAVE_INFO_INI

数据复制从机参数信息

8

V$DM_REP_SLAVE_TAB_MAP_INI

数据复制从机表对应关系参数信息

9

V$DM_REP_SLAVE_SRC_COL_INFO_INI

数据复制从机列对应关系参数信息

10

V$DM_LLOG_INFO_INI

逻辑日志信息参数信息

11

V$DM_LLOG_TAB_MAP_INI

逻辑日志与表对应的参数信息

12

V$DM_TIMER_INI

定时器参数信息

13

V$OBSOLETE_PARAMETER

已作废的 INI 信息

14

V$OPTION

安装数据库时的参数设置

6、日志管理

序号

视图名

用途

1

V$RLOG

显示日志的总体信息。通过该视图可以了解系统当前日志事务号 LSN 的情况、归档日志情况、检查点的执行情况等。

2

V$RLOGBUF

显示日志 BUFFER 信息。通过该视图可以查询日志 BUFFER 的使用情况,如 BUFFER 状态、总大小、已使用大小,这样可以带来帮助,如 BUFFER 剩余空间过小产生的失败等

3

V$RLOGFILE

显示日志文件的具体信息。包括文件号、完整路径、文件的状态、文件大小等等

4

V$ARCHIVED_LOG

显示当前实例的所有归档日志文件信息。此动态视图与 Oracle 兼容,下表中未列出的列 DM 暂不支持,查询时均显示 NULL

5

V$LOGMNR_LOGS

显示当前会话添加的需要分析的归档日志文件。此动态视图与 Oracle 兼容,下表中未列出的列 DM 暂不支持,查询时均显示 NULL

6

V$LOGMNR_PARAMETERS

显示当前会话 START_LOGMNR 启动日志文件分析的参数。此动态视图与 Oracle 兼容,下表中未列出的列 DM 暂不支持,查询时均显示 NULL

7

V$LOGMNR_CONTENTS

显示当前会话日志分析的内容。此动态视图与 Oracle 兼容,下表中未列出的列 DM 暂不支持,查询时均显示 NULL

8

V$ARCH_QUEUE

显示当前归档任务队列信息

7、会话

序号

视图名

用途

1

V$CONNECT

显示活动连接的所有信息

2

V$SESSIONS

显示会话的具体信息,如执行的 sql 语句、主库名、当前会话状态、用户名等等

3

V$SESSION_SYS

显示系统中会话的一些状态统计信息

4

V$OPEN_STMT

连接语句句柄表,用于记录 SESSION 上语句句柄的信息

5

V$SESSION_HISTORY

显示会话历史的记录信息,如主库名、用户名等,与 V$SESSIONS 的区别在于会话历史记录只记录了会话一部分信息,对于一些动态改变的信息没有记录,如执行的 SQL 语句等

6

V$CONTEXT

显示当前会话所有上下文的名字空间、属性和值

7

V$SESSION_STAT

记录每个 session 上的相关统计信息

8

V$NLS_PARAMETERS

显示当前会话的日期时间格式和日期时间语言

8、SQL执行相关

序号

视图名

用途

1

V$SQL_HISTORY

当 INI 参数 ENABLE_MONITOR=1 时,显示执行 SQL 的历史记录信息;可以方便用户经常使用的记录进行保存

2

V$SQL_NODE_HISTORY

通过该视图既可以查询 SQL 执行节点信息,包括 SQL 节点的类型、进入次数和使用时间等等;又可以查询所有执行的 SQL 节点执行情况,如哪些使用最频繁、耗时多少等。当 INI 参数 ENABLE_MONITOR 和 MONITOR_SQL_EXEC 都开启时,才会记录 SQL 执 行节点信息。如果需要时间统计信息,还需要打开 MONITOR_TIME

3

V$SQL_NODE_NAME

显示所有的 sql 节点描述信息,包括 sql 节点类型、名字和详细描述

4

V$COSTPARA

显示 SQL 计划的代价信息

5

V$LONG_EXEC_SQLS

INI 参数 ENABLE_MONITOR=1、MONITOR_TIME=1 时,显示系统最近 1000 条执行时间超过预定值的 SQL 语句。默认预定值为 1000 毫秒。可通过 SP_SET_LONG_TIME 系统函数修改,通过 SF_GET_LONG_TIME 系统函数查看当前值

6

V$SYSTEM_LONG_EXEC_SQLS

INI 参数 ENABLE_MONITOR=1、MONITOR_TIME=1 时,显示系统自启动以来执行时间最长的 20 条 SQL 语句,不包括执行时间低于预定值的语句

7

V$VMS

显示虚拟机信息

8

V$STKFRM

显示虚拟机栈桢信息。该参数必须在 INI 参数 ENABLE_MONITOR 和MONITOR_SQL_EXEC 都开启时才有信息

9

V$STMTS

显示当前活动会话的最近的语句的相关信息

10

V$SQL_PLAN_NODE

当 INI 参数 ENABLE_MONITOR 和 MONITOR_SQL_EXEC 都开启时,显示执行计划的节点信息

11

V$SQL_SUBPLAN

显示子计划信息

12

V$SQL_PLAN_DCTREF

显示所有执行计划相关的详细字典对象信息

13

V$MTAB_USED_HISTORY

显示系统自启动以来使用 MTAB 空间最多的 50 个操作符信息

14

V$SORT_HISTORY

当 INI 参数 ENABLE_MONITOR=1 都打开时,显示系统自启动以来使用排序页数最多的50 个操作符信息

15

V$HASH_MERGE_USED_HISTORY

HASH MERGE 连接操作符使用的缓存信息

16

V$PLSQL_DDL_HISTORY

记录 DMSQL 程序中执行的 DDL 语句,主要监控 truncate table 和 Execute immediate DDL 语句的情况

17

V$PRE_RETURN_HISTORY

记录大量数据返回结果集的历史信息(查询大量数据产生)

18

V$DMSQL_EXEC_TIME

记录动态监控的 sql 语句执行时间。当 ENABLE_MONITOR_DMSQL=1 时才会记录监控的 sql 语句

19

V$VIRTUAL_MACHINE

显示活动的虚拟机信息

9、事务和检查点

序号

视图名

用途

1

V$TRX

显示所有活动事务的信息。通过该视图可以查看所有系统中所有的事务以及相关信息,如锁信息等

2

V$TRXWAIT

显示事务等待信息

3

V$TRX_VIEW

显示当前事务可见的所有活动事务视图信息。根据达梦多版本规则,通过该视图可以查询系统中自己所见的事务信息;可以通过与 v$trx 表的连接查询它所见事务的具体信息。

4

V$RECV_ROLLBACK_TRX

显示数据库启动时回滚的所有事务信息

5

V$LOCK

显示活动的事务锁信息

6

V$DEADLOCK_HISTORY

记录死锁的历史信息

7

V$FLASHBACK_TRX_INFO

显示闪回信息

8

V$CKPT_HISTORY

显示检查点历史信息

9

V$CKPT

显示系统检查点信息

10、事件

序号

视图名

用途

1

V$WAIT_HISTORY

通过该视图可以查询等待事件的具体信息,如等待的线程 id,会话 id 等。可以查看具体等待事件的信息,如果某个事务等待时间过长,则可以查询到具体事务信息以及所在的线程和所牵涉的对象,分析原因进行优化等操作。

2

V$EVENT_NAME

显示当前系统所支持的等待事件的类型汇总信息

3

V$SYSTEM_EVENT

显示自系统启动以来所有等待事件的详细信息

4

V$SESSION_EVENT

显示当前会话等待事件的所有信息

5

V$SESSION_WAIT_HISTORY

显示会话等待事件的历史信息

6

V$DANGER_EVENT

数据库重要事件和行为信息视图

7

V$TASK_QUEUE

任务队列信息

8

V$TRACE_QUEUE

事件跟踪任务队列信息

11、进程和线程

序号

视图名

用途

1

V$PROCESS

显示当前进程信息

2

V$THREADS

显示系统中所有活动线程的信息

3

V$LATCHES

显示正在等待的线程信息

4

V$WTHRD_HISTORY

通过本视图可以观察系统从启动以来,所有活动过线程的相关历史信息。其中 CHG_TYPE有 REUSE_OK(本 SESSION 重用成功)、REUSE_FAIL (重用失败)、TO_IDLE(不重用,直接变 IDLE)等几种类型

12、系统信息

序号

视图名

用途

1

V$SYSTEMINFO

系统信息视图

2

V$CMD_HISTORY

通过本视图可以观察系统的一些命令的历史信息。其中 cmd 指的是 SESS_ALLOC,

SESS_FREE,CKPT,TIMER_TRIG,SERERR_TRIG,LOG_REP,MAL_LETTER,CMD_LOGIN

等。

3

V$RUNTIME_ERR_HISTORY

监控运行时错误历史。异常分为三种:一种是系统异常,用户没有捕获,由vm_raise_runtime_error 产生;第二种是用户异常,用户捕获错误,并抛出自定义异常,由 nthrow_exec 产生;第三种是语法异常,语法未通过,由 nsvr_build_npar_cop_out 产生


达梦官方的在线服务平台   https://eco.dameng.com/

最后修改时间:2024-07-19 15:56:35
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论