早上看到alert日誌報說system表空間快滿了(oracle版本是11gr2):
如果system表空間不是自動擴充套件,空間用滿甚至會出現
資料庫無法登陸。使用任何使用者登入均報出異常。
系統表空間正常情況下只存放了資料字典之類的東西,所以占用的空間一般在500m以下。如果你的系統表空間占用比較多的空間,可能有以下幾方面的原因:
1)沒有為使用者明確指定預設表空間,導致system系統表空間作為使用者預設表空間
2)開啟了審計,請檢查此表的大小aud$
你可以執行以下查詢來檢查一下系統表空間哪些表比較大:
sql> select * from (select segment_name,sum(bytes)/1024/1024 sx from dba_segments
where tablespace_name='system' group by segment_name)
where sx>100 order by sx desc;
檢視該錶紀錄數
select count(*) sum from aud$;
解決方法大概可分為以下幾種:
一、為system表空間另外新增乙個資料檔案。
alter
tablespace system
adddatafile
'd:\oraclexe\oradata\xe\system_01.dbf'
resize 1024m;
二、更改system表空間的資料檔案system.dbf分配空間。
alter
database
datafile
'd:\oraclexe\oradata\xe\system_01.dbf'
autoextend
on;
alter
database
datafile
'd:\oraclexe\oradata\xe\system_01.dbf'
resize 1024m;
三、truncate掉aud$表並關閉審計功能
(我是使用的這種,效果立竿見影,不過如果不關閉此功能, 需要定期清理此表
): sql> alter system set audit_trail=none scope=spfile;
sql>shutdown immediate;
sql>startup;
四、將aud$預設表空間由system移出。
UNDO表空間不足解決方法
確認undo表空間名稱 select name from v tablespace 檢查資料庫undo表空間占用空間情況以及資料檔案存放位置 select file name,bytes 1024 1024 from dba data files where tablespace name like...
system表空間空間不足解決辦法
場景描述 系統表空間空間不足,導致應用無法正常連線!環境描述 oracle 11g 檢視當前表空間的整體使用情況,以及有沒有開啟自動擴充套件,以及擴充套件的最大限制!tablespace status 表空間使用情況 set pages 12222 lines 132 set serveroutpu...
temp表滿,解決方式 增加空間
抽取工具報錯 temp滿了,磁碟空間滿了,擴充套件一下temp表空間 解決方法一 新增乙個temp2 然後把temp切換到temp2 然後刪除temp 在新增乙個temp 再把預設的切換回去 如果太大的temp表空間試用,有可能sql排序過多,或用臨時表過大。看看對應的sql,如果有大量排序如gro...