oracle問題:ORA-09817及解決辦法


某天以管理員身份登錄公司測試庫報ORA-09817錯誤,查了網上的文章說是審計文件沒有存儲空間造成的。我的這問題也證實了這一點,現將解決步驟分享:

1、發現問題:報ORA-09817

oracle@linux-cs:~> sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Tue Sep 1 16:16:55 2020

Copyright (c) 1982, 2016, Oracle.  All rights reserved.

ERROR:
ORA-09817: 無法寫入審計文件。
Linux-x86_64 Error: 28: No space left on device
Additional information: 12
ORA-01075: 您現在已登錄

2、接着退出sqlplus,查看各個目錄存儲量

oracle@linux-cs:/u01/oracle/admin/cdb_test/adump> df -h
文件系統                     容量     已用  可用   已用% 掛載點
/dev/sda2                     58G   25G   32G   44%   /
/dev/mapper/vg_1-lv_u01       20G   14G    0G   100%  /u01
/dev/mapper/vg_1-lv_oradata   50G   30G   18G   64%  /oradata

發現/u01目錄可用大小為0G

3、查詢oracle審計文件的路徑,根據“2”中各個掛載點的可用存儲,猜測審計文件.aud放在/u01目錄下

cd $ORACLE_BASE/admin/服務名/adump下
說明:
cd $ORACLE_BASE/admin能到指定的目錄下
服務名:
select value from v$parameter where name='service_names';
value值為服務名

4、刪掉“$ORACLE_BASE/admin/服務名/adump”中的所有文件及文件夾

rm -rf *

完成以上操作后,再次登錄數據庫,可正常登錄

oracle@linux-cs:~> sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Tue Sep 1 16:53:04 2020

Copyright (c) 1982, 2016, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> 

為了防止問題再次出現,可禁止審計功能

SQL> show parameter audit_trail

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
audit_trail                 string     DB
修改之前審計的值

SQL> alter system set audit_trail=none scope=spfile

System altered.
再次重啟數據庫之后

SQL> show parameter audit_trail

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
audit_trail                 string     NONE

若有問題請指出

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM