天天看點

查詢oracle表空間是否滿了,oracle表空間滿了,導緻資料不能寫入資料庫

這幾天一直資料庫插入不了,最後是資料庫表空間滿了。

---查詢表空間檔案最大值已經目前值

select f.* from dba_data_files f

---檢視資料庫表空間大小,使用大小的sql

SELECT a.tablespace_name "表空間名",

total "表空間大小",

free "表空間剩餘大小",

(total - free) "表空間使用大小",

total / (1024 * 1024 * 1024) "表空間大小(G)",

free / (1024 * 1024 * 1024) "表空間剩餘大小(G)",

(total - free) / (1024 * 1024 * 1024) "表空間使用大小(G)",

round((total - free) / total, 4) * 100 "使用率 %"

FROM (SELECT tablespace_name, SUM(bytes) free

FROM dba_free_space

GROUP BY tablespace_name) a,

(SELECT tablespace_name, SUM(bytes) total

FROM dba_data_files

GROUP BY tablespace_name) b

WHERE a.tablespace_name = b.tablespace_name

//因為上面這個查詢是查詢目前資料庫大小,是以如果滿了情況下會出現99%多的使用率,但是用下面的語句擴容後,也一直不會顯示太太一直在99%多的使用率,因為資料庫擴容是每50MB來擴的,不夠用就擴50Mb,直到MaxBety,需要使用

select f.* from dba_data_files f

來查詢最大表空間容量。

增加表空間最大值得方法

alter database datafile

'/opt/oracle/oradata/orcl/HdccDatabase.dbf' autoextend on next 50M

maxsize 19500M;