存储参数(storage子句)含义及设置技巧
2024-07-21 02:09:41
供稿:网友
系统环境: 1、操作系统:windows 20002、数据库: oracle 8i r2 (8.1.6) for nt 企业版3、安装路径:c:/oracle解释: 可用于:表空间、回滚段、表、索引、分区、快照、快照日志参数名称缺省值最小值最大值说明initial5(数据块)2(数据块)操作系统限定分配给segment的第一个extent的大小,以字节为单位,这个参数不能在alter语句中改变,如果指定的值小于最小值,则按最小值创建。next5(数据块)1(数据块)操作系统限定第二个extent的大小等于next的初值,以后的next值=前一next大小乘以(1+pctincrease/100),如果指定的值小于最小值,则按最小值创建。如果在alter语句中改变next的值,则下一个分配的extent将具有指定的大小,而不管上一次分配的extent大小和pctincrease参数值。minextents1(extent)回滚段为2个extent1(extent)回滚段为2个extent操作系统限定segment第一次创建时分配的extent数量maxextents根据数据块大小而定1(extent)回滚段为2个extent无限制随着segment中数据量的增长,最多可分配的extent数量pctincrease50%(oracle816中为0%)0%操作系统限定指定第三个及其后的extent相对于上一个extent所增加的百分比,如果pctincrease为0,则segment中所有新增加的extent的大小都相同,等于next的值,如果pctincrease大于0,则每次计算next的值(用上面的公式),pctincrease不能为负数。创建回滚段时,不可指定此参数,回滚段中此参数固定为0。optimal----不能小于回滚段初始分配空间操作系统限定仅与回滚段有关,当回滚段因为增长、扩展而超过此参数的设定范围时,oracle系统会根据情况动态地重新分配extents,试图收回多分配的extent。freelists11数据块大小限制只能在create table、cluster、index中指定freelists和freelist groups参数。模式对象中每一个自由列表组中自由列表的数量freelist groups11取决于oracle并行实例的数量用户创建的数据库对象的自由列表组的数量,只有用ops并行服务器选项时才使用这一参数,一个实例对应一个组。buffer_pool------------给模式对象定义缺省缓冲池(高速缓存),该对象的所有块都存储在指定的高速缓存中,对于表空间或回滚段无效。
建议pctincrease参数设置为0,可使碎片最小化,使每一个extent都相同(等于next值)一旦建立了某个对象,它的initial和minextents参数不能修改(oracle 816中可修改minextents参数)对于next和pctincrease的任何修改都只影响后来分配的那些extent在分配一个新extent时,系统直接按next的值分配一个extent,然后用公式:前一next值*(1+pctincrease/100) 计算出下一个应该分配的extent的大小,并把计算结果保存到相关数据字典的next_extent列上,做为下一个应该分配的extent的大小。create table test(a number)storage(initial 100k next 100k minextents 2 maxextents 100 pctincrease 100); 解释:初始给test表分配两个extent,第一个extent是100k,因initial=100k第二个extent是100k,因next=100k如果因表内数据增长,需要分配第三个extent,因pctincrease是100,则第三个extent是200k=100k+100k第四个extent是400k=200k+200k可通过数据字典表dba_tables、all_tables、user_tables查看参数设置情况,如:select table_name,initial_extent,next_extent,min_extents,max_extents,pct_increase from user_tables;table_name initial_extent next_extent min_extents max_extents pct_increase---------- -------------- ----------- ----------- ----------- ------------test 106496 212992 2 100 100