schema和空间_数据库


    Oracle的逻辑结构就是oracle的内部结构,从上图可以看出:一个数据文件是又多个操作系统块组成;一个数据块也是有多个操作系统块组成;一个表空间由多个数据文件组成;一个数据库有很多schema组成。

    

      Schema的含义:他就是一个集合,里面包含表、试图、过程、包、同义词、数据链等对象,一个user就是该scheam的名称,所以一个数据库由多个scheam组成。创建schema是通过创建user实现的。

Oracle逻辑结构各个部分:

1、tablespace:逻辑上用来保存各种段segment,物理上由多个操作系统文件组成。从逻辑上讲,数据库中的数据存在表空间中;从物理上讲,数据库中的数据存在于数据文件中。一个表空间可以有多个数据文件,但一个数据文件只能属于一个表空间。

表空间分类:系统表空间与非系统表空间

系统表空间:创建数据库的时候,oracle会自动生成system表空间,用来存放oracle的数据字典,一般不存放用户数据。

非系统表空间:可分临时表空间、用户表空间、回滚段表空间。

临时表空间存放用户排序等的临时数据,临时段在下次启动系统的时候全部释放;用户表空间由用户创建用来存放用户的数据及索引等;

回滚段表空间间临时存放修改前数据。

2、segment:一个或者多个结构相同的扩展区、对象组成,可以跨越属于一个表空间的多个数据文件,但是不能跨越表空间;dba_segments保存段的信息,dba_extests 获得已用子段信息,dba_free_space检查空闲字段信息。

3、extent:连续的数据库组成一个扩展区,一个区不能跨数据文件,一个区只能唯一的属于一个数据文件。

决定extent的参数:

Initial 最初分配的空间

Next 下一步分配的空间数

Minextents 段生成时最小分配区数

Maxextents 段生成时最大分配区数

Pctincrease 增长率

Optimal 尽量设小(缺省为空,仅用回滚段)

表空间、表、索引、分区、快照、快照日志的存储参数

参数名

默认值

最小值

Initial

5个数据块

2个数据块

Next

5个数据块

1个数据块

Minextents

1

1

Maxextents

根据数据块大小而定

1

Pctincrease

50

0

存储参数的设定规则:

Ø  对象级的存储参数设置覆盖表空间级的存储参数设置。

Ø  未在对象级设置存储参数的,由表空间级存储参数决定。

Ø  未在表空间设置存储参数的,由数据库级存储参数决定。

Ø  存储参数改变后,新的选项只针对未分配的extents有效。

4、block:数据库中最小的逻辑存储单位,由多个操作系统块组成,大小一般是8K(由创建数据库db_block_size时指定),数据块的大小应该是操作系统块的整数倍,最大值取决于os。

块的构成:块头、表目录、行目录。