從事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