2. 트렌잭션과 락.
- 동시성제어 : 커밋된시점 추적10g pseudo 컬럼   
  ora_rowscn timestamp 자체관리(SCN)

 Create table T ROWDEPENDENCIES ...
 Scn_to_timestamp 함수 5일만 제공(동시성제어)

- pragma autonomous_transaction;
  메인 트랜잭션 영향 주지않고 서브트랜잭션 커밋
  Autonomous 트랜잭션이라고 한다.

- 선분이력 정합성 유지 : 상위엔티티 (고객)
   select 고객Id from 고객
   Where 고객id=1 for update nowait
 
3. 오라클성능관리
- explain plan >> autotrace >> Sql트레이스
  >> SQL변경.힌트 >> 반정규화.집계테이블

- 인덱스구조변경. 통계정보 실행계획변경 대비
   현재 실행계획 확보를 위해 sql_plan_repository
   Plan_table에 실행계획 저장
  

- 실행계획 및 통계 확인
  SET AUTOTRACE  traceonly 
                                   [explain|statistics]
- 권한부여 (실행통계)
   V_$sesstat. V_$statname. V_$mystat
   dba. select_catalog_role
   SQL> grant plustrace to scott;

- alter session set_trace = true[false] ;
  user_dump_dest 파라미터 위치 trc파일 저장

. TKProf 유틸리티 사용해서 보기
  tkprof xxx.trc report.prf sys=no


- 이벤트 트레이스 : 바인드변수.대기이벤트현황


- AWR (automatic workload repository)
  .direct memory access (DMA) 방식 SGA
   엑세스
  .1시간 주기. 1주일보관
  . SQL> @? /rdbms/admin/sure port;
  . 11g colored SQL : top SQL 미포함 시 추가
    수집되도록 마크하는 기능

 .select * from table (dbms_xplan.display_awr ('ge72gsye7d7aj',null,null, 'ALL')
   >>  dbms_xplan.display_cursor

- ASH (active session history)

 V$active_session_history  정보가 없을때..
  >> dba_hist_active_sess_history (AWR)

- V$sql 집중 튜닝 대상 SQL선정및 튜닝전후 비교용

  P.228 참조

4. 라이브러리 캐시 최적화
 - 커서캐싱기법 Parse Call 부하 감소시키기
   .바인드변수 사용 여부(static.dynamic 의미없음)
   .애플리케이션 커서 : 커서를 루프 완료 후 닫음
   .PL/SQL 사용 : 커서캐싱 자동으로됨.
 - static 구현 방법
   .In-list 항목 가변적이고 갯수가 많을때
     AND INSTR  (:in list, 분류코드) > 0

  <방법 3>
  FROM dual
  Connect by level <= length (:inlist)/2

5. Call 최소화
 - one-sql 예) 행/열 .. pivot (cross Table)

+ Recent posts