Oracle 起步日记(2)——表空间管理

今天看第二章 是数据库对象管理

 

首先 数据库对象,是表,视图,约束,存储过程,触发器之类的

书上有提到表空间一词,表空间就是用来保存这些数据库对象滴~

 

创建表空间对象~3种创建方式

1、autoallocate(自动分配)

CREATE TABLESPACE t1

DATAFILE 'e:\t1_1.dbf' SIZE 2M

AUTOALLOCATE;

t1是逻辑命名,t1_1是物理存储的名字

默认情况下,表空间的区管理为本地管理方式,不需要写语句

 

2、uniform(区分配)

CREATE TABLESPACE t2

DATAFILE 'e:\t2_1.dbf' SIZE 1M,

                   'e:\t2_2.dbf' SIZE 2M

UNIFORM SIZE 128K;

用这个方式,一个表空间能够对应多个数据文件,不过,不理解最后的SIZE 128M是什么意思~

于是百度了一下一段~

oracle中表,索引,分区等都叫做段,每个段是有多个物理上不连续的区间组成;当段的空间不够时Oracle是通过增加区间来实现的。UNIFORM SIZE就是这个表空间中所有的区间是同样的大小,好处是防止碎片

如果按上所言,应该是表空间中所有区间都是128K大

 

3、auto(段管理)

CREATE TABLESPACE t3

DATAFILE 'e:\t3_1.dbf' SIZE 1M

AUTOEXTEND ON NEXT 2M

MAXSIZE 10M

SEGMENT SPACE MANAGEMENT AUTO

段管理方式在默认情况下为manual(手动)

 

除了上述三种表空间的创建之外,临时表空间的创建,以及撤销表空间也是用到了CREATE TABLESPACE语句

CREATE TEMPORARY TABLESPACE temtbs1

TEMPFILE 'e:\temptbs1_1.dbf' SIZE 2M;

 

CREATE UNDO TABLESPACE undotbss1

DATAFILE 'e:\undotbs1_1.dbf' SIZE 2M;

还不明白临时表和撤销表空间的作用,至少目前我看它们依旧都是占了我所打代码的2M的空间……

不指定temporary或者undo则默认永久表空间

 

查询表空间信息

SELECT TABLESPACE_NAME tbs_name,

                 EXTENT_MANAGEMENT extent_mgt,

                 SEGMENT_SPACE_MANAGEMENT segment_mgt,

                 STATUS,CONTENTS

FROM DBA_TABLESPACES

WHERE TABLESPACE_NAME = 'T1';

查询是一个非常想砍人的工作,结论如下:

1、如果SELCET *,结果是全部出来了,但是完全无序化,看着非常纠结(因为表头过长导致)

2、条件句WHERE之后的TABLESPACE_NAME不可用缩写,提示标示符无效

3、由于我创建的表空间名为小写,于是一开始条件语句上写的是小写t1,结果提示“未选定行”,往书下面一看,很好~“在查询条件中,表空间的名称必须全部用大写字母,否则会出现查不到该表空间的情况

我很想怀疑下这些语句是不是全部被自动大写化了~

 

修改表空间

当表空间的物理数据文件容量不足时,可以通过为表空间增大数据文件容量或增加数据文件的个数两种方式来实现表空间的修改

1、增加数据文件

ALTER TABLESPACE t1        ;我很想骂人的,怎么这个时候就可以用小写了!!!!

ADD DATAFILE 'e:\t1_2.dbf' SIZE 2M;

所增加的数据文件可以放在其他的磁盘位置,要写正确完整的路径,如果只写文件名,则该数据文件被存放在Oracle默认路径下,另,文件扩展名不一定是dbf

2、修改数据文件大小

ALTER DATABASE

DATAFILE 'e:\t1_1.dbf'

RESIZE 4M;

 

修改表空间状态:

ALTER TABLESPACE  t1 OFFLINE;

 

删除表空间

DROP TABLESPACE t3

INCLUDING CONTENTS AND DATAFILES;

最后一句是:删除表空间中的数据及数据文件

 

今天到这里了~~睡觉 Z好眠

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值