深入浅出Oracle学习笔记:数据字典

      共有系统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 ”

 

 

你可能感兴趣的:(oracle学习)