- 作者:zhaozj
- 发表时间:2020-12-23 10:54
- 来源:未知
Oracle数据字典由一组表和视图构成,它存储Oracle系统的活动信息和所有用户数据库的定义信息等。根据数据字典所存储的内容的不同可以把它们划分为两大类:静态数据字典和动态性能表。
1、静态数据字典
数据字典是数据库系统的一部分,它所在的表空间为SYSTEM表空间,这也是我们一般轻易不加私有信息的原因。数据字典中记录了系统资源信息、用户登录信息及数据库信息等几乎所有内容,这些信息都是系统自动建立并维护的,用户只需利用数据字典得到自己想要的信息即可。
数据字典是由一些视图组成的,可分4种类型,是由其视图的前缀区分的,如下表所示。
数据字典前缀 | 说明 |
ALL | 所有对象的信息 |
USER | 用户私有的对象信息 |
DBA | DBA管理的数据库信息 |
V$ | 运行中动态改变的信息 |
数据字典查看方式与表和视图的查看方式一样,都是使用select命令。
【例】
SQL>select * from dict --dict表示数据字典
where table_name like'%_SYNONYMS';
结果如下所示:
TABLE_NAME | COMMENTS |
----------- | ----------------------------------------- |
ALL_SYNONYMS | All synonyms accessible to the user |
DBA_SYNONYMS | All synonyms in the database |
USER_SYNONYMS | The user's private synonyms |
注意:无论是用户还是DBA管理员,都必须掌握如何有效地使用数据字典。
2、动态性能表
动态性能表是一组虚拟表,它们记录了当前数据库的活动情况和性能参数,数据库管理员通过查询动态性能表可以了解系统运行情况,诊断和解决系统运行所出现的问题。
动态性能表提供了Oracle系统性能信息的基本接口,Oracle所提供的管理工具,如Oracle Enterprise Manager和Oracle Trace等,也是通过动态性能表来取得数据库运行状态信息的。
为了便于访问,Oracle将动态性能表作为基表(以V_$开头),建立了公用同义词(以V$开头),数据库管理员或授权用户使用V$对象,可访问系统性能表数据。
【例】下面我们以V$SGASTAT视图为例,说明动态性能表的应用。
V$SGASTAT视图中包含了系统全局区域的详细信息,如下所示:
●POOL:共享池/Java池/大块内存池。
●NAME:缓冲区名称
●BYTES:所占内存的大小。
SQL>select * from V$SGASTAT;