Oracle:ORA-00604: 遞歸 SQL 級別 1 出現錯誤

Oracle:ORA-00604: 遞歸 SQL 級別 1 出現錯誤

  (2016-03-22 17:38:11)
  分類: 數據庫

java.sql.SQLException: ORA-00604: 遞歸 SQL 級別 1 出現錯誤html

ORA-01653: 表 SYS.AUD$ 沒法經過 8192 (在表空間 SYSTEM 中) 擴展java

ORA-02002: 寫入審計線索時出錯web

ORA-00604: 遞歸 SQL 級別 1 出現錯誤sql

ORA-01653: 表 SYS.AUD$ 沒法經過 8192 (在表空間 SYSTEM 中) 擴展數據庫

 

使用DBA登陸:app

查詢SQL:spa

SELECT UPPER(F.TABLESPACE_NAME) "表空間名",htm

D.TOT_GROOTTE_MB "表空間大小(M)",blog

D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空間(M)",遞歸

TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') "使用比",

F.TOTAL_BYTES "空閒空間(M)",

F.MAX_BYTES "最大塊(M)"

FROM (SELECT TABLESPACE_NAME,

ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,

ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES

FROM SYS.DBA_FREE_SPACE

GROUP BY TABLESPACE_NAME) F,

(SELECT DD.TABLESPACE_NAME,

ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB

FROM SYS.DBA_DATA_FILES DD

GROUP BY DD.TABLESPACE_NAME) D

WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME

ORDER BY 4 DESC;

 

查看報錯的表空間容量

表名                 表空間大小(M) 已使用空間(M) 使用比      空閒空間(M)  最大塊(M)
-------------------- ------------- ------------- ------- ----------- ----------
SYSTEM                    33267.98      32268.67   99.90       1.31        0.97
SDE                       32767.98      32711.67   99.83       56.31          1
SYSAUX                      916.69        866.31   94.50       50.38      41.69
USERS                            5          1.37   27.40        3.63       3.63
UNDOTBS1                      1570        134.25    8.55     1435.75       1426

解決

一、爲表空間增長自動擴展

SQL> alter database datafile 'E:\app\Administrator\oradata\webdb\system01.dbf' AUTOEXTEND ON NEXT 50
M MAXSIZE UNLIMITED;

數據庫已更改。

此方法在此是行不通的,由於SYSTEM的表空間已經到達了極限值,不能經過增加的方式改變。

二、爲SYSTEM表空間增長一個數據文件SYSTEM02.DBF

SQL> ALTER TABLESPACE "SYSTEM" ADD DATAFILE 'E:\APP\ADMINISTRATOR\ORADATA\WEBDB\SYSTEM02.DBF' SIZE 5
00M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;

表空間已更改。

問題解決.

查看錶空間是否具備自動擴展的能力的SQL
SELECT T.TABLESPACE_NAME,D.FILE_NAME,
D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS
FROM DBA_TABLESPACES T,DBA_DATA_FILES D
WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME
ORDER BY TABLESPACE_NAME,FILE_NAME;

此次問題是因爲數據組開發人員將一些空間數據導入SYSTEM表空間所致。

相關文章
相關標籤/搜索