멀쩡히 운영하고 있던 DB에서 갑자기 ora-00257 archiver error. connect as sysdba only until resolved 이 에러를 뱉었다. 이 에러의 해결 방법은 아카이브 로그 파일을 삭제하거나 공간을 늘려주면 된다.
목차
1. 문제 상황
2. 문제 원인
3. 해결 방법 및 예방 방안
1. 문제 상황
아침에 출근해서 작업을 하려고 보니, 갑자기 "ora-00257 archiver error. connect as sysdba only until resolved" 이 에러가 발생했다. 그러다 보니 데이터 조회는 물론, 로그인도 되질 않았다.
에러 내용 : ORA-00257 : archiver error. connect as sysdba only until resolved.
2. 문제 원인
이 문제를 찾아 보니, 오라클 DB 서버에 archive log를 쌓고 있는데, 이 로그를 쌓을 수 있는 공간이 FULL이 되어 발생했던 에러다. 이 문제를 해결하기 위해서는 아카이브 공간에 있는 arc 파일을 삭제하거나 DB_RECOVERY_FILE_DEST_SIZE 파라미터 값을 늘리면 된다.
3. 해결 방법 및 예방 방안
이 문제가 다시 발생하면 운영을 하는데 있어 정말 크리티컬한 이슈가 된다. 운영 서버가 아예 멈춰버리니까 말이다. 이 문제를 예방할 수 있는 방안을 정리한다.
1) archive log mode / no archive log mode
oracle DB를 운영하는데 있어서 archive log 모드를 선택할 수 있는 것은 2개가 있다. 운영에 no archive log mode를 적용하면 이 문제가 일어나지 않으나, 복구를 위해 archive log mode를 적용하는 것을 추천한다.
archive log mode : archive log를 저장하는 모드. 대체적으로, 중요한 운영 또는 QA 환경에 적용
no archive log mode : archive log를 저장하지 않는 모드. 대체적으로, 개발 서버에 적용
2) FRA
FRA를 사용할 경우에는 FRA에 할당된 공간이 꽉 찼는지 확인을 한 후에 변수( DB_RECOVERY_FILE_DEST_SIZE)를 바꿔줘야 한다.
3) archive log 파일 이동 또는 삭제
archive log는 백업이나 복구를 할 때 필요하다. 그렇기 때문에, 운영 DB에서는 archive log mode를 선택하여 archive log를 저장한다. 그렇기 때문에 아카이브 저장 공간이 부족하여 에러가 발생한다.
su -oracle
sqlplus / as sysdba
rman target /
delete archivelog all completed before 'sysdate-30';
참고할만한 URL
'IT > Oracle' 카테고리의 다른 글
[Oracle] IMP-00013: DBA만이 다른 DBA가 엑스포트한 파일을 임포트할 수 있습니다. 문제 해결 방법 (0) | 2024.11.25 |
---|---|
[Oracle] user lacks create session privilege logon denied 문제 해결 방법 (0) | 2024.11.25 |
[Oracle] Windows11 SQL Developer 설치하는 방법 (0) | 2024.11.25 |
[Oracle] 오라클(Oracle) 특정 데이터 값으로 모든 테이블에서 데이터 찾는 방법 (0) | 2023.12.26 |
[Oracle] 오라클(Oracle) TO_NUMBER 999999D99 사용시 주의해야 할 점 (0) | 2023.08.13 |
[Oracle] 오라클(Oracle) 문자열 SPLIT하는 방법 (0) | 2023.07.21 |
[Oracle] 오라클(Oracle) ORA-01843 지정한 월이 부적합합니다 문제 해결 방법 (0) | 2023.07.11 |
[Oracle] 오라클(Oracle) 데이터 롤백하는 방법 (0) | 2023.07.05 |
최근댓글