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$VERSIONOracle服务器中核心库组件的版本号

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;