這幾天一直資料庫插入不了,最後是資料庫表空間滿了。
---查詢表空間檔案最大值已經目前值
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;