需要在创建的时候就设置为自动扩展,语句如下:
创新互联公司是一家专注于成都网站设计、成都网站制作与策划设计,井研网站建设哪家好?创新互联公司做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:井研等地区。井研做网站价格咨询:18980820575
create tablespace shopping --创建shopping的表空间
datafile 'shopping.dbf' --物理文件名
size 50m --初始大小为50M
autoextend on --自动扩展
next 50m maxsize 20480m --每次自动扩展50M,最大可到20480M
extent management local;
表空间:
表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。
Oracle数据库中至少存在一个表空间,即SYSTEM的表空间。
SQL Server数据库与Oracle数据库之间最大的区别要属表空间设计。Oracle数据库开创性地提出了表空间的设计理念,这为Oracle数据库的高性能做出了不可磨灭的贡献。可以这么说,Oracle中很多优化都是基于表空间的设计理念而实现的。
处理方法有两种,
一是添加undo
表空间的数据文件,
二是切换undo
tablespace.
这种情况下多用在undo
表空间已经非常大的情况。
1
增加数据文件
sql
alter
tablespace
undo
add
datafile
'd:\undo02.dbf'
size
100m
reuse;
表空间已更改。
2
切换undo
表空间
1、建立新的表空间undotbs2
sql
create
undo
tablespace
undotbs2
datafile
'd:\undo03.dbf'
size
100m
reuse;
表空间已创建。
2、切换到新建的undo表空间上来,操作如下
sql
alter
system
set
undo_tablespace=undotbs2
scope=both;
系统已更改。
3、将原来的undo表空间,置为脱机:
sql
alter
tablespace
undo
offline;
表空间已更改。
4、删除原来的undo表空间:
sql
drop
tablespace
undo
including
contents
and
datafiles
cascade
constraints
表空间已删除。
如果只是drop
tablespace
undo
,则只会在删除控制文件里的记录,并不会物理删除文件。
drop
undo表空间的时候必须是在未使用的情况下才能进行。
如果undo表空间正在使用(例如事务失败,但是还没有恢复成功),那么drop表空间命令将失败。在drop表空间的时候可以使用including
contents。
1、BLOCKSIZE决定了datafile的最大值;
一个表空间数据文件存64G
2、alter system set db_16k_cache_size=16M scope=both;
BLOCKSIZE 16k;一个表空间数据文件可以存64G
3、一个表空间可以增加多个datafile,以扩展表空间
4、实例
nm=`date +%Y%m`
vts_src=VDATA_TS_${nm}
vdata_ts1=/data1/oracle/vdata_ts_${nm}_1.dbf
vdata_ts2=/data1/oracle/vdata_ts_${nm}_2.dbf
CREATE TABLESPACE $vts_src DATAFILE '$vdata_ts1' SIZE 512M AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED BLOCKSIZE 16k;
alter TABLESPACE $vts_src add DATAFILE '$vdata_ts2' SIZE 512M AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED;