반응형

ORA-01653: unable to extend table SYS.AUD$ by 8192 in tablespace 에러가 오늘 아침에 발생 했습니다.


기숙사에서 자고있는와중에 시스템들이 동작하지 않는다고 연락이 와서 저번처럼 업체 네트워크 문제인지 확인해달라고 하여 부랴부랴 노트북이 있는 회사로 가려하던중 같은 연락을 받으신 대리님이 " 내가 들어보니 SYS.AUD 테이블스페이스 용량 꽉 찬거 같으니까 오라클 재시작하고 truncate 쓰고와 " 라고 말씀하셨고 내려가서 확인해보니 위와 같은 사진과 함께 오라클 연결이 되지 않았습니다.


그래서 대리님이 말하신대로 truncate를 하려하던 도중 또다른 에러를 만났습니다.



ORA-00054: 리소스가 사용 중이어서 NOWAIT가 지정되었거나 시간 초과가 만료된 상태로 획득합니다. 


대략 난감 했었습니다. 빠르게 구글링 해본 결과


"사용중인 테이블에LOCK이 걸린 상태에서 발생하는 오류"
"Commit" 으로 해결

누군가 작업을 하고 commit 를 안친건지 의아해 하던 도중 대리님이 " 너 오라클 서비스 안껏다켰지? " 라고 말씀하셨습니다.


네 맞습니다 저는 오라클 서비스를 재시작 하지 않고 명령어를 치고있던 중이였습니다.


사실 이 문제는 commit 한번 과 truncate table SYS.AUD$; 로 해결할수 있는 문제 였을지도 모르겠습니다.

하지만 무슨 작업을 누가 어떻게 한지 확인을 못한 상황이여서 commit 보단 오라클 서비스 재시작을 선택 한거 같습니다.

만약 commit 을 입력 했더라도 그대로 안되는거라면 다음과 같은 방법을 이용 합니다.


SELECT

    S.SID,

    S.SERIAL#

FROM

    (

        SELECT SID

        FROM V$LOCK

        WHERE ID1 IN (SELECT OBJECT_ID FROM DBA_OBJECTS WHERE OBJECT_NAME = 'IP_NMCBOARD_T')

    ) X

    JOIN V$SESSION S ON X.SID = S.SID;



SID SERIAL#

--- -------

5   1

6   1


2. 다음 명령으로 SESSION들을 KILL한다.


SQL> ALTER SYSTEM KILL SESSION '5, 1';

SQL> ALTER SYSTEM KILL SESSION '6, 1';



반응형

+ Recent posts