Chapter 05—Using Data Dictionary and Dynamic Performance Views
1、 内置数据库对象
·数据字典
·动态性能表
·PL/SQL程序包
·数据库事件触发器
2、 数据字典
·数据库的重要部分
·包含只读表和视图,提供对数据库以及数据库对象的描述
·存储在system表空间,属于SYS用户,由oracle服务器进行维护
·执行DDL语句后,oracle服务器会更新数据字典表。
(DML语句也会使oracle服务器更新数据字典表,如引起表扩展的DML语句)
3、 数据字典包含的两个部分:
(1)、基表
--存储有关数据库信息的底层表
--在执行create database命令是创建,通过运行sql.bsq脚本创建
(2)、数据字典视图
--在运行create database命令之后运行catalog.sql脚本创建
4、数据字典包含的内容:
·数据库内所有方案对象的定义
·为方案对象分配的空间量以及空间的使用信息
·列的缺省值
·完整性约束信息
·用户信息
·角色信息和权限
·审计信息
5、数据字典视图的三种静态视图集
·带有DBA前缀的视图:所有方案中的视图。
只有DBA才能查询,被授予了SELECT ANY TABLE系统权限的用户也可以查询
·带有ALL前缀的视图:用户可以访问的视图
·带有USER前缀的视图:用户方案中的视图
6、动态性能表
·虚拟表,驻留在内存中
·记录当前数据库的活动
·在数据库运行状态时不断更新
·通过内存和控制文件访问信息
·用户监控和优化数据库
·属于SYS用户
·同义词以V$开头
·在V$FIXED_TABLE中列出
7、管理脚本命名约定
约定 | 说明 |
cat*.sql | 目录和数据字典信息 |
dbms*.sql | 数据库程序包说明 |
prvt*.sql | 封装的数据库程序包代码 |
utl*.sql | 数据库实用程序的视图和表 |
8、部分动态新能视图:
·V$CONTROLFILE:列出控制文件的名称
·V$DATABASE:包含控制文件中的数据库信息
·V$DATAFILE:包含控制文件中的数据文件信息
·V$INSTANCE:显示当前例程的状态
·V$PARAMETER:列出会话的当前有效参数和值
·V$SESSION:列出当前每个会话的会话信息
·V$SGA:包含有关系统全局区(SGA)的摘要信息
·V$SPPARAMETER:列出SPFILE的内容
·V$TABLESPACE:显示控制文件中的表空间信息
·V$THREAD:包含控制文件中的线程信息
·V$VERSION:Oracle服务器中核心库组件的版本号
9、部分查询练习:
·查询数据库中的所有对象:
select owner,object_name,object_type from dba_objects ;
·查询用户具有访问权限的全部对象的信息:
select owner,object_name,object_type from all_objects;
·查询用户方案中的对象:
select owner,object_name,object_type from user_objects;
·获取数据字典概览:
select * from dictionary;
·查询数据字典视图的列表:
select table_name from dictionary;
·查询数据库名称:
SQL> select dbid,name from v$database;
·查询实例名称:
select instance_name from v$instance;