system表空間用滿解決 方法

2021-07-13 23:39:12 字數 1242 閱讀 4016

早上看到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...