Oracle入门精读33-创建表空间及几种常用的语法格式详解(create tablespace)

一般情况下,建立表空间是特权用户或是dba来执行的.

语法:

Create [TEMPORARY] TABLESPACE tablespace_name TEMPFILE|DATAFILE 'fileName.dbf' size  xxx

#[TEMPORARY] 如果创建临时表空间,需在create后加TEMPORARY的关键字,且用TEMPFILE关键字。

#TEMPFILE|DATAFILE  存储的数据文件的类型和名字。

#size 表示数据文件的大小

注意:如果没有指定数据文件存放的路径,默认会将数据文件存放到Oracle的安装目录下

几个常见语法格式

格式1

create tablespace sample1 

datafile 'E:\oradata\GSDoorDB\sample1_1.dbf' size 5M

extent management local autoallocate

segment space management auto

logging

permanent

flashback on

格式2

create tablespace sample2

datafile 'E:\oradata\GSDoorDB\sample2_1.dbf' size 5M

extent management local uniform

segment space management auto

logging

permanent

flashback on

格式3

create tablespace sample3

datafile 'E:\oradata\GSDoorDB\sample3_1.dbf' size 5M  autoextend on next 2M maxsize 15M   

extent management local autoallocate    //区的分配方式:自动

segment space management auto           //段的管理:自动分配

logging                 //表空间重做日志

permanent              //表空间永久

online                    //表空间在线

flashback on               //表空间闪回

格式4

create tablespace sample4 

datafile 'E:\oradata\GSDoorDB\sample4_1.dbf' size 100M  autoextend off

extent management local uniform size 1M

blocksize 8k

segment space management auto

logging

permanent

offline

flashback on

格式5

create tablespace sample5

datafile 'E:\oradata\GSDoorDB\sample5_1.dbf' size 100M autoextend off

extent management local uniform size 1M blocksize 8k

segment space management manual     //段管理:手动

logging

permanent

online

flashback on

创建结果如下:

语法格式中的语句解说

第一句:

create tablespace sample1  创建一个名为sample1的表空间

ORACLE可创建表空间有三种类型:

1), temporary: 临时表空间,用于临时数据的存放

create temporaray tablespace sample1 ……

2), undo: 还原表空间. 用于存入重做日志文件

create undo tablespace sample1 ……

3),用户表空间: 最重要的,存放用户数据的表空间

create tablesapce sample ……

第二句:

datafile 用于指定数据文件的具体位置和大小

如,datafile 'E:\oradata\GSDoorDB\sample1_1.dbf' size 5M

存放位置是 'E:\oradata\GSDoorDB'目录, sample1_1.dbf文件的大小为5M。

如果有多个文件,可以用逗号隔开:

datafile 'E:\oradata\GSDoorDB\sample1_1.dbf' size 5M

datafile 'E:\oradata\GSDoorDB\sample1_2.dbf' size 10M

指定文件名时,必须为绝对地址,不能使用相对地址;但是每个文件都需要指明大小,如 5M 或 10M。

第三句:

extent management local 存储区管理方法

Oracle 8i以前, 区的分配方式的不同,有两种方式:字典管理方式(dictionary-managed tablespace,DMT)和本地管理方式(local-managed tablespace,LMT)。

从9I开始,只能是本地管理方式,Oracle 10g开始强烈建议使用 LMT 方式。因为LOCAL 管理方式有很多优点。

备注:在自动分配的本地管理的表空间中,区间尺寸可能由以下尺寸组成64k, 1m, 8m, 64m ,256m。但不管多大,都有一个通用尺寸64k,所以64K就是该表空间的位大小。

演示范例

1)创建空间

SQL>

create tablespace dummy  datafile 'E:\oradata\GSDoorDB\dummy_1.dbf' size 100M

extent management local uniform size 1M

segment space management auto

logging

permanent

online

flashback on

2)建表

SQL> create table tb1 (x number) tablespace dummy storage (initial 50M);

3)确认数据文件的存在

SQL> select file# from v$datafile where name like '%DUMMY%';

4)查看一个数据表被分配到的区数量

SQL> select extents from user_segments where segment_name = 'TB1';

 

第四句:

segment space management auto 段管理方法——磁盘扩展管理方法

auto: 只能使用在本地管理的表空间中,段大小由系统自动确定。

第五句:

nologging和logging

nologging:创建表空间时,不创建重做日志

logging:就是在创建表空间时生成重做日志

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值