zoukankan      html  css  js  c++  java
  • 数据字典解析

    生成顺序:X$--->GV$--->V$---GV_$/V_$--->GV$/V$(同义词)
     
    X$表:
     
         X$表是Oracle数据库的核心部分,用于跟踪内部数据库信息,维持数据库的正常运行、
         X$表是加密命名的,而且Oracle不做文档说明,这部分知识是Oracle公司的技术机密,Oracle通过这些X$建立其他大量视图,提供用户查询管理数据库之用。
         X$表是Oracle数据库运行的基础,在数据库启动时由Oracle应用程序动态创建。这部分表对数据库来说至关重要,所以Oracle不允许SYSDBA之外的用户直接访问,显示授权不被允许。
     
         研究X$表的一个好办法是借用Oracle的AUTOTRACE功能,当查询一些常用视图的时候,可以通过AUTOTRACE功能发现这些view的底层表。
     
         set autotrace trace explain;
     
         select * from v$parameter;     
     
         set autotrace off;
     
     
    数据字典表【Data Dictionary Table】:
          
         数据字典表用来存储表、索引、约束以及其他数据库结构的信息,这些对象通常以v$结尾,如:tab$,obj$,ts$等,在创建数据库的时候通过运行sql.bsq脚本来创建。
         sqp.bsq是非常重要的一个文件,其中包含了数据字典表的定义及注释说明,每个试图深入学习Oracle数据库的用户都应该仔细阅读一下该文件,该文件位于$ORACLE_HOME/rdbms/admin/目录下。
     
     
    动态性能视图:
     
         动态性能(V$)视图记录了数据库运行时信息和统计数据,大部分动态性能视图被实时更新以反映数据库当前状态。
         Oracle通过动态性能视图将Oracle数据库的状态展示出来,提供给用户和数据库管理员,Oracle对v$视图给出了详细的文档说明供开发管理人员参考,是研究和管理数据库的主要依据。
     
     
         GV$和V$视图:
         
              在数据库启动时,Oracle动态创建X$表,在此基础上,Oracle创建了GV$和V$视图,G表示global,除了一些特例外,每个v$视图都有一个对应的gv$视图存在,GV$视图的产生是为了满足RAC环境的需要,在RAC环境中,查询GV$视图返回所有实例信息,而每个V$视图是基于GV$视图,增加了inst_id列的where条件限制建立的,只包含当前连接实例信息。
     
         GV_$,V_$视图和V$,GV$同义词:
     
         在GV$和V$之后,Oracle建立了GV_$和V_$视图,随后为这些视图建立了公用同义词。
         这些工作都是通过catalog.sql脚本实现的【脚本位于:$ORACLE_HOME/rdbms/admin/目录下】
     
         V_$和GV_$视图是基于V$和GV$视图首先被创建,然后基于V_$和GV_$视图的同义词被创建
     
     
     
    通过V_$视图,Oracle把V$视图和普通用户隔离,V_$视图的权限可以授予其他用户,而Oracle 不允许任何对于V$视图的直接授权。
     
    对于内部表X$和V$视图的限制,Oracle是通过软件机制来实现的,而并非通过数据库权限控制。
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    转载请说明出处 |QQ:327488733@qq.com
  • 相关阅读:
    如何用StatSVN统计SVN服务器某项目的代码量
    探秘JVM的底层奥秘
    SpingMVC流程图
    NioCopy文件
    我的angularjs源码学习之旅3——脏检测与数据双向绑定
    我的angularjs源码学习之旅2——依赖注入
    我的angularjs源码学习之旅1——初识angularjs
    IE兼容性问题汇总【持续更新中】
    nodejs学习笔记四——express-session
    我理解的this
  • 原文地址:https://www.cnblogs.com/zhenxing/p/3649497.html
Copyright © 2011-2022 走看看