数据字典是很重要的数据库对象之一,它是在数据库创建时由数据库服务器创建的一些额外的对象,这些
对象存放在数据文件中,主要包括基表和数据字典视图,其中基表在oracle数据库服务器中使用create
database创建,因为基表中的数据格式是无法直接阅读的,所以oracle使用数据字典视图收集基表的信息
,该数据字典视图是可读的,对DBA有很高的价值。主要记录了数据库创建的信息、各种对象的信息等(比
如:用户信息、用户和角色特权信息、表、视图、索引等信息)。
每个数据库都有数据字典这个对象,它们结构是一样的,只不过具体内容不一样。
数据字典视图由oracle数据库服务器自动创建并维护,也就是说只有oracle服务器可以修改数据字典中的
信息。在数据库运行期间,数据库结构或其他对象的变化信息会及时地记录在数据字典基表中。
user_* :该视图存储关于当前用户所拥有的对象的信息。
all_* :该视图存储当前用户能够访问的对象信息(与user_*相比,all_*并不需要拥有该对象,只需要
拥有访问权限即可)。
dba_* :该视图存储数据库中所有对象的信息(前提是,当前用户具有访问这些数据库的权限)。
这三个视图存储的数据,在一定程度上会有重叠。
user_users:主要描述当前用户的信息,包括当前用户名、账号、表空间名字、创建时间等。
user_tables:描述当前用户所拥有的所有表的信息,包括表名、所属表空间等。
user_objects:描述当前用户所拥有的所有的对象信息。
user_tab_privs:描述当前用户对所有表的权限信息。
user_catalog:当前用户所有表的名字和类型
前面的视图均以user_开头,其实all_开头的也完全一样的,只是列出来的信息是当前用户可以访问的对象
而不是拥有的对象而已。对于dba开头的,需要管理员才能访问,用法都一样。
数据字典视图分为三类,这些视图都是静态视图(即,数据库运行期间不会发生变化,除非执行analyze指
令),它们以不同的前缀名分开:
dba_users视图,通过dba身份登录,查看这个视图信息,可以得知当前数据库上所有的用户信息。
oracle还维护了另一类非常重要的数据字典视图:动态性能视图,它们以“v$”为前缀。它只存在于运行
的数据库,是一组虚表。动态性能视图只有管理员可以查询,其他用户不需要查询这些续表中的信息。比
如:
select * from v$instance
可以查看当前所登录的实例信息。
select * from v$database
可以查看当前数据库的信息。
show user命令,可以显示当前的用户名称。
对象存放在数据文件中,主要包括基表和数据字典视图,其中基表在oracle数据库服务器中使用create
database创建,因为基表中的数据格式是无法直接阅读的,所以oracle使用数据字典视图收集基表的信息
,该数据字典视图是可读的,对DBA有很高的价值。主要记录了数据库创建的信息、各种对象的信息等(比
如:用户信息、用户和角色特权信息、表、视图、索引等信息)。
每个数据库都有数据字典这个对象,它们结构是一样的,只不过具体内容不一样。
数据字典视图由oracle数据库服务器自动创建并维护,也就是说只有oracle服务器可以修改数据字典中的
信息。在数据库运行期间,数据库结构或其他对象的变化信息会及时地记录在数据字典基表中。
user_* :该视图存储关于当前用户所拥有的对象的信息。
all_* :该视图存储当前用户能够访问的对象信息(与user_*相比,all_*并不需要拥有该对象,只需要
拥有访问权限即可)。
dba_* :该视图存储数据库中所有对象的信息(前提是,当前用户具有访问这些数据库的权限)。
这三个视图存储的数据,在一定程度上会有重叠。
user_users:主要描述当前用户的信息,包括当前用户名、账号、表空间名字、创建时间等。
user_tables:描述当前用户所拥有的所有表的信息,包括表名、所属表空间等。
user_objects:描述当前用户所拥有的所有的对象信息。
user_tab_privs:描述当前用户对所有表的权限信息。
user_catalog:当前用户所有表的名字和类型
前面的视图均以user_开头,其实all_开头的也完全一样的,只是列出来的信息是当前用户可以访问的对象
而不是拥有的对象而已。对于dba开头的,需要管理员才能访问,用法都一样。
数据字典视图分为三类,这些视图都是静态视图(即,数据库运行期间不会发生变化,除非执行analyze指
令),它们以不同的前缀名分开:
dba_users视图,通过dba身份登录,查看这个视图信息,可以得知当前数据库上所有的用户信息。
oracle还维护了另一类非常重要的数据字典视图:动态性能视图,它们以“v$”为前缀。它只存在于运行
的数据库,是一组虚表。动态性能视图只有管理员可以查询,其他用户不需要查询这些续表中的信息。比
如:
select * from v$instance
可以查看当前所登录的实例信息。
select * from v$database
可以查看当前数据库的信息。
show user命令,可以显示当前的用户名称。