共有系统RDBMS表、数据字典、动态视图、数据字典视图4种。
1.内部RDBMS表
oracle系统运行需要的表,以x$开头,如x$ksppi、x$ksppcv
2.数据字典
记录系统的表、对象、索引等;如obj$ 、 users$
3.动态视图
系统通过的一些动态视图,以便适时查询数据库当前状态。如v$parameter、v$fixed_table
每一个v$视图都有一个Gv$视图存在。
同时,由v$和gv$ 还延伸出 v_$ 、GV_$ 公用同义词视图。以解决非sys用户,v$不能访问的问题。
4.数据字典视图
以user_*,all_*,dba_* 开头的表;如 user_col_comments ------查询当前用户下所有的表
user_* 是all_* 的子集。
说明: 当我们以非sys用户查询 如 v$parameter 时,因为该视图是管理员视图,我们不能查询的。
所以,实际查询的是它的同义词。
这就延伸出:当我们查询一个表或者视图时,oracle系统后台执行逻辑是:
1.先查询当前用户下的表和视图
2.如果没有,查询用户下的私有同义词是否存在
3.如果存在,查询同义词的对象
4.如果同义词对象没有,查询用户下的公有同义词是否存在
5.如果存在,查询同义词的对象
6.如何还没有,提示“ora-00942 tabale or view does not exist ”