Oracle Table的创建参数

先看一个oracle 10g 下table 创建SQL,都是默认值:

CREATE TABLE SYS.QS

USERNAME  VARCHAR2(30 BYTE)                   NOT NULL,

USER_ID   NUMBER                              NOT NULL,

CREATED   DATE                                NOT NULL

TABLESPACE SYSTEM

PCTUSED    40

PCTFREE    10

INITRANS   1

MAXTRANS   255

STORAGE    (

INITIAL          64K

MINEXTENTS       1

MAXEXTENTS       UNLIMITED

PCTINCREASE      0

FREELISTS        1

FREELIST GROUPS  1

BUFFER_POOL      DEFAULT

LOGGING

NOCOMPRESS

NOCACHE

NOPARALLEL

MONITORING;

对于 数据字典管理(Dictionary managed)和 本地化管理(Local Managed)的表空间,他们的参数是不同的, 在Local Managed 模式下,的autoallocate和 uniform类型不同,参数也会不同。 这里使用的是local managed autoallocate类型的表空间。

一、Storage 参数说明

1. INITIAL

Specify the size of the first extent of the object. Oracle allocates space for this extent when you create the schema object. Refer to size_clause for information on that clause.

In locally managed tablespaces, Oracle uses the value of INITIAL, in conjunction with the type of local management—AUTOALLOCATE or UNIFORM—and the values of MINEXTENTS, NEXT and PCTINCREASE, to determine the initial size of the segment.

(1)With AUTOALLOCATE extent management, Oracle uses the INITIAL setting to optimize the number of extents allocated. Extents of 64K, 1M, 8M, and 64M can be allocated. During segment creation, the system chooses the greatest of these four sizes that is equal to or smaller than INITIAL, and allocates as many extents of that size as are needed to reach or exceed the INITIAL setting. For example, if you set INITIAL to 4M, then the database creates four 1M extents. But if you set INITIAL to 14M, then the database creates two 8M extents, which exceeds the INITIAL setting, rather than creating the less optimal one 8M extent plus six 1M extents.

(2)For UNIFORM extent management, the number of extents is determined from initial segment size and the uniform extent size specified at tablespace creation time. For example, in a uniform locally managed tablespace with 1M extents, if you specify an INITIAL value of 5M, then Oracle creates five 1M extents.

Consider this comparison: With AUTOALLOCATE, if you set INITAL to 72K, then the initial segment size will be 128K (greater than INITIAL)。 The database cannot allocate an extent smaller than 64K, so it must allocate two 64K extents. If you set INITIAL to 72K with a UNIFORM extent size of 24K, then the database will allocate three 24K extents to equal 72K.

In dictionary managed tablespaces, the default initial extent size is 5 blocks, and all subsequent extents are rounded to 5 blocks. If MINIMUM EXTENT was specified at tablespace creation time, then the extent sizes are rounded to the value of MINIMUM EXTENT.

-- 自Oracle 9i 以后,推荐使用本地管理的表空间,不建议使用字典管理的表空间。

Restriction on INITIAL You cannot specify INITIAL in an ALTER statement.

2.  MINEXTENTS

(1)In locally managed tablespaces, Oracle Database uses the value of MINEXTENTS in conjunction with PCTINCREASE, INITIAL and NEXT to determine the initial segment size.

(2)In dictionary-managed tablespaces, specify the total number of extents to allocate when the object is created. The default and minimum value is 1, meaning that Oracle allocates only the initial extent, except for rollback segments, for which the default and minimum value is 2. The maximum value depends on your operating system.

时间: 2024-09-12 00:33:05

Oracle Table的创建参数的相关文章

Oracle 11g中recyclebin参数的微小变化

SQL> show parameter recyclebin NAME      TYPE  VALUE ------------------------------------ ----------- ------------------------------ recyclebin      string  on SQL> alter system set recyclebin=off; alter system set recyclebin=off                    

如何在oracle中手工创建数据库

oracle中手工创建数据库的步骤: 1. 创建必要的相关目录 2. 创建初始化参数文件 3. 设置环境变量Oracle_sid 4. 创建实例 5. 创建口令文件 6. 启动数据库到nomount(实例)状态 7. 执行建库脚本 8. 执行catalog脚本创建数据字典 9. 执行catproc创建package包 10.      执行pupbld 11.      由初始化参数文件创建spfile文件 12.      执行scott脚本创建scott模式 13.      用命令测试数据

Oracle Data Guard创建物理Standby数据库

Oracle Data Guard创建物理Standby数据库 创建物理备库 机器名 a1 a2 IP: 192.168.1.10 192.168.1.20 Net_Name a1 a2 SID a1 a2 DB_UNIQUE_NAME a1 a2 注:主节点上创建数据库a1,备节点上只安装oracle软件不创建任何数据库; 1.配置listener.ora 主节点listener.ora: SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (GLOBAL_DBN

oracle数据库存储过程带输入参数建表的语法和在oracle中调用语法

问题描述 oracle数据库存储过程带输入参数建表的语法和在oracle中调用语法 大神们,随便给几个例子参照一下啊,oracle数据库存储过程带输入参数建表的语法和在oracle中调用语法 解决方案 差不多这个意思,http://zhidao.baidu.com/link?url=lYFB7BBbSoybi5mTurmVbI88Q5R78nnhHyQUiMAhF3B4iyA1OiPCxY4xsRS7v_v0kBdbtCVvVlPHhfY9Rerx7K 解决方案二: create or repl

oracle修改最大连接数参数processes

修改ORACLE最大连接数 Oracle的连接数相关参数:processes.sessions. Oracle的sessions是个派生值,由processes的值决定  1.通过SQLPlus修改 查看数据库连接数 SQL> show parameter processes; processes integer 150 SQL> show parameter sessions; sessions  integer 248 SQL> alter system set processes=

oracle 12c 数据库创建

问题描述 oracle 12c 数据库创建 oracle 菜鸟 请大神回答 windows 环境: 1.创建数据库及用户的命令(sql 语句). 2.一个进程下可以运行多过数据库吗?还是每个数据库必须启动一个进程? 解决方案 网上有很多创建数据库及用户的sql命令.例如 / * --创建一个名字为 Eric 的数据库 create database Eric on primary (name=Eric,filename='D:Eric.mdf',size=3mb,maxsize=50mb,fil

20160318了解oracle版本升级的一些参数变化

[20160318]了解oracle版本升级的一些参数变化.txt --曾经写过一篇了解oracle版本升级后一些参数变化,可以通过如下连接了解: http://blog.itpub.net/267265/viewspace-1655594/ --实际上还有一个简单的方法就是提示opt_param('optimizer_features_enable' '11.2.0.1') ,然后顺便执行一条sql语句,查看执行计 --划就可以那些参数发生了变化.通过例子说明: 1.环境: SCOTT@boo

火狐下table中创建form导致两个table之间出现空白的问题

在<FORM>中加CSS <table> ....... </table> <form style="padding:0; margin:0;"> <input name=""> </form> <table> ....... </table> 注意:在火狐中 <table> <form>.......</form> </tabl

Oracle oradim的pfile参数

该文件的命名约定默认为: init$ORACLE_SID.ora (Unix环境下) init%ORACLE_SID%.ora (Windows环境下) 默认地将其放在以下目录中 $ORACLE_HOME/dbs (Unix) %ORACLE_HOME%/DATABASE (Windows) 该参数文件不必放在指定的位置上.启动实例时可以在启动命令上使用pfile=filename选项来设置其位置. 但是该文件有两个缺点: 1.该参数文件必须放在启动数据库的客户机上,会导致参数文件的大面积"繁殖