ORA-00604,ORA-01653,ORA-02002
阿新 • • 發佈:2019-01-31
碰到問題:plsql登入時不能登入,提示以下錯誤,
ORA-00604: error occurred at recursive SQL level 1
ORA-01653: unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM
ORA-02002: error while writing to audit trail
ora-00604 : 遞迴sql級別1出現錯誤
ora-01653 : 在表空間SYSTEM中表SYS.AUD$無法通過8192擴充套件
ora-02002 : 寫入審計跟蹤時報錯(審計跟蹤(audit trail),是系統活動的流水記錄 )
此時已經不能正常登入資料庫,只能登入資料庫伺服器來解決。
問題原因:SYSTEM表空間不足。
檢視問題方法:
1.因為plsql已經不能登入,不知道dba使用者的密碼,所以只能登入資料庫伺服器以DBA使用者進行操作。我這裡為Linux伺服器,具體指令如下:
export ORACLE_SID=本地例項名
sqlplus / as sysdba
2.執行以下sql:
select db.file_name, db.tablespace_name, db.bytes/1024/1024, free.bytes/1024/1024 from dba_data_files db, dba_free_space free where db.tablespace_name = free.tablespace_name and db.file_id = free.file_id and db.tablespce_name = 'SYSTEM';
檢視資料檔名稱,表空間名,表空間大小,已使用大小。對查詢結果不再進行展示。我的剩餘大小為0.8M。
解決辦法:
解決辦法有兩種,增加表空間大小或者增加資料檔案。
3.增加表空間大小
alter database datafile '資料檔名稱' resize 5120M
此處資料檔名稱在步驟2中已經查出,resize大小看自己硬碟空間,自己控制(不一定是5120M)。
4.增加資料檔案
alter database SYSTEM add datafile '新增資料檔名' size 1024M
autoextend on next 8M maxsize 2048M;
此處autoextend 可以不設定,僅僅指定size 1024M也是可以的。