数据字典和动态性能视图学习小结 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

参考资料: Oracle 9i  联机文档

作者邮箱: [email]ministorager@gmail.com[/email]

数据字典是一种特殊的表,动态性能视图是一种逻辑的伪表

数据字典和动态性能视图的作用:描述这个数据库和数据库的对象(如、表、索引、视图、表空间、约束、等等),它们是只读的表,由Oracle自己去维护,不需要我们来人工干预。

数据字典和动态性能视图是由两部分组成:基表和视图,基表是在创建数据库时Oracle调用SQL.BSQ脚本执行创建的。视图是调用catalog.SQL执行创建的。

数据字典里是存储的一些元信息,描述对象的信息

包括以下信息:

1) 数据库存储的物理和逻辑结构信息

2) 数据库对象的定义以及对象的存储方式

3) 用户信息(USERS)

4) 角色信息(ROLES)

5) 权限信息(PRIVILEGES)

6) 审计信息(AUDITING)

当执行DDL数据定义语言时,Oracle会自动修改更新数据字典信息

有的时候,执行DML数据操作语言时,也会修改更新数据字典信息,但这种情况很少。

数据字典的分类

1)USER(用户能看到schma所包含的对象信息)

2)ALL(当前用户能看到的所有对象信息,需要授权)

3)DBA(整个数据库范围内的对象以及其他信息)

查看数据字典里到底有多少表:select * from dictionary;

必须掌握的数据字典表

dict_columns,dictionary

dba_tables,dba_indexes,dba_tab_columns

dba_constraintsdba_segments,dba_extents,

dba_tablespaces,dba_data_files

数据字典存储相对不变的信息

动态性能视图:存储每时每刻都在变化的信息,主要是数据库的活动状态信息,它把存储在内存里的信息,以表的形式展现出来

1)记录当前数据库的状态

2)它的信息主要从控制文件和内存中来

3)监控状态和数据库调优由很大帮助

4)视图的宿主是SYS

5)v$是动态的,对象的别名,同义词

6)动态性能表实际上是存储在v$fixed_table

例如:

desc  v$fixed_table

select * from v$fixed_table

常用的动态性能视图表

v$controlfile(控制文件的信息)

v$database(数据库的信息)

v$datafile(数据文件的信息)

v$instance(实例的信息)

v$parameter(pfile中的参数信息)

v$sparameter(spfile中的参数信息)

v$tablespace(表空间信息)

v$session(用户的连接信息)

v$sga(sga的信息)

v$thread(redo log的信息数据块信息)

v$version(数据库的信息如版本信息)

------------------------------------

管理脚本

rdbms/admin/目录下的脚本

cat*.sql----作用:创建数据字典

dbms*.sql/prvt*.sql---oracle提供的标准的常用PL/SQL包,增强数据库功能

UTL*.SQL----一些常用的oracle工具包,运行这些包,就会增加一些新的功能,

例如查询哪些表是由空闲的,需要查询下面的两张数据字典表:

Select * from dba_free_space

Select * from dba_segments

更多数据字典和动态信息视图,你可以查看Oracle的联机文档!

感谢你的阅读!