从事ERP系统开发和管理时,对Oracle表空间及空间大小总是需要查看及调整,总结常用SQL如下:
--查看表空间
SELECT *FROM dba_tablespaces WHERE tablespace_name LIKE'NNC_DATA%';--扩展可以调整表空间对应的数据文件的大小,或者为这个表空间添加数据文件
--调整数据文件大小
ALTER DATABASE DATAFILE 'C:\oracle\oradata\DEMO\NNC_DATA01.DBF' RESIZE10000M;
--添加数据文件
ALTER TABLESPACE NNC_DATA01 ADD DATAFILE 'd:\oracle\oradata\DEMO\nnc_data01.dbf'SIZE 30000M;
--查询表空间使用情况
SELECT
total.tablespace_name AS 表空间名称,
ROUND(total.MB,2) AS 大小MB,
ROUND(total.MB-free.MB, 2) AS 已使用MB,
ROUND((1-free.MB/total.MB)*100, 2)||'%' AS 使用率
FROM
(SELECT tablespace_name, SUM(bytes)/1024/1024 AS MB FROM dba_free_space GROUP BY tablespace_name) free,
(SELECT tablespace_name, SUM(bytes)/1024/1024 AS MB FROM dba_data_files GROUP BY tablespace_name) total
WHERE
free.tablespace_name=total.tablespace_name
ORDER BY
total.tablespace_name