v$fixed_table不包括静态视图,而dict既包括动态视图也包括静态视图
一、 静态数据字典
这类数据字典主要是由表和视图组成,应该注意的是,数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_*、 all_*、 dba_*。
1)All_视图:用户可以访问的所有视图
2)DBA_视图:只有sysdba才能访问的视图
3)USER_视图:只有当前用户可以访问的视
user_*
该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)
all_*
该试图存储了当前用户能够访问的对象的信息。(与user_*相比,all_* 并不需要拥有该对象,只需要具有访问该对象的权限即可)
dba_*
该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限)
主要描述当前用户的信息,主要包括当前用户名、帐户id、帐户状态、表空间名、创建时间等。例如执行下列命令即可返回这些信息。
主要描述当前用户拥有的所有表的信息,主要包括表名、表空间名、簇名等。通过此视图可以清楚了解当前用户可以操作的表有哪些。
主要描述当前用户拥有的所有对象的信息,对象包括表、视图、存储过程、触发器、包、索引、序列等。该视图比user_tables视图更加全面。例如, 需要获取一个名为“package1”的对象类型和其状态的信息,可以执行下面命令:
该视图主要是存储当前用户下对所有表的权限信息。比如,为了了解当前用户对table1的权限信息,可以执行如下命令:
二动态数据字典(动态性能视图)
Oracle包含了一些潜在的由系统管理员如SYS维护的表和视图,由于当数据库运行的时候它们会不断进行更新,所以称它们为动态数据字典(或者是动态性能视图)。这些视图提供了关于内存和磁盘的运行情况,所以我们只能对其进行只读访问而不能修改它们。
该视图显示数据库中锁定的数据库对象以及访问这些对象的会话对象(session对象)。
该视图列出当前会话的详细信息。由于该视图字段较多,这里就不列详细字段,为了解详细信息,可以直接在sql*plus命令行下键入:desc v$session即可。
该视图主要描述当前数据库下的活动的实例的信息。依然可以使用select语句来观察该信息。
该视图列出当前会话的属性信息。比如命名空间、属性值等。
三、静态数据字典视图 和动态数据字典视图(动态性能视图)的区别
b:数据字典视图只有在数据库opn的情况下才可以访问,而部分动态性能视图可以数据库非open状态下使用。
c:数据字典视图里看到的列信息一般都是大写,而动态性能视图里看到的一般都是小写。
d:数据字典视图里的信息是静态的,在数据库关闭后不丢失;而动态性能视图里的信息是动态的,关闭instance后信息丢失。
获取动态性能视图的定义:select
获取数据字典视图的定义:select * from dba_views where view_name='DBA_TABLES';