목록IT (144)
정미나닷컴
지난 번에 Consistent 모드로 블록을 읽으면 읽기 일관성이 보장된다는 것을 알았다. ☑[Oracle] 오라클 다중 버전 읽기 일관성 모델 알아보기 이제 오라클에 존재하는 Consistent 모드 읽기와 Current 모드 읽기의 차이점에 대해 알아보도록 하자. Consistent 모드 읽기 - 쿼리 실행 시간에 상관없이 항상 쿼리가 시작된 시점의 데이터를 가져옴 [ SQL Trace ]call count cpu elapsed disk query current rows ------- ------ -------- ---------- ---------- ---------- ---------- ---------- Parse 1 0.00 0.00 0 0 0 0 Execute 1 0.41 1.15 66 28..
"오라클의 다중 버전 읽기 일관성 모델(Multi-Version Read Consistency Model)은 완벽한 문장수준 읽기 일관성을 보장한다." 뭐래냐... 다중 버전 읽기 일관성 모델은 뭐고, 문장수준 읽기 일관성은 뭐지..?누가 만들었는지 몰라도 말 참 어렵게 만들어 놨다.일단 문장수준 읽기 일관성이 뭔지 알아보자. * 문장수준 읽기 일관성이란 - 단일 SQL문이 수행되는 도중에 다른 트랜잭션에 의해 데이터의 추가, 변경, 삭제가 발생하더라도 일관성 있는 결과 집합을 리턴하는 것 음.. 저기서 말하는 '문장'이 SQL문의 '문장'을 의미하고 '읽기'라는 것은 SELECT를 의미하는 것 같구만.다른 표현으로 'SQL문 단위의 읽기 일관성' 정도로 기억하면 쉬울 듯.. 예를 들어 TX1에서 잔고를..
주문번호를 내림차순으로 최근 주문데이터 10건 출력하기 * 결과값 * 쿼리1SELECT OI2.ORD_NO, O.BRANCH_CD, OI2.ORD_DT, OI2.ORD_HMS, OI2.ITEM_ID, I.ITEM_NM, OI2.ORD_ITEM_QTY FROM ( SELECT RID FROM ( SELECT ROW_NUMBER() OVER(ORDER BY ORD_NO DESC) RNO, ROWID RID FROM ORD_ITEM ) OI WHERE OI.RNO
2012년 1월에 팔린 상품의 일별 상품별 판매수량과 판매금액 및 각각의 랭킹을 구하고 일별, 월별 총계 구하기 * 결과값::: * 쿼리1SELECT CASE WHEN GROUPING(O.ORD_DT)=1 AND GROUPING(I.ITEM_ID)=1 THEN '201201' ELSE O.ORD_DT END ORD_DT, I.ITEM_ID, CASE WHEN GROUPING(O.ORD_DT)=1 AND GROUPING(I.ITEM_ID)=1 THEN '합계' WHEN GROUPING(I.ITEM_ID)=1 THEN '소계' ELSE I.ITEM_NM END ITEM_NM, SUM(O.ORD_ITEM_QTY) QTY, SUM(O.ORD_ITEM_QTY*P.PRICE) PRICE, CASE WHEN GROU..
2012년 1월에 팔린 상품의 일별 상품별 판매수량과 판매금액 및 각각의 랭킹 구하기 * 결과값 : : : * 쿼리1 SELECT O.ORD_DT "판매일자", I.ITEM_ID "상품ID", I.ITEM_NM "상품명", SUM(O.ORD_ITEM_QTY) "판매수량", SUM(O.ORD_ITEM_QTY*P.PRICE) "판매금액", RANK() OVER(PARTITION BY O.ORD_DT ORDER BY SUM(O.ORD_ITEM_QTY) DESC) "판매수량랭킹", RANK() OVER(PARTITION BY O.ORD_DT ORDER BY SUM(O.ORD_ITEM_QTY*P.PRICE) DESC) "판매금액랭킹" FROM ORD_ITEM O LEFT OUTER JOIN ITEM I ON O...
Direct Path I/O오라클 DB Buffer Cache를 경유하지 않고 곧바로 데이터 블록을 읽고 쓸 수 있도록 제공되는 기능* Conventional Path I/O : DB Buffer Cache를 경유하는 일반적인 I/O 작업 Direct Path I/O가 작동하는 경우① Direct Path Read/Write Temp 대량의 데이터 정렬 시 PGA의 Sort Area가 부족할 경우 Temp 테이블 스페이스 이용→ Sort Area에 정렬된 데이터를 Temp 테이블 스페이스에 쓰고 이를 다시 읽을 때 Direct Path I/O 발생② Direct Path Read병렬 쿼리로 Full Scan 수행 시 Direct Path Read 발생→ 병렬도를 2로 주고 병렬쿼리 수행 시 쿼리 수행 속..
1. 오라클 다운로드 및 설치 http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html > OS 환경에 맞는 파일 선택, 다운로드 > DISK1 > setup.exe * 관리자 계정의 패스워드이므로 기억해놓아야 함 ※ ORA-12953: The request exceeds the maximum allowed database size of 11 GB > 오라클 express 버전은 최대 용량이 11GB로 제한되어있는 관계로 큰 용량의 dump data를 밀어넣고 싶다면 enterprise 버전을 설치해야 함 2. SQL-Developer 다운로드 http://www.oracle.co..
Prefetch - 디스크 블록을 읽을 때 곧이어 읽을 가능성이 높은 블록을 미리 읽어오는 기능 - 한번에 여러개 Single Block I/O를 병렬 방식으로 동시 수행 * Multi Block I/O가 한 익스텐트에 속한 인접한 블록들을 한꺼번에 읽는 방식이라면 Prefetch는 멀리 떨어져있는 블록들을 한꺼번에 읽는 방식 (서로 다른 익스텐트에 위치한 블록을 배치 방식으로 미리 적재) * db file parallel read 대기 이벤트로 측정 Sequential 액세스 성능 향상 - Multiblock I/O, 인덱스 Prefetch Random 액세스 성능 향상 - 버퍼 Pinning, 테이블 Prefetch 인덱스 Prefetch - Branch Block에서 앞으로 읽게 될 Leaf Blo..