在管理軟件應用中,常常會出現(xiàn)數(shù)據(jù)庫空間滿了的問題,導致管理軟件不效能出現(xiàn)問題或者甚至不能使用。當這種情況出現(xiàn)了該怎么辦呢?下面就介紹下方法
方法/步驟如下所示:
1.查詢用戶對應的表空間,我們可以看到針對不同的數(shù)據(jù)庫用戶Oracle
select username, default_tablespace, temporary_tablespace
from dba_users;

2.查詢用戶的對應的數(shù)據(jù)文件,以及數(shù)據(jù)文件大小
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;

3.根據(jù)1.2 用戶對應的表空間,以及表空間的大小,可以在通過下述語句查看目前使用百分比,如果所用空間不再下述查詢范圍內,則證明此空間已經(jīng)滿了,沒有剩余量的空間在下面的SQL中沒有展示,我們可以看到有一個空間已經(jīng)到了95%
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 ;

4.此時我們執(zhí)行空間擴增語句。把剛才使用率95%空間從1800M擴增到3000M
alter database datafile '/u2/oracle/PLM_SD_data' resize 3000m
擴增成功后如下圖所示

5.此時在執(zhí)行空間使用率查詢語句得出如下的結果,可以看到空間擴增成功。

6.最后我們在通過SQL語句查詢一下空間是不是變成了3000M
當然為了防止空間不夠,導致異常,還可以設置空間自動延展。但是本人不太建議使用此功能,因為有可能導致空間的無限蔓延。

總結
以上所述是小編給大家介紹的Oracle數(shù)據(jù)庫空間滿了進行空間擴展的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- 在Linux系統(tǒng)上同時監(jiān)控多個Oracle數(shù)據(jù)庫表空間的方法
- Oracle數(shù)據(jù)庫中表空間的基本管理操作小結
- ORACLE數(shù)據(jù)庫空間整理心得
- Oracle數(shù)據(jù)庫的空間管理技巧