数据自动视图分为三大类,分别用对应的前缀表示为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;