2017. 12. 12. 13:21ㆍetc/error
ORA-00604 ORA-01653 ORA-02002 해결방법
잘 되던 DB가 어느날 갑자기 다음과 같은 오류를 내면서 접속이 안될 경우가 있다.
로컬에서 sqlplus로 접속해도 안되고 토드나 다른 접속 툴도 마찬가지로 접근이 안된다.
오류 메시지는 다음과 같다.
오류 메시지
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 : error occurred at recursive SQL level 1 ORA-01653 : unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM
|
메시지를 보니 SYS.AUD$ 테이블을 tablespace에서 확장할 수 없다는 메시지 이다.
더 자세한 원인을 파악하기 위해서 구글링해 보았다.
원인은 다음과 같다.
SYS.AUD$ 테이블의 테이블 스페이스가 가득 차서 확장하려 했더니 확장이 안되어 발생하는 오류
tip : SYS.AUD$ 테이블은 SYSTEM TableSpace에 생성되는 Audit Trail이 쌓이는 테이블이다.
tablespace 를 확장하거나 SYS.AUD$ 테이블을 비워주어야 한다.
아래 방법은 SYS.AUD$ 테이블을 비워줌으로써 정상적으로 DB에 접근할 수 있도록 하는 해결방법이다.
해결방법 (리눅스 기준으로 설명)
이럴 경우 토드나 다른 접속 툴로 접근이 불가능하여 서버에 접속하여 해결해야 한다.
DB서버에 접속(putty 등을 사용, root 접속)해서 아래 명령어 실행
su - oracle sqlplus /nolog connect /as sysdba truncate table SYS.AUD$;
|
요약 : DB 서버에서 oracle user로 sqlplus sys계정으로 로그인, SYS.AUD$ 테이블을 truncate 함