ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 教你如何成为Oracle 10g OCP - 第三章 数据字典学习

教你如何成为Oracle 10g OCP - 第三章 数据字典学习

原创 Linux操作系统 作者:tolywang 时间:2009-06-03 13:54:12 0 删除 编辑


1. 插入数据的时候,Oracle需要知道物理上这个table位于哪个数据文件里,哪个表,表有哪些列,每个列类型等
   存储这些信息的表叫做数据字典表 。

2. 数据字典的两部分:  数据字典表及数据字典视图

3. 数据字典基本表是在create database 的时候由Oracle自动创建的(调用$ORACLE_HOME/rdbms/admin/sql.bsq),

tab$     /* table table */
clu$     /* cluster table */

create table fet$                                       /* free extent table */
( ts#           number not null,        /* tablespace containing free extent */
  file#         number not null,              /* file containing free extent */
  block#        number not null,              /* starting dba of free extent */
  length        number not null           /* length in blocks of free extent */
)


create table uet$                                       /* used extent table */
( segfile#      number not null,               /* segment header file number */
  segblock#     number not null,              /* segment header block number */
  ext#          number not null,         /* extent number within the segment */
  ts#           number not null,        /* tablespace containing this extent */
  file#         number not null,              /* file containing this extent */
  block#        number not null,              /* starting dba of this extent */
  length        number not null           /* length in blocks of this extent */
)

 

seg$      /* segment table */
undo$     /* undo segment table */
ts$       /* tablespace table */
file$     /* file table */
obj$      /* object table */
ind$       /* index table */
icol$      /* index column table */
col$      /* column table */
user$     /* user table */
con$      /* constraint table */
ccol$     /* constraint column table */
tsq$      /* tablespace quota table */
syn$      /* synonym table */
trigger$   /* trigger table */


4.  数据字典表存放在sys用户下,system表空间中,用户只能读取数据字典表,不能DML或DDL
修改,不要试图修改其中的记录,基本表之间关系复杂,修改可能导致DB崩溃。

5.  数据字典基本表关系过于复杂,不便于查询,Oracle提供数据字典视图来简化数据字典,他们
隐藏了数据字典基本表之间的复杂关系,而且View列名含义清晰.

6.  数据字典视图及同义词通过脚本catalog.sql创建, cataproc.sql 用来创建数据库内建的
存储过程、包等PL/SQL对象,建库的时候这两个脚本一定要运行,DBCA会自动调用。

7.  数据字典视图: DBA_, ALL_, USER_ , DBA_视图包含整个库的数据,ALL_ 当前登陆用户有权限看到的
数据, USER_ 记录了当前登陆用户拥有的所有表的信息 。

8.  dictionary 视图记录了所有视图的注释,它的同义词 dict 。

9.  Oracle数据字典视图: 先基于数据字典基本表创建视图,然后为视图创建一个同名的同义词,并
将同义词赋给Public , 使所有用户可以通过同义词查看数据字典的信息。

10. 动态性能视图: 另外一种数据字典,是将内存中的数据或控制文件中的数据以表的形式展现出来。他们
实际都是虚拟表,数据库运行过程中,会不断更新动态性能视图中的数据,一旦关闭,数据将丢失,重新启动
后数据重新开始计算。

11. 所有动态性能视图的名称都存放在 v$fixed_table中,视图名称为  v_$开头,建立同义词后删除了”_“,也有例外,
gv$session 视图, v$session是基于gv$session创建的, v$session不是一个同义词,v_$session 是基于v$session的。

12. v$fixed_view_definition 记录所有动态性能视图的定义信息。    

13. x$ 表:动态性能视图的基表,是内存表,不是存放在数据文件中的。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-611736/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13201121