电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

存储参数storage子句含义及设置技巧


发布日期:2021/11/23
 

系统环境

操作系统Windows

数据库Oracle i R () for NT 企业版

安装路径C:\ORACLE

解释

可用于表空间回滚段索引分区快照快照日志

参数名称 缺省值 最小值 最大值 说明

INITIAL (数据块) (数据块) 操作系统限定 分配给Segment的第一个Extent的大小以字节为单位这个参数不能在alter语句中改变如果指定的值小于最小值则按最小值创建

NEXT (数据块) (数据块) 操作系统限定 第二个Extent的大小等于NEXT的初值以后的NEXT值=前一NEXT大小乘以(+PCTINCREASE/如果指定的值小于最小值则按最小值创建

如果在alter语句中改变NEXT的值则下一个分配的Extent将具有指定的大小而不管上一次分配的Extent大小和PCTINCREASE参数值

MINEXTENTS (Extent)

回滚段为个Extent (Extent)

回滚段为个Extent 操作系统限定 Segment第一次创建时分配的Extent数量

MAXEXTENTS 根据数据块大小而定 (Extent)

回滚段为个Extent 无限制 随着Segment中数据量的增长最多可分配的Extent数量

PCTINCREASE %

(Oracle中为%) % 操作系统限定 指定第三个及其后的Extent相对于上一个Extent所增加的百分比

如果PCTINCREASE为则Segment中所有新增加的Extent的大小都相同等于NEXT的值

如果PCTINCREASE大于则每次计算NEXT的值(用上面的公式)

PCTINCREASE不能为负数

创建回滚段时不可指定此参数回滚段中此参数固定为

OPTIMAL 不能小于回滚段初始分配空间 操作系统限定 仅与回滚段有关当回滚段因为增长扩展而超过此参数的设定范围时Oracle系统会根据情况动态地重新分配Extents试图收回多分配的Extent

FREELISTS 数据块大小限制 只能在CREATE TABLECLUSTERINDEX中指定FREELISTS和FREELIST GROUPS参数

模式对象中每一个自由列表组中自由列表的数量

FREELIST GROUPS 取决于Oracle并行实例的数量 用户创建的数据库对象的自由列表组的数量只有用OPS并行服务器选项时才使用这一参数一个实例对应一个组

BUFFER_POOL 给模式对象定义缺省缓沖池(高速缓存)该对象的所有块都存储在指定的高速缓存中对于表空间或回滚段无效

建议PCTINCREASE参数设置为可使碎片最小化使每一个Extent都相同(等于NEXT值)

一旦建立了某个对象它的INITIAL和MINEXTENTS参数不能修改(Oracle 中可修改MINEXTENTS参数)

对于NEXT和PCTINCREASE的任何修改都只影响后来分配的那些Extent

在分配一个新Extent时系统直接按NEXT的值分配一个Extent

然后用公式前一NEXT值*(+PCTINCREASE/) 计算出下一个应该分配的Extent的大小

并把计算结果保存到相关数据字典的NEXT_EXTENT列上做为下一个应该分配的Extent的大小

CREATE TABLE test(a number)

STORAGE(

INITIAL K

NEXT K

MINEXTENTS

MAXEXTENTS

PCTINCREASE );

解释

初始给test表分配两个Extent

第一个Extent是K因INITIAL=K

第二个Extent是K因NEXT=K

如果因表内数据增长需要分配第三个Extent因PCTINCREASE是

第三个Extent是K=K+K

第四个Extent是K=K+K

可通过数据字典表DBA_TABLESALL_TABLESUSER_TABLES查看参数设置情况

select table_nameinitial_extentnext_extentmin_extentsmax_extentspct_increase from user_tables;

TABLE_NAME INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE

TEST

上一篇:ext3格式下的quota的实现

下一篇:多系统共存的方法