管理永久表空间
V$TABLESPACE
:从控制文件中获取的表空间名称和编号信息。
DBA_TABLESPACES
:所有……
案例
查询案例数据库中各个表空间的名称、区的管理方式、表空间类型等信息
SELECT TABLESPACE_NAME,EXTENT_MANAGEMENT,
CONTENTS FROM DBA_TABLESPACES
DATAFILE
:设定表空间对应的数据文件。
EXTENT MANAGEMENT
:指定表空间区的管理方式,取值为LOCAL(默认)或DICTIONARY。而对于本地管理,区的分配类型有两种:AUTOALLOCATE(默认)自动分配或UNIFORM定制分配。
SEGMENT SPACE MANAGEMENT
:设定段的管理方式,其取值为AUTO (默认)或MANUAL(手动管理)
案例
创建本地管理的永久表空间HRTBS1,数据文件‘D:\APP\ADMINISTRATOR\ORADATA\ORCL\HRTBS1_1.DBF’,大小50M,区采用自动分配方式,段采用自动管理方式。
CREATE TABLESPACE HRTBS1 DATAFILE
'D:\APP\ADMINISTRATOR\ORADATA\ORCL\HRTBS1_1.DBF' SIZE 50M;
创建本地管理的永久表空间HRTBS2,数据文件‘D:\APP\ADMINISTRATOR\ORADATA\ORCL\HRTBS2_1.DBF’,大小50M,区采用定制分配方式,每次512K,段采用自动管理方式
CREATE TABLESPACE HRTBS2 DATAFILE
'D:\APP\ADMINISTRATOR\ORADATA\ORCL\HRTBS2_1.DBF' SIZE 50M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K;
同理改一个单词即可
大文件
创建一个大文件表空间big_tbs,文件‘D:\APP\ADMINISTRATOR\ORADATA\ORCL\big01.dbf’大小为1G,区的分配采用定制方式(512K)
CREATE BIGFILE TABLESPACE big_tbs DATAFILE
'D:\APP\ADMINISTRATOR\ORADATA\ORCL\big01.dbf' SIZE 1G UNIFORM SIZE 512K;
修改表空间
将表空间设置为只读状态/恢复为读写状态
ALTER TABLESAPCE 表空间名 READ ONLY/READ WRITE;
DROP TABLESPACE
语句删除表空间
INCLUDING CONTENTS
删除表空间的数据文件不是空的
AND DATAFILES
删除表空间的同时还要删除操作系统中的数据文件
CASCADE CONSTRAINTS
删除表空间中的对象被其它表空间引用
案例
删除HRTBS2表空间。
DROP TABLESPACE HRTBS2 INCLUDING CONTENTS;
删除HRTBS3表空间,同时删除其所对应的数据文件。
DROP TABLESPACE HRTBS3 INCLUDING CONTENTS AND DATAFILES;
删除HRTBS4表空间,同时删除其所对应的数据文件,以及其他表空间中与HRTBS3表空间相关的参照完整性约束。
DROP TABLESPACE HRTBS4 INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
临时表空间
temp
创建一个临时表空间HRTEMP1,数据文件’D:\APP\ADMINISTRATOR\ORADATA\ORCL\HRTEMP1_1.DBF‘ 大小为20M,定制分配区间大小为15M
CREATE TEMPORARY TABLESPACE HRTEMP1 TEMPFILE 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\HRTEMP1_1.DBF' SIZE 20M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 15M;
数据文件管理
添加
直接上案例
为表空间HRTBS1添加一个数据文件‘D:\APP\HRTBS1_2.DBF’ ,初始大小为10M,每次自动扩展2M,并无上限
ALTER TABLESPACE HRTBS1 ADD DATAFILE
'D:\APP\HRTBS1_2.DBF' size 10M
AUTOEXTEND ON NEXT 2M MAXSIZE UNLIMITED;
可用性
将HRTBS1表空间的数据文件HRTBS1_1.DBF脱机
ALTER DATABASE DATAFILE
'D:\APP\ADMINISTRATOR\ORADATA\ORCL\HRTBS1_1.DBF' OFFLINE;
将HRTBS1表空间的数据文件HRTBS1_1.DBF联机
ALTER DATABASE DATAFILE
'D:\APP\ADMINISTRATOR\ORADATA\ORCL\HRTBS1_1.DBF' ONLINE;
脱机联机介质恢复
删除
删除表空间HRTBS1的数据文件‘D:\APP\HRTBS1_2.DBF’
ALTER TABLESPACE HRTBS1
DROP DATAFILE 'D:\APP\HRTBS1_2.DBF';