본문 바로가기

분류 전체보기162

<11/25> 소중한 사람 의도는 ~ 했고 결과는 ~이다 9i optimizer에서 실행계획 체크 필요 optimizer feature enable 조정 시나리오처럼 보면 옵티마이저가 어떻게 하는지 알 수 있다트리구조에 왼쪽 끝이 1번이 된다 AWR wait와 연관지어서 말하라 대한 개인적 조사 2015. 11. 25.
<11/24> Call Me Baby orcl@SYS> show parameter workarea NAME TYPE VALUE------------------------------------ -------------------------------- ------------------------------workarea_size_policy string AUTOorcl@SYS> show parameter pga NAME TYPE VALUE------------------------------------ -------------------------------- ------------------------------pga_aggregate_target big integer 184M orcl@SYS> show parameter area_s NAM.. 2015. 11. 24.
<11/23> Love block 4kb가 넘어가면 table 밖에 별도의 lob segment가 만들어지고 따로 보관됨4kb미만이면 테이블 안에 저장resume 컬럼일 뿐 Symbol table 12 13 14 OCM Non Breakable parse lock select count(*) from hr.employees; select namespace, pins, reloads, invalidations from v$librarycache; execute dbms_stats.gather_table_stats('HR','EMPLOYEES'); select count(*) from hr.employees; 무효화된 커서는 Non Breakable parse lock으로 인해 못쓰게 된다 머추어 익스클루전 경량 직렬은 spin .. 2015. 11. 23.
[11/22] Bind Peeking && Adaptive Cursor Sharing 통계정보 파티션 추가시의 통계정보 파티션 기반 혹은 전체 다시 수집 Bind Peeking이란 바인드 변수를 사용하는 경우 쿼리가 최초로 실행되는 시점의 실제 바인드 값을 이용해서(Peeking해서) 실행 계획을 세우는 것을 의미한다 바인드 변수를 사용하는 경우 실제로 실행되는 시점에 어떤 값이 들어오는지 알 수 없기 때문에 컬럼의 평균적인 분포만을 가지고 비용을 계산하게 되고 이는 데이터는 변화한다는 가정이 들어간다면 치명적인 단점을 가지게 된다. 분포도가 한쪽으로 극단적으로 치우치더라도 바인드 변수를 사용하면 어떤 값이 올 지 모르기 때문에 평균적인 분포를 따르게 되고 그래서 바인드 피킹은 이런 단점을 피하기 위해 쿼리가 최초 실행되는 시점에 바인트 변수에 들어온 값을 이용하게 된다 즉 Full ta.. 2015. 11. 22.