truncate table SYS.AUD$;
외부에 나가있는 직원한테 연락이 왔습니다..
DB서버에 접속이 안된다고..
해당 접속지 IP를 막지 않아서..
그쪽에서 IP 막은게 아니냐고 물어봤더니.. 그런건 또 아니라고 하고..
오류 코드가 나온다고..
보내준게..
해당 오류들을 찾아봤더니..
SYS.AUD$ 테이블을 tablespace 에서 확장할 수 없다는.. 내용의 오류더군요..
오류 확인 및 해결 방법을 찾기 위해 구글링 했더니..
오류 확인 :
SYS.AUD$ 테이블의 테이블 스페이스가 가득 차서 확장하려고 했는데.. 확장이 안되서 발생하는 오류..
해결 방법:
ORACLE_HOME/dbs/init<SID>.ora 화일에 지정된 open_cursors 의 크기를 알아보고..
open_cursors=255 로 변경한다 부터..
기존의 데이터파일의 사이즈를 늘려주고.. 데이터 파일을 추가한다..
테이블스페이스를 자동으로 사이즈가 늘어날 수 있도록 autoextend를 on 설정한다..
테이블별 사용량 조회 후 데이터 삭제하고.. purge 작업을 한다..
데이터 삭제는 안되고.. 테이블스페이스도 자동으로 확장되게 설정해놓은것 같은데;..
select * from SYS.AUD$; 을 통해..
SYS.AUD$ 에 얼마나 많은 양의 데이터가 들어가 있는지 확인을 해봤는데..
확인하다가.. 돌아가실 정도로.. 너무 많은 양의 데이터가 들어가 있더군요..
SYS.AUD$ 는 표준 DB 감사 테이블로.. DB의 모든 연결에 대한 데이터를 모으고 있습니다..
해당 테이블에.. 모든 데이터가 저장되더 보니.. 확장이 안되서 오류가 발생한거죠..
간단하게.. truncate table SYS.AUD$; 를 통해서.. 처리를 할 수 있다고 하더군요..
저는 작업을 해놓은게 많아서.. 대부분 컴퓨터를 안끄다보니..
접속이 되어있어서.. 바로 실행을 했는데..
으헉.. 권한 불충분;..
서버가 리눅스라.. 리눅스 버전만 기술합니다..
DB 서버에 shell 접속 후..
명령어들을 입력해서 truncate table 을 해줍니다..