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)
- 동시성제어 : 커밋된시점 추적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)
'ORACLE > ADMIN' 카테고리의 다른 글
dbms_redefinition 패키지 (online 재생성 및 파티션 전환) (0) | 2017.06.19 |
---|---|
AWR (Automatic Workload Repository) (0) | 2017.06.15 |
PARTITION split merge exchange (0) | 2017.06.15 |
파티셔닝 세계 입문 (0) | 2017.06.15 |
오라클 성능고도화 1. (0) | 2017.05.02 |