oracle表空間不足報錯的解決
阿新 • • 發佈:2019-02-01
連線時報錯:
unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM
這是因為開啟了審計日誌,造成佔用了大量表空間引起的
1、查看錶空間使用情況:
SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name
FROM dba_free_space
GROUP BY tablespace_name;
SELECT a.tablespace_name,
a.bytes total,
b.bytes used,
c.bytes free,
(b.bytes * 100) / a.bytes "% USED ",
(c.bytes * 100) / a.bytes "% FREE "
FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c
WHERE a.tablespace_name = b.tablespace_name
AND a.tablespace_name = c.tablespace_name;
2、先關閉審計日誌
unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM
這是因為開啟了審計日誌,造成佔用了大量表空間引起的
1、查看錶空間使用情況:
SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name
FROM dba_free_space
GROUP BY tablespace_name;
SELECT a.tablespace_name,
a.bytes total,
b.bytes used,
c.bytes free,
(b.bytes * 100) / a.bytes "% USED ",
(c.bytes * 100) / a.bytes "% FREE "
FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c
WHERE a.tablespace_name = b.tablespace_name
AND a.tablespace_name = c.tablespace_name;
發現SYSTEM空間已使用99.8%
查看錶空間的引數:
select tablespace_name,file_name,autoextensible from dba_data_files where tablespace_name = 'SYSTEM'
autoextensible 為是否自動擴充套件
2、先關閉審計日誌
檢視審計日誌設定引數:
show parameter audit;
audit_trail項不為 NONE,說明開啟了審計功能,儲存位置有DB或OS等
現在的目標是將其設定為NONE
alter system set audit_trail = none scope=spfile;
然後重啟例項即可
3、刪除審計表資料
把佔用的空間找回來:
設計表名為 SYS.AUD$ ,可以delete也可以truncate
建議用truncate,直接解決問題
之後再檢查一下表空間使用情況