首页 > 代码库 > 数据字典视图

数据字典视图

数据自动视图分为三大类,分别用对应的前缀表示为user_*,all_*,dba_*分别表示的意思如下:

user_*:有关用户所拥有的对象的信息,即用户自己创建的对象的信息

all_*:有关用户可以访问的对象的信息,即用户自己创建的对象信息加上用户可以有权限访问的对象的信息

dba_*:有关整个数据库对象的信息

这里的*可以是tables、indexes、objects等

用前缀user开头的数据字典视图中的列与以all 、dba开头的字典的列几乎是一样的只是相比缺少了列owner,表示该对象的属主。因为是user开始的数据字典视图中的对象拥有者应该是当前登录用户。故不需要owner列来重复标注。

所有的数据字典视图都是静态视图,当oracle数据库发生变化时并不及时的更新这些视图,只有当执行了oracle的analyze指令后这些视图才会被刷新。

数据字典视图包含如下信息:

1、对象的属主

2、用户所拥有的权限

3、对象的创建时间

4、对象存储参数的设置

5、对象存储空间的使用情况

ex:查看当前登录用户所拥有的表:select table_name from user_tables;

      查看当前登录用户可用的表:select table_name,owner from all_tables where owner not like ‘%SYS;‘

另外表user_catalog(别名cat)是user_tables中table_name,table_type两列组合成的新表。用户可以用user_catalog看到自己所拥有的表的表名和表类型。与使用user_tables相比使用user_catalog更简单些。

select * from user_catalog;或者select * from cat;