목록IT (145)
정미나닷컴
오늘은 어디선가 들어본 적 있는 블록 클린아웃에 대해 알아보자.우선 cleanout은 '청소'라는 뜻이므로 『블록 청소』 뭔가 dirty 상태의 블록을 free 상태로 바꿔주는 행위같다는 느낌적인 느낌이 든다. 블록 클린아웃 (Block Cleanout)- 트랜잭션에 의해 설정된 로우 Lock을 해제하고 블록 헤더에 커밋 정보를 기록하는 오퍼레이션- 보통은 트랜잭션 커밋 후 블록 클린아웃까지 완료해야 완전한 커밋이라고 할 수 있지만 대량 갱신 작업 후에는 시간 관계상 커밋 정보를 트랜잭션 테이블에만 기록하고 빠르게 커밋을 완료, 나중에 해당 블록이 처음 액세스되는 시점에 블록 클린아웃을 함흠.. 커밋을 때리면 Redo Log Buffer의 정보를 Redo Log File에 기록한다 라고 알고 있는데 위 ..
지난 번에 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..