oracle中用Create Table创建表时,Storage中参数的含义!

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

时间: 2024-11-01 20:25:14

oracle中用Create Table创建表时,Storage中参数的含义!的相关文章

sql CREATE TABLE 创建表语句

CREATE TABLE语句的基本语法是:  代码如下 复制代码 CREATE TABLE table_name ( column1 datatype null/not null,   column2 datatype null/not null,   ... ); 每列必须有一个数据类型.列应被定义为"null"或"not null",如果这个值是空,默认的"null". 实例  代码如下 复制代码 CREATE TABLE suppliers

创建表时考虑列的顺序

创建 创建表时考虑列的顺序创建一个表时表中列的顺序在某些程度上对性能会有一定的影响.(表中的列有数据)Oracle对行数据的存储结构ROW HEADER(行头)和COLUMN DATA(列数据).ROW HEADER存储的信息是一个FLAG BYTE,一个LOCK BYTE 和COLUMN COUNT.COLUMN DATA包含COLUMN LENGTH和COLUMN DATA 关于这些我们可以DUMP个表做一下测试create test as select * from dba_objects

数据库-createtable创建表时出错

问题描述 createtable创建表时出错 strCommand.Format("CREATE TABLE file_info (NAME TEXT,TYPE TEXT,TIME TEXT,PATH TEXT)"); 这句显示字段定义语法错误 该怎么改 解决方案 用的什么数据库,是否支持TEXT类型,另外,name time是否是关键字,需要转义. 解决方案二: 看上去可能是字段名称跟关键字冲突了.换个名字. 解决方案三: 这样试试: strCommand.Format("

db2 导入-db2导入时报SQL3319N 创建表时发生 SQL 错误 "-286"

问题描述 db2导入时报SQL3319N 创建表时发生 SQL 错误 "-286" E:kelanzjnsWebSitezjbank1227>db2move zjnsWeb import Application code page not determined, using ANSI codepage 1386 ***** DB2MOVE ***** Action: IMPORT Start time: Thu Aug 29 17:29:29 2013 Connecting to

继承python内置的list,在创建实例时,提示参数个数不正确

问题描述 继承python内置的list,在创建实例时,提示参数个数不正确 class namelist(list): def init(self,a_name,m1): list._init_([]) self.name=a_name self.m=m1 d=namelist('c','m') 报错:Traceback (most recent call last): File "", line 1, in d=namelist('c','m') TypeError: list()

Oracle中用游标实现多表级联更新详解

级联更新使用名目:  代码如下 复制代码 CREATE TABLE A001(ID INT PRIMARY KEY,NAME VARCHAR(20)) CREATE TABLE A002(ID INT REFERENCES A001(ID)ON DELETE CASCADE ON UPDATE CASCADE,AGE TINYINT) 例1  代码如下 复制代码 declare   CURSOR D_CURSOR_CUS_INFO IS     select t3.id_           a

MySQL 中怎么在创建表时,对字段进行限定输入

问题描述 创建一个table时,怎么对字段内容进行限定?如:性别只能输入"男"."女", 年龄在 1 到 3位整数之间.谢谢! 问题补充:谢谢,有具体例子.分给你吧,新来的,就这么点,别嫌少啊,呵呵.liveHappy 写道 解决方案 比如:create table user(uid int auto_increment primary key, - 用户IDuname varchar(20) not null unique, - 用户名upwd varchar(2

sql: Oracle 11g create table, function,trigger, sequence

--书藉位置Place目录 drop table BookPlaceList; create table BookPlaceList ( BookPlaceID INT PRIMARY KEY, --NUMBER BookPlaceName nvarchar2(500) not null, BookPlaceCode varchar(100) null, --位置編碼 BookPlaceParent INT null --BookPlaceKindId nvarchar(500) null --

存储-oracle,表判断是否存在,不存在则先创建表,再执行语句,存在则执行语句

问题描述 oracle,表判断是否存在,不存在则先创建表,再执行语句,存在则执行语句 create or replace procedure proc_dept_monthhours as v_sql varchar2(20000):=''; v_flag number(10,0):=0; begin select count(*) into v_flag from user_TABLES where table_name='HO_DEPT_MONTHHOURS'; if v_flag>0 th