Oracle数据库体系结构(四)_存储参数

        在上一章《Oracle数据库体系结构(三)_逻辑结构》中关于区的分配机制,它是与Oracle数据库的存储在参数是紧密联系,本节简单介绍下Oracle数据库的存储参数。

 

        存储参数主要用于控制段的空间分配。有两个级别的存储参数,即表空间级和表级别。

  •  表空间级别是在创建表空间时创建,用于定义表空间中表(段)的空间的分配原则。
  •  表级别是在创建数据表时创建,用于定义表(段)的空间分配原则

        这两种级别的存储参数都是用于控制表(段)的空间分配。在使用Create table命令时创建表时,若没有指定该表的存储参数,Oracle则从表空间中继承存储参数,利用继承的存储参数来对段进行管理。

        创建存储参数的方式:

  •  表空间级:在创建表空间时,使用Default  Storage子句设置对应的存储参数
create Tablespace xddbs
datafile 'F:\app\oradata\tablespace\xd_dbs.dbf'
default storage (
    initial 120K
    next 1M
    pctincrease 40
    minextents 1
    maxextents unlimited)
online;
  • 表级:在创建表时,使用Storage子句设置对应的存储参数
create table CUSTOMER_INFO
(
  cusid            VARCHAR2(40) not null,
  cusname          VARCHAR2(80),
  custype          VARCHAR2(20),
  certtype         VARCHAR2(20),
  certid           VARCHAR2(40),
  cuspassword      VARCHAR2(20),
  remark           VARCHAR2(250), 
  status           VARCHAR2(20),
  inputdate        VARCHAR2(20),
)
tablespace xddbs 
  storage
  (
    initial 1M
    next 2M
    pctincrease 60
    minextents 1
    maxextents unlimited
  );
  

        存储参数的类型:

  • initial :表示分配给表(段)的初始大小
  • next:指定第二个区的大小
  • pctincrease ::指定第三个及后续分配区的增长百分比
  • minextents:指定创建表时,至少要分配多少区空间给这个表
  • maxextents:指定可以分配给这个表(段)的最大数量

         若表空间 管理方式是本地管理的表空间,则所有区的有统一的大小,可以让Oracle决定后续区的大小。创建表空间时,可以在extent management local子句中使用Autoallocate 和 Uniform参数来指定使用那种分配方式

  •  Autoallocate:指定该中方式时,用户不可以指定区的大小,它由Oracle自身决定。Oracle将根据需要分配大小合适的区。在通常情况下,会分配大小为64KB的区,若块的大小超过了16KB,Oracle则会分配1M的区
create Tablespace xddbs
datafile 'F:\app\oradata\tablespace\xd_dbs.dbf'
size 50M;
extend managetment local Autoallocate;
  • Uniform:使用该方式,则不需要数据库管理员的任何干预,Oracle会自动分配大小相同的区。所有的区大小都相同
create Tablespace xddbs
datafile 'F:\app\oradata\tablespace\xd_dbs.dbf'
size 50M;
extend managetment uniform size 128K;

你可能感兴趣的:(Oracle,oracle,数据库)