转:http://www.blogjava.net/hao446tian/archive/2011/10/28/362218.html
本文通过图表和实例的阐述在Oracle数据库创建新表时Storage的参数具体含义。
可用于:表空间、回滚段、表、索引、分区、快照、快照日志
参数名称 | 缺省值 | 最小值 | 最大值 | 说明 |
INITIAL | 5(数据块) | 2(数据块) | 操作系统限定 | 分配给Segment的第一个Extent的大小,以字节为单位,这个参数不能在alter语句中改变,如果指定的值小于最小值,则按最小值创建。 |
NEXT | 5(数据块) | 1(数据块) | 操作系统限定 | 第二个Extent的大小等于NEXT的初值,以后的NEXT值=前一NEXT大小乘以(1+PCTINCREASE/100),如果指定的值小于最小值,则按最小值创建。 如果在alter语句中改变NEXT的值,则下一个分配的Extent将具有指定的大小,而不管上一次分配的Extent大小和PCTINCREASE参数值。 |
MINEXTENTS | 1(Extent) 回滚段为2个Extent |
1(Extent) 回滚段为2个Extent |
操作系统限定 | Segment第一次创建时分配的Extent数量 |
MAXEXTENTS | 根据数据块大小而定 | 1(Extent) 回滚段为2个Extent |
无限制 | 随着Segment中数据量的增长,最多可分配的Extent数量 |
PCTINCREASE | 50% (Oracle816中为0%) |
0% | 操作系统限定 | 指定第三个及其后的Extent相对于上一个Extent所增加的百分比, 如果PCTINCREASE为0,则Segment中所有新增加的Extent的大小都相同,等于NEXT的值, 如果PCTINCREASE大于0,则每次计算NEXT的值(用上面的公式), PCTINCREASE不能为负数。 创建回滚段时,不可指定此参数,回滚段中此参数固定为0。 |
OPTIMAL | ---- | 不能小于回滚段初始分配空间 | 操作系统限定 | 仅与回滚段有关,当回滚段因为增长、扩展而超过此参数的设定范围时,Oracle系统会根据情况动态地重新分配Extents,试图收回多分配的Extent。 |
FREELISTS | 1 | 1 | 数据块大小限制 | 只能在CREATE TABLE、CLUSTER、INDEX中指定FREELISTS和FREELIST GROUPS参数。 模式对象中每一个自由列表组中自由列表的数量 |
FREELIST GROUPS | 1 | 1 | 取决于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
相关推荐
以下是对标题“oracle-storage参数”及其描述和部分文本内容中所涉及的关键知识点的详细解析: ### INITIAL(初始大小) `INITIAL`参数定义了数据段的第一个区(Extent)的大小。当创建一个新对象时,如一张表或一...
为了理解如何优化创建索引的过程,首先需要了解Oracle创建索引时涉及的主要I/O操作: 1. **RA**:对源表加X类型的表级DDL锁。 2. **RB**:读取源表数据块的I/O。 3. **RC**:索引键排序,如果内存中无法容纳所有的...
创建表空间参数详解是 Oracle 数据库中一个非常重要的概念,了解创建表空间参数详解的知识点可以帮助数据库管理员更好地管理和维护数据库。下面我们将详细解释创建表空间参数详解的语法描述,并对每个参数进行详细的...
1. OMF(Oracle Managed Files):OMF是Oracle11g中一个重要的管理特性,它允许数据库自动管理文件的创建、扩展和删除,极大地简化了数据库的存储管理。 2. ASM(Automatic Storage Management):ASM是Oracle11g...
在创建表空间时,需要指定其名称、数据文件的位置、初始大小、扩展方式等参数。 **示例代码**: ```sql -- 1. 删除已存在的表空间 (如果存在) DROP TABLESPACE AC INCLUDING CONTENTS CASCADE CONSTRAINTS; -- 2....
通过上述内容,我们不仅了解了创建表空间的基本方法,还学习了如何合理配置数据文件的存储参数,这对于高效管理和维护Oracle数据库具有重要意义。在实际应用中,还需根据具体的业务需求和技术环境灵活调整表空间的...
### Oracle 创建表空间及用户权限分配详解 #### 一、表空间的概念与作用 在Oracle数据库中,表空间是逻辑存储单元,它由一个或多个数据文件组成,并且是数据库对象(如表、索引等)存放的地方。简单来说,表空间...
### Oracle 创建表空间知识点 #### 一、表空间概述 在 Oracle 数据库中,表空间是一种逻辑存储单元,用于组织和管理数据文件。一个表空间由一个或多个数据文件组成,这些数据文件存储在操作系统中指定的位置。创建...
### Oracle表空间与数据文件详解 #### 一、Oracle表空间与数据文件的概念 在Oracle数据库中,**表空间**是存储数据的基本单位之一,它是一个或多个数据文件的逻辑集合。表空间提供了数据存储的逻辑视图,而数据...
### Oracle 创建用户及数据表的思路方法 #### 一、概念理解 在开始具体操作之前,我们需要先了解一些基本的概念。 ##### 1. 数据库(Database) **定义**:数据库是一种按照某种数据模型组织起来,并存储在二级...
### Oracle Automatic Storage Management (ASM):深入解析与实践部署指南 #### 一、Oracle ASM简介 Oracle Automatic Storage Management(简称ASM)是Oracle数据库系统中的一种高性能、可伸缩且易于管理的存储...
本篇文章将深入探讨Oracle表空间的概念、作用、创建方法以及常用的SQL语句,帮助你更好地理解和管理数据库资源。 一、Oracle表空间概念 在Oracle数据库中,表空间是逻辑存储单元,用于组织数据库对象,如表、索引和...
通过创建索引,可以显著提升查询性能,尤其是在处理大型数据表时更为明显。索引类似于书籍中的目录,能够帮助数据库快速定位到所需的数据行。 #### 二、创建索引 根据提供的描述,创建索引的具体命令为: ```sql ...
3. ASM(Automatic Storage Management):Oracle的自动存储管理能自动平衡I/O,减少管理负担。 三、并行执行 1. PARALLELISM:通过设置并行执行因子,可以将大查询或DML操作分解为多个子任务并行处理,提高执行...
设计时,应为表、列、索引和群集使用描述性名称,保持缩写的使用一致性,使用COMMENT命令记录每个表及其列的含义,标准化表结构,并为每列选择适当的数据类型。在创建表之前,需要决定是否使用完整性约束,并考虑...
当我们在大学环境中教授Oracle数据库安全时,学生会学习如何配置和使用Keystore来增强数据库的安全性。 描述中的"PRACTICE FOR STUDENT IN UNIVERSITY"暗示了这是一个教学实践项目,让学生通过实际操作了解和掌握...
- 表空间管理:合理规划表空间,避免单个表空间过大或过小,根据数据量和业务需求创建和扩展表空间。 - 磁盘I/O优化:通过RAID、ASM(Automatic Storage Management)等技术提高磁盘性能。 3. 数据文件的维护与恢复...
- **MINEXTENTS**:这是创建表或索引时的一个参数,用于指定对象初始分配的extent数量。Extent是由连续的数据块组成的存储单元。MINEXTENTS的设置决定了对象创建时分配的最小extent数量。如果后续数据增长导致需要更...
#### 二、Oracle表空间创建与管理 1. **创建表空间** ```sql CREATE TABLESPACE test DATAFILE 'c:/oracle/oradata/db/test01.dbf' SIZE 50M UNIFORM SIZE 1M; ``` **解释**: - 创建一个名为`test`的新...