본문 바로가기

전체 글486

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.
lob의 용량관리 (deduplicate 와 compress) oracle lob의 기능 중. deduplicate(중복제거)와 compress(압축)기능이 있습니다.securefile형태에서 사용가능한 기능입니다. deduplicate(중복제거)동일한 lob데이터를 한번만 저장하고 포인터로 저장하는 매커니즘입니다.Secure hash index를 사용하여 모든 lob 데이터의 해시값을 계산하고 동일한 내용이면 포인터만 저장합니다. 실제로 1000개 행에 동일한 100kb이미지를 저장한다고 했을때 동작과정은 아래와같습니다. 1. 1 row insert - 한개 row의 image hash값 계산하여 secure hash index에 등록 - 100kb 데이터 저장2.동일 이미지 insert - index조회하여 동일 hash값인거 확인 후 포인터(8bytes)만 .. 2025. 12. 17.
반응형