*创建临时表空间
create temporary tablespace test_temp
tempfile 'E:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf'
size 32m
autoextend on next 32m maxsize 2048m extent management local;
*创建用户表间
create tablespace test_data
logging datafile 'E:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf'
size 32m
autoextend on next 32m maxsize 2048m extent management local;
*重设表间大小
有两种方法,一种是为表空间增加数据文件
alter tablespace tablespace_name add datafile 'filepath' size filesize autoextend on next autosize maxsize filemaxsize
alter tablespace users add datafile 'E:\oracle\ora81\oradata\sid\user002.dbf' size 100M;
另一种方法是增加表空间原有数据文件尺寸:
alter database datafile 'filepath' resize filesize
alter database datafile 'c:\oracle\ora81\oradata\\sid\users.dbf' resize 1000M;
alter database datafile 'c:\oracle\ora81\oradata\\sid\users.dbf' resize 1000M;
*关闭表空间的自动扩展属性
alter database datafile 'filepath' autoextend off
*打开表空间的自动扩展属性
alter database datafile 'filepath' autoextend on
*使表空间脱机
alter tablespace tablespace_name offline
*使表空间联机
alter tablespace tablespace_name online
*设置表空间为只读
alter tablespace tablespace_name read only
*设置表空间为读写
alter tablespace tablespace_name read write
*删除表空间
drop tablespace tablespace_name
*删除表空间的同时,删除数据文件
drop tablespace tablespace_name including contents and datefiles
*移动表空间数据文件步骤
a.使表空间脱机:
alter tablespace tablespace_name offline
b.物理移动数据文件到目的地(可以是表空间的部分数据文件或者是修改数据文件的名称)
c.逻辑移动:alter tablespace tablespace_name rename datafile '源文件地址'to '目的文件地址'--注意可以将多个源文件转移到同一个目的文件地址(多个源文件地址用逗号分隔)
d.将表空间联机:alter tablespace tablespace_name online
*查看表空间使用状况
select a.a1 表空间名称,c.c2 类型,c.c3 区管理,b.b2/1024/1024 表空间大小M,(b.b2-a.a2)/1024/1024 已使用M,substr((b.b2-a.a2)/b.b2*100,1,5) 利用率
from
(select tablespace_name a1, sum(nvl(bytes,0)) a2 from dba_free_space group by tablespace_name) a,
(select tablespace_name b1,sum(bytes) b2 from dba_data_files group by tablespace_name) b,
(select tablespace_name c1,contents c2,extent_management c3 from dba_tablespaces) c
where a.a1=b.b1 and c.c1=b.b1;
*查看表空间对应的文件
select * from dba_data_files