创建表时,Oracle
在某一表空间中为新建的表分配一个数据段,该数据段可以用来存储表中的数据。
表所在的表空间情况,如下:
1)可以是当前用户的默认表空间。
create user ximi identified by ximi123 default tablespace users Temporary TABLESPACE Temp;
grant connect,resource to ximi; //授予用户开发人员的权限
2)可以是CREATE TABLE语句中通过TABLESPACE子句指定某一表空间。
在CREATE TABLE语句中通过设置一些参数来管理表中区和块的存储空间的分配和使用:
1、通过PCTFREE/PCTUSED等参数控制数据块存储空间的使用
2、通过INITIAL/NEXT/PCTINCREASE等存储参数设置区的分配方式。
语法格式:
Create table schema.table_name
(Column1 Datatype(长度) 列约束,
Column2 Datatype(长度) 列约束……表约束)
创建表的一些定义
Pctfree n --每个数据库为update操作所保留的空间百分比,默认为10
Pctused n --在数据库上可以重新插入数据的已用空间最低百分比
Initrans n
Maxtrans n --指定可以同时对表所有块进行更新操作的最小和最大的事务数
Tablespace tbname --将所创建的表部署到规定的表空间中
Storage(
Initial n --指定表第一个区的大小
Next n--指定初始扩展区大小
Minextents n
Maxextents n --指定为表的段分配的区数的最大值和最小值
Pctincrease n --指定扩展区递增的百分比
Buffer_pool --指定默认使用哪个数据缓冲区
)
各项含义简述:
Schema:表的所有者
Table:表名
Column:字段名
Datatype:字段的数据类型
Tablespace:表所在的表空间
STORAGE:标识决定如何将区分配给表的存储子句
STORAGE子句:
INITIAL:初始区的大小
NEXT:下一个区的大小
PCTINCREASE:以后每个区空间增长的百分比
MINEXTENTS:段中初始区的数量
MAXEXTENTS:最大能扩展的区数
在创建表时没有设置这些参数,那么Oracle将自动把表所在表空间的这些存储参数设置为该表的存储参数。
演示
SQL>create table test_Storage(a number)
storage(
initial 100K
next 100K
minextents 2
maxextents 100
pctincrease 100
)
显示参数设置情况
- SQL> select table_name,initial_extent,next_extent,min_extents,max_extents,pct_increase from user_tables;
控制并发性参数
INITRANS
对数据段的缺省值为1,对索引段的缺省值为2,以保证最低程度的并发
MAXTRANS
的缺省值为255,它设置可更改数据块或者索引块的并发事务数的限制。