Oracle DBMS
ORA-09817: Write to audit file failed 해결하기
3학년 1반 민군
2021. 3. 10. 13:29
ORA-09817: Write to audit file failed해결하기
DB를 운영하며 OS의 공간이 부족한경우 위와같은 에러가 발생한다.
[oracle@ORACLE11 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Wed Mar 10 22:15:37 2021
Copyright (c) 1982, 2013, Oracle. All rights reserved.
ERROR:
ORA-09817: Write to audit file failed.
Linux-x86_64 Error: 28: No space left on device
Additional information: 12
ORA-01075: you are currently logged on
Enter user-name:
df -h 등의 os명령으로 확인하면 어떤 파티션의 공간이 부족한지 확인할 수 있다.
보통의 경우 $ORACLE_BASE/diag/rdbms/<sid>/<SID> 경로에 많은 파일이 쌓이는것이 원인이다.
DB의 OPEN/ SHUTDOWN의 정보, 변경된 파라미터값, 시스템 처리내역, 백그라운드 프로세스의 활동내역 등이 기록되는 alert.log가 쌓이는 장소이기도하고
치명적인 오류가 발생할때 함께 trc, trm 형태의 파일이 쌓이는 디렉토리로 관심있게 확인해야한다.
이외에도 listener.log도 쌓이게되며 alert.log와 listener.log의 경우 매달 주기적인 관리가 필요하다.
본 테스트환경에서 해당 에러를 확인해보겠다.
[oracle@ORACLE11 ORCL11]$ echo $ORACLE_BASE
/*****/oracle/app/oracle
[oracle@ORACLE11 ORCL11]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.8G 7.6G 1.7G 83% /
tmpfs 7.0G 0 7.0G 0% /dev/shm
/dev/sda5 30G 28G 0 100% /*****
/dev/sda3 2.0G 3.1M 1.8G 1% /tmp
[oracle@ORACLE11 trace]$ pwd
/*****/oracle/app/oracle/diag/rdbms/orcl11/ORCL11/trace
[oracle@ORACLE11 ORCL11]$ du -h
4.0K ./lck
8.0K ./ir
1.2M ./trace/cdmp_20210224232857
1.4M ./trace/cdmp_20210224221642
136K ./trace/cdmp_20210128011743
136K ./trace/cdmp_20210128011742
1.4M ./trace/cdmp_20210223200951
6.4G ./trace
88K ./hm
7.8M ./metadata
4.0K ./sweep
8.7G ./alert
12K ./incpkg/pkg_3/seq_1/opatch
88K ./incpkg/pkg_3/seq_1/export
8.0K ./incpkg/pkg_3/seq_1/crs
232K ./incpkg/pkg_3/seq_1
236K ./incpkg/pkg_3
12K ./incpkg/pkg_5/seq_1/opatch
92K ./incpkg/pkg_5/seq_1/export
8.0K ./incpkg/pkg_5/seq_1/crs
236K ./incpkg/pkg_5/seq_1
240K ./incpkg/pkg_5
12K ./incpkg/pkg_6/seq_1/opatch
96K ./incpkg/pkg_6/seq_1/export
8.0K ./incpkg/pkg_6/seq_1/crs
240K ./incpkg/pkg_6/seq_1
244K ./incpkg/pkg_6
12K ./incpkg/pkg_2/seq_1/opatch
84K ./incpkg/pkg_2/seq_1/export
200K ./incpkg/pkg_2/seq_1
204K ./incpkg/pkg_2
12K ./incpkg/pkg_4/seq_1/opatch
92K ./incpkg/pkg_4/seq_1/export
8.0K ./incpkg/pkg_4/seq_1/crs
236K ./incpkg/pkg_4/seq_1
240K ./incpkg/pkg_4
12K ./incpkg/pkg_1/seq_1/opatch
80K ./incpkg/pkg_1/seq_1/export
8.0K ./incpkg/pkg_1/seq_1/crs
212K ./incpkg/pkg_1/seq_1
216K ./incpkg/pkg_1
1.4M ./incpkg
4.0K ./metadata_pv
4.0K ./cdump
644K ./incident/incdir_579233
3.2M ./incident/incdir_583377
644K ./incident/incdir_595257
3.2M ./incident/incdir_591393
3.2M ./incident/incdir_575369
644K ./incident/incdir_591249
3.2M ./incident/incdir_587385
3.1M ./incident/incdir_535374
2.5M ./incident/incdir_423341
644K ./incident/incdir_587241
644K ./incident/incdir_563217
3.1M ./incident/incdir_115385
644K ./incident/incdir_571225
2.5M ./incident/incdir_535375
2.6M ./incident/incdir_383338
2.7M ./incident/incdir_535358
3.2M ./incident/incdir_567361
3.2M ./incident/incdir_555345
3.2M ./incident/incdir_559361
2.6M ./incident/incdir_383339
2.6M ./incident/incdir_383340
644K ./incident/incdir_559209
48M ./incident
236K ./stage
4.0K ./metadata_dgif
15G .
위와같이 /*****/oracle/app/oracle/diag/rdbms/orcl11/ORCL11/trace 위치에서 해당 디렉토리를 얼마나 사용하고있는지 확인해보니
/***** 30G 중 해당디렉토리에서 15G를 사용중이고 /trace와 /alert에서 각각 6.4G, 8.7G를 사용하고 있다.
해당 디렉토리를 정리하여 이를 해결할 수 있다.
더이상 필요하지 않는 정보에 대한 파일을 정리하는 방법과 다른 파티션으로 파일생성위치를 변경하는 방법이 있다.
100일 이상지난 *.trc, *.trm파일의 삭제
find . -name "*.trc" -mtime +100 -exec rm {} \;
find . -name "*.trm" -mtime +100 -exec rm {} \;