数据字典是用来保存数据库信息的,通过数据字典可以了解到Oracle数据库的内部信息,例如表的创建者、创建时间、所属表空间和用户的访问权限等等。DBA在遇到问题的时候需要充分的了解数据库的各种信息,这个时候就可以充分的利用到数据字典了。
Oracle的数据字典有两类:
第一类,静态数据字典。
静态数据字典是数据不会随着用户的访问的变化而变化的。
a.以USER_开头的视图。这些视图用来存储当前用户所拥有的各种数据库对象的信息。
b.以ALL_开头的视图。这些视图用来存储当前用户可以访问的各种数据库对象的信息,当前用户可能不拥有这些对象,但是却拥有这些对象的访问权限。
c.以DBA_开头的视图。这些视图用来保存数据库中所有对象的信息。当前用户必须拥有访问数据库的权限(一般需要拥有DBA权限),才能够看到这些视图中的数据。
由于数据字典是由SYS用户所拥有的,因此在缺省的情况下,只有SYS用户或者拥有DBA权限的用户才能够查询数据字典中的所有视图。
第二类,动态数据字典。
动态数据字典是会根据用户的访问的变化而变化,也会随着数据库的性能的变化而变化。
Oracle的动态视图都是以v$开头的,例如v$session的视图中列出了当前会话的详细信息。