본문 바로가기

Oracle256

ORA-00257: Archiver error 발생 재현 테스트 안녕하세요. 운영에서발생한 에러에 대해서 분석하던 중 테스트환경에서 발생을 재현하기 위해 테스트한 내용을 정리하였습니다.기존의 ORA-00257 에러는 FRA영역이나 archive 디렉토리의 영역이 full일때 발생하였었는데, 이번 case는 archive영역과 FRA영역이 충분한대도 발생하였습니다.(제가 Full 인경우만 발생하는 줄 알았는데.. 이부분에서 착오가 있었고 원인분석이 지체되었습니다) 발생 에러클라이언트 세션에서 접속 시 발생하였습니다.ORA-00257: Archiver error. Connect AS SYSDBA only until resolved. 원인 어떠한 이유로 아카이브 프로세스가 Hang이 걸리게 되면 해소할 때까지 해당 에러를 뱉으며 접속이 불가능합니다. 해결해소는 Hang이 .. 2026. 4. 2.
CTAS의 심화 CTAS는 테이블 복제 및 백업테이블 생성용으로 많이 사용하는 명령어입니다. 단순히 그 뿐 아니라 이관 및 구조변경시에도 작업량을 굉장히 줄여줄 수 있는 커멘드 설계가 가능하여 정리해보도록 하려 합니다. 특징으로는 Direct path read를 사용하여 이관시에 빠른 속도가 장점입니다.nologging 옵션 사용하여 redo생성을 최소화할 수 있습니다.not null을 제외한 제약조건은 생성시에 포함되지 않습니다.인덱스 및 default , PK, FK, check 제약조건등은 포함되지 않습니다. 제가 추가로 확인한 특징은 아래와 같습니다.***) 생성시에 파티션, 압축 등의 옵션을 사용할 수 있습니다.***) 생성시에 컬럼순서를 조정할 수 있습니다.***) 생성시에 컬럼의 default값을 직접 지정.. 2026. 2. 2.
Delayed block cleanout 발생과 해결법 블록 클린아웃은 트랜잭션에 의해 설정된 로우 락을 해제하고 블록 헤더에 커밋정보를 기록하는 오퍼레이션입니다.사용자가 트랜잭션을 커밋했을 때 블록 클린아웃까지 완료해야 완전한 커밋이라고 할 수 있습니다.DB의 안정적인 사용을 위해서 대량의 갱신작업이 있고나서는 커밋정보를 트랜잭션 테이블에만 기록하고 빠르게 커밋을 끝내버립니다. 블록헤더에는 아직 커밋정보가 기록되지 않은 상태입니다. 해당 블록은 나중에 처음 액세스되는 시점에 다시 커밋정보를 기록하고 클린아웃이 됩니다.무조건적으로 이 방식으로 작동하는것은 아니고, 일반적으로 변경량에 따라 정해지게 됩니다. 종종 업무중에 배치작업이 늦어서 확인을 요청하는 경우가 있습니다. DB에서는 배치정보를 가지고 현재 DB에서 수행중인 상태를 조회해보면 특정부분에서 처리되.. 2026. 1. 6.
ORA-01450: Maximum Key Length (6398) Exceeded ORA-01450: Maximum Key Length (6398) Exceeded 원인 : 인덱스 생성시 최대 기준의 bytes가 있는데 각 컬럼의 bytes를 합쳤을때 그것보다 커서 나는 에러해결 : 인덱스 컬럼 재검토 일반적인 8k의 블록사이즈의 경우 최대 사이즈가 6398임. 2025. 12. 19.
반응형