전체 글496 DBMS_PARALLEL_EXECUTE 패키지(병렬로 DML을 진행하는 방법 ) DBMS_PARALLEL_EXECUTE?대용량 테이블에 대한 DML을 하나의 단위(Chunk)로 쪼개어 병렬로 처리할 수 있도록 지원하는 기능입니다.Oracle 11gR2부터 도입되었으며, parallel옵션을 추가한 PDML과의 차이점으로는 하나의 트랜잭션이 아니라 각각의 DML이 각각의 트랜잭션으로 수행되게 되며 락(Lock)이나 Undo관련 문제(ORA-01555)경합을 최소화 할수 있습니다. 핵심 특징?작업의 세분화 (Chunking): 수천만 건의 데이터를 RowID, 숫자 컬럼, 또는 사용자 정의 SQL을 기준으로 잘게 분할합니다. 독립적인 커밋 (Commit): 각 청크 단위로 트랜잭션이 커밋되므로 Undo 테이블스페이스의 부담이 대폭 줄어듭니다. 재시작 기능 (Resumability): 작.. 2026. 9. 10. Datapump의 network_link옵션에 따른 parallel 작동여부 테스트 Oracle의 Data pump의 NETWORK_LINK옵션은 덤프파일 생성/전송과정을 생략하고 소스DB에서 타겟DB로 바로 데이터를 밀어넣는 기능입니다. 이옵션에 파라미터를 결합할 때, 대상객체의 구조(파티션 or 일반)에 따라 병렬처리 가능 및 성공여부가 달라집니다. 1)객체단위 병렬 (o)2)객체내부 병렬 (x) NETWORK_LINK방식은 내부적으로 INSERT /*+ APPEND */INTO 타겟 SELECT .. FROM 소스@dblink와 같은 분산 트랜잭션 SQL을 생성하여 데이터를 이관합니다. 파티션테이블이나 여러개의 테이블을 이관할 때에는 워커프로세스(DW)를 여러개 띄어서 병렬작업이 가능하게 됩니다. parallel이 4인 경우 4개의 DW프로세스가 열리고 데이터를 각각 가져오게됩니.. 2026. 9. 2. Datapump의 parallel 옵션의 의미와 테스트 오라클 Datapump의 처리는 마스터프로세스(DM)이 대상을 평가하여 작업프로세스(DW)에게 작업할당을하는 구조로 수행됩니다. 병렬처리의 경우에는 '객체단위의 병렬'과 '객체내부 병렬' 두가지 차원에서 작업량을 나누는 것입니다. 객체단위 병렬 : 작업프로세스(DW)의 개수를 여러개 띄워 각각 독립된 작업을 수행합니다. (ex. 여러개의 테이블이나 파티션을 이관시) 객체내부 병렬 : 작업프로세스(DW)는 한개만 할당됩니다. 대신 이 프로세스가 오라클의 병렬실행(PX) 을하여 여러 병렬 슬레이브(P00x)를 생성한 뒤 ,여러개의 세션이 하나의 작업을 수행합니다. (ex. 단일 대용량 테이블 이관시) 이때 parallel의 의미는 두개를 합친 유동적인 숫자라고 볼 수 있습니다. 즉, 오라클은 내부적.. 2026. 8. 28. Temporary LOB 개념과 발생 테스트 1. Temporary LOB란?Temporary LOB는 데이터베이스의 영구적인 테이블에 저장되지 않고, 임시 테이블스페이스(Temporary Tablespace)에 저장되는 LOB 데이터입니다. 주로 PL/SQL 블록 내에서 대용량 문자열(CLOB)을 조립하거나, 외부 파일(BFILE) 데이터를 읽어와 임시로 변환할 때 사용됩니다. Temporary LOB의 핵심 특징저장 위치: 일반 데이터 파일이 아닌 TEMP 테이블스페이스를 사용합니다. Redo Log 최소화: 영구 저장 목적이 아니므로 Redo 로그를 거의 생성하지 않아 성능이 뛰어납니다. (트랜잭션 복구 대상이 아님) 라이프사이클: 세션(Session) 단위 또는 콜(Call) 단위로 유지되며, 세션이 종료되면 자동으로 공간이 반환됩니다. .. 2026. 8. 19. 이전 1 2 3 4 ··· 124 다음 반응형