DBA_TABLES、ALL_TABLES以及USER_TABLES此三个视图可以用来查询ORACLE中关系表信息,它们之间的关系和区别有:
DBA_TABLES >= ALL_TABLES >=USER_TABLES
DBA_TABLES意为DBA拥有的或可以访问的所有的关系表。
ALL_TABLES意为某一用户拥有的或可以访问的所有的关系表。
USER_TABLES意为某一用户所拥有的所有的关系表。
由上可知,当某一用户本身就为数据库DBA时,DBA_TABLES与ALL_TABLES等价。此规律可以类推至Oracle中其它类似名称的视图。
需要注意的是在ORACLE数据库中大小写是敏感的,而此三表中数据默认都是大写的,所以在进行查询的时候注意小写的数据可能会造成数据无法查到。
----------------------------------------------------------------------------
补充: 数据字典
数据字典是Oracle数据库的核心组件,它由一系列只读的数据字典表和数据字典视图组成。
数据字典表的所有者为SYS用户,其数据字典表和数据字典视图都被保存在SYSTEM表空间中。
分为数据字典表和数据字典视图。
数据字典以前缀user_, all_, dba_开始。
User_视图显示关于当前用户所拥有的信息。
All_视图除了显示关于当前用户拥有的信息外,还显示当前用户具有相应权限的其他用户的信息。
Dba_视图显示整个数据库信息。只有数据库管理员才可以访问dba_视图。
数据库的任何用户都可以访问all_和user_视图。