一、什么是系统表,数据字典,动态性能视图,V 视图,虚表
系统表:
据库系统的系统表(system table)也被称为系统目录(system catalog),是数据库系统中一种特殊的表格,用于存储数据库中各种对象的元数据信息,如表、列、索引、视图、存储过程、触发器等。系统表提供了数据库管理系统(DBMS)的基础架构,可以使用户和开发人员查询、检查、更新数据库的元数据。
系统表通常是只读的,它们存储在数据库系统的内部,用户不能直接修改它们。系统表的底层原理和其他表格类似,它们存储在数据库中的数据文件和日志文件中。
视图:
也被称作虚表,即虚拟的表,像我们所熟知的dual,就是一张虚表,它是一组数据的逻辑表示,其本质是对应于一条SELECT语句,结果集被赋予一个名字,即视图名字。视图本身并不包含任何数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化。
动态性能视图:
V 视图:
二、为什么要有这些,这些有什么用
数据库中的系统表和系统视图是数据库管理系统 内部维护和使用的特殊表和视图,用于存储和提供关于数据库结构、对象、权限、性能统计等元数据信息。它们提供了对数据库系统的详细了解和访问,具有以下用途和重要性:
-
数据库结构和对象的描述:系统表和系统视图存储了关于数据库的结构和对象的信息,如表、列、索引、约束、视图、存储过程等。通过查询这些系统表和视图,可以获取有关数据库中存在哪些对象,以及它们的属性和关系的详细信息。
-
权限管理和安全性:系统表和系统视图记录了数据库用户、角色、权限和安全性相关的信息。通过查询这些系统表和视图,可以查看用户、角色的授权情况,确定谁有权访问特定对象,并进行权限管理和安全性审计。
-
性能优化和监控:系统表和系统视图包含数据库的性能统计信息,如查询执行计划、索引使用情况、缓冲区和锁定状态等。通过查询这些系统表和视图,可以监视数据库的性能,识别潜在的性能瓶颈,并进行性能优化和调整。
-
元数据查询和分析:系统表和系统视图提供了对数据库元数据的查询和分析能力。通过查询这些系统表和视图,可以了解数据库中的对象依赖关系、数据字典信息、约束定义等,以便进行数据分析、数据质量管理和数据集成等任务。
-
数据库管理和维护:系统表和系统视图为数据库管理员提供了管理和维护数据库的基础信息和工具。管理员可以使用这些系统表和视图来进行数据库备份和恢复、空间管理、事务日志分析等任务。
三、dm管理工具查看系统表,系统视图,详细操作
第一步,连接数据库,打开模式,打开模式SYS,打开表,系统表
鼠标左击选中一张系统表,长按不放
拖到sql查询框中松鼠标
就会自动写成查询语句,当然你自己写select的sql也是可以的
查询出来的这张系统表是constraint,也就是约束的系统表,其中id是约束的id号,TABLEID则是约束所属的表的id号,而TYPE则是约束的类型,P则是主键约束,而U则是唯一约束,VALID则是约束是否可用,是否失效,y则是可用,未失效
四、简单介绍一些达梦比较常用的系统表和v视图
NAME
|
VARCHAR(128)
|
对象名称
|
ID
|
INTEGER
|
对象
ID
|
SCHID
|
INTEGER
|
表示对象所属的模式
ID
,否则为
0
。
|
TYPE$
|
VARCHAR(10)
|
对象的主类型。分为三种:
1
)库级:
2)模式级
3
)表级:
|
SUBTYPE$
|
VARCHAR(10)
|
对象的子类型
|

ID
|
INTEGER
|
约束
ID
|
TABLEID
|
INTEGER
|
所属表
ID
|
TYPE$
|
CHAR(1)
|
约束类型。
P
:主键约束
U
:唯一性约束
F
:引用约束
C
:检查约束
|
VALID
|
CHAR(1)
|
约束是否有效,y为有效
|
INDEXID
|
INTEGER
|
索引
ID
|
3.SYSUSERS 和 all_users
ID
|
INTEGER
|
用户
ID
|
PASSWORD
|
VARCHAR(128)
| 用户密码,这里面做了加密处理 |
AUTHENT_TYPE
|
INTEGER
|
用户认证方式:
1.NDCT_DB_AUTHENT
db数据库认证
2 .NDCT_OS_AUTHENT
os操作系统认证
|

CACHE_ITEM
|
BIGINT(19)
|
在内存中的位置,对应
V$CACHEITEM
中的
ADDRESS
|
SQL
|
VARCHAR(4096)
|
SQL
文本
|
LEN
|
INTEGER
|
SQL
文本长度
|

NAME
|
数据库名称
|
CREATE_TIME
|
数据库创建时间
|
ARCH_MODE
|
归档模式:归档或不归档。默认为不归档
|
LAST_CKPT_TIME
|
最后一次检查点时间。只对
ONLINE
的
DB
做统计,否
则就是空
|
STATUS$
|
数据库的状态。
1
:启动;
2
:启动,
redo
完成;
3
:
MOUNT
;
4
: open 打开;5
:挂起;
6
:关闭
|
ROLE$
|
角色。
0
:普通;
1
:主库;
2
:备库
|
LAST_STARTUP_TIME
|
数据库最近一次启动时间
|
