最近有朋友问我关于oracle表空间的问题,oracle有快一年没用了,都忘得差不多了。。。只好重新整理一下,哎,看来有时候有些东西是该记一下,不然以后想查都难。简单整理了一下表空间方面脚本。
1.查看表空间情况
select ff.s tablespace_name,
ff.b total,
(ff.b - fr.b) usage,
fr.b free,
round((ff.b - fr.b) / ff.b * 100) || '% ' usagep
from (select tablespace_name s, sum(bytes) / 1024 / 1024 b
from dba_data_files
group by tablespace_name) ff,
(select tablespace_name s, sum(bytes) / 1024 / 1024 b
from dba_free_space
group by tablespace_name) fr
where ff.s = fr.s
求表空间 空间大小 使用多少空间 剩余多少空间
2.给表空间增加数据文件, 大小100M
alter tablespace 表空间名 add datafile '数据文件路径' size 100M;
例子:
alter tablespace myspace add datafile 'c:\oracle\ora81\oradata\sid\user002.dbf' size 100M;
3.设定数据文件自动增加大小(当数据文件达到最大限定值后,自动增加)
alter database datafile 数据文件名 autoextend on next 10M