DB 암호화를 진행중 아래와 같은 에러가 발생되었다.
DB 를 나름 많이 만졌다고는 하지만 ARCHIVE 는 철저하게 관리하던 터라 아래 에러를 처음 접해봤다.

ora-00257:archiver error. Connect internal only, until freed.

oerr 로 보니 원인은 archive 디렉토리에 더이상 archvie log 를 쌓을수 없을때 발생한다고 한다.

> oerr ora 257

00257, 00000, "archiver error. Connect internal only, until freed."
// *Cause:  The archiver process received an error while trying to archive
//       a redo log.  If the problem is not resolved soon, the database
//       will stop executing transactions. The most likely cause of this
//       message is the destination device is out of space to store the
//       redo log file.
// *Action:  Check archiver trace file for a detailed description
//        of the problem. Also verify that the
//       device specified in the initialization parameter
//       ARCHIVE_LOG_DEST is set up properly for archiving.

쥔장의 상황은 암호화 작업을 진행하면서 과도한 update 를 날렸고 archive 디렉리가 100% 가 된 상황이었다.
ARCHIVE 를 삭제후 디스크 여유공간을 만들었으나 마찬가지로 위 에러는 동일하게 발생하였다.
이럴 경우엔 아래와 같이 ARCHIVE DEST 를 REOPEN 함으로써 해결이 가능하다.

SQL> select * from V$archive_dest;

   DEST_ID STATUS    BINDING   NAME_SP TARGET  REOPEN_SECS DESTINATION       
---------- --------- --------- ------- ------- ----------- -------------------
         1 VALID     OPTIONAL  SYSTEM  PRIMARY         300 /ec1_oraa99/arch  
         2 INACTIVE  OPTIONAL  SYSTEM  PRIMARY           0                   
         3 INACTIVE  OPTIONAL  SYSTEM  PRIMARY           0                   
         4 INACTIVE  OPTIONAL  SYSTEM  PRIMARY           0                   
         5 INACTIVE  OPTIONAL  SYSTEM  PRIMARY           0                   

SQL> alter system set LOG_ARCHIVE_DEST_1 = 'location=/ec1_oraa99/arch reopen';

System altered.

  dbtown-rchwin.jpg
 이 글의 권한은 dbtown.net 에 있습니다.
자료를 스크랩하실땐 출처를 밝혀주세요 ^^