본문 바로가기

데이타베이스/Oracle

[Oracle] ORA-00257 : 아카이브 오류, 해제되기 전에는 내부 연결만 가능


SQL> connect /as sysdba
연결되었습니다.
SQL> recover database;
ORA-00283: 복구 세션이 오류로 인하여 취소되었습니다.
ORA-00264: 복구가 필요하지 않습니다.

SQL> recover database until cancel;
매체 복구가 완료되었습니다.
SQL> alter database open resetlogs;

데이타베이스가 변경되었습니다.

SQL> shutdown


 sqlplus 접속시 "ORA-00257: 아카이버 오류. 공간이 확보되기 전에는 내부 접속만 가능." 에러 발생

 - 아카이브 용량 확인
 C>sqlplus / as sysdba
 SQL> select * from v$recovery_file_dest;
 --------------------------------------------------------------------------------
 NAME            SPACE_LIMIT  SPACE_USED        SPACE_RECLAIMABLE NUMBER_OF_FILES
 --------------  ----------   ----------------- ---------------   ---------------
 D:\archivelog   2.1475E+11   2.1475E+11        0                 4193

 SQL> select dest_name,error from v$archive_dest;
 DEST_NAME             ERROR
 -------------------   --------------------------------------------
 LOG_ARCHIVE_DEST_1
 LOG_ARCHIVE_DEST_2
 LOG_ARCHIVE_DEST_3
 LOG_ARCHIVE_DEST_4
 LOG_ARCHIVE_DEST_5
 LOG_ARCHIVE_DEST_6
 LOG_ARCHIVE_DEST_7
 LOG_ARCHIVE_DEST_8
 LOG_ARCHIVE_DEST_9
 LOG_ARCHIVE_DEST_10   ORA-19809: 복구 파일에 대한 한계를 초과함

 SQL> recover database;
 ORA-00283: 복구 세션이 오류로 인하여 취소되었습니다
 ORA-01124: 1 데이터 파일을 복구할 수 없음 - 파일이 사용중이거나 복구중입니다
 ORA-01110: 1 데이터 파일: 'D:\ORADATA\ORADB\SYSTEM01.DBF'

------------------------------------------------------------------------------------------------

해결방법
1. 아카이브 로그를 삭제
 SQL> select * from v$recovery_file_dest;
 --------------------------------------------------------------------------------
 NAME            SPACE_LIMIT  SPACE_USED        SPACE_RECLAIMABLE NUMBER_OF_FILES
 --------------  ----------   ----------------- ---------------   ---------------
 D:\archivelog   2.1475E+11   2.1475E+11

 D:\archivelog 이 아래파일 모두삭제
db리스타트

2. 아카이브모드 해제

  SQL> startup mount
  SQL> alter database noarchivelog;
  SQL> archive log list
  SQL> alter database open;