檢視表空間名稱、大小、使用大小、剩餘大小和使用率:
select a.tablespace_name "表空間名稱",
total / (1024 * 1024) "表空間大小(m)",
free / (1024 * 1024) "表空間剩餘大小(m)",
(total - free) / (1024 * 1024 ) "表空間使用大小(m)",
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
更改表空間大小(例如改為10g) !!!
操作時確保資料已經備份
alter database datafile '/表空間路徑/表空間檔名稱.dbf' resize 10240m;
設定表空間自動增長:
alter database datafile '/表空間路徑/表空間檔名稱.dbf' autoextend on;//開啟自動增長
alter database datafile '/表空間路徑/表空間檔名稱.dbf' autoextend on next 200m ;//每次自動增長200m
alter database datafile '/表空間路徑/表空間檔名稱.dbf' autoextend on next 200m maxsize 1024m;//每次自動增長200m,表空間最大不超過1g
自帶表結構
dba_free_space
表空間空閒查詢
表空間使用率查詢
select a.file id 檔案號,a.tablespace name 表空間名稱,b.file name 物理檔名,b.autoextensible 自動擴充套件,b.maxbytes 1024 1024 1024 最大空間g,total 1024 1024 表空間mb,free 1024 ...
檢視 Oracle 表空間使用率
1 用到了 sys.dba free space sys.dba data files 兩個檢視,需要被賦予在這兩個檢視物件上的查詢許可權。connect as sysdba grant select on sys.dba free space to forrest grant select on ...
ORACLE檢視表空間使用率
之前寫程式需要實現乙個查詢資料庫表空間使用率的功能,雖然不知道做它的意義有多大,專案要求就得做。寫了乙個,只能查到永久表空間,temp表空間不知道怎麼查詢,今天上網找了找,把sql補充完整了,其實都是找來現有的資源用的,收藏一下。select from select a.tablespace nam...