태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

'AWR'에 해당되는 글 4건

  1. 2009.12.31 AWR Report를 간편하게 이용합시다. (9)
  2. 2009.10.05 오라클 가계부 쓰고 있습니까?
  3. 2009.09.10 AWR은 공짜가 아닙니다! (3)
  4. 2007.08.29 AWR 써야 하나 말아야 하나...

AWR Report를 간편하게 이용합시다.

오라클 2009.12.31 15:27
AWR(Automatic Workload Reposistory)은 오라클이 우리에게 준 큰 선물 중 하나입니다. 물론, 공짜는 아닙니다만...

저는 특정 작업의 성능 분석을 위해 AWR 리포트가 필요할 때, 다음과 같이 간편하게 작업하고 있습니다.

@snap_begin

alter session enable parallel dml;

insert /*+ append parallel(t1 4) trace */ into t1
select /*+ parallel(t2 4) */ * from t2;
commit;

@snap_end

@snap_report

-- AWR Report
WORKLOAD REPOSITORY report for

DB Name         DB Id    Instance     Inst Num Release     RAC Host
------------ ----------- ------------ -------- ----------- --- ------------
UKJA1021       738915393 ukja1021            1 10.2.0.1.0  NO  UKJAX

              Snap Id      Snap Time      Sessions Curs/Sess
            --------- ------------------- -------- ---------
Begin Snap:      1284 29-Dec-09 15:04:38        19       3.5
  End Snap:      1285 29-Dec-09 15:04:42        19       3.5
   Elapsed:                0.08 (mins)
   DB Time:                0.15 (mins)

Cache Sizes
~~~~~~~~~~~                       Begin        End
                             ---------- ----------
               Buffer Cache:       452M       452M  Std Block Size:         8K
           Shared Pool Size:       116M       116M      Log Buffer:     6,968K

Load Profile
~~~~~~~~~~~~                            Per Second       Per Transaction
                                   ---------------       ---------------
                  Redo size:          1,201,392.36          5,725,836.00
              Logical reads:              2,178.56             10,383.00
              Block changes:                298.99              1,425.00
             Physical reads:                 97.36                464.00
            Physical writes:                142.89                681.00
                 User calls:                 12.80                 61.00
                     Parses:                 26.44                126.00
                Hard parses:                  0.42                  2.00
                      Sorts:                  8.60                 41.00
                     Logons:                  1.68                  8.00
                   Executes:                 27.07                129.00
               Transactions:                  0.21
...


Event                                 Waits  -outs    Time (s)    (ms)      /txn
---------------------------- -------------- ------ ----------- ------- ---------
db file scattered read                   42     .0           2      55      42.0
log file parallel write                  27     .0           1      32      27.0
rdbms ipc reply                           8     .0           0      50       8.0
control file sequential read            674     .0           0       1     674.0
db file sequential read                  11     .0           0      27      11.0
...
snap_begin、snap_end、snap_report 스크립트는 아래와 같습니다. 언제나처럼 간단한 SQL*Plus 기능만으로 간편하게 작업을 할 수 있습니다.

1. snap_begin.sql

col begin_snap new_value begin_snap;
col db_id new_value db_id;
col inst_num new_value inst_num;

select dbid as db_id from v$database;
select instance_number as inst_num from v$instance;

select dbms_workload_repository.create_snapshot as begin_snap from dual;
2. snap_end.sql
col end_snap new_value end_snap;

select dbms_workload_repository.create_snapshot as end_snap from dual;
3. snap_report.sql
select * from table(
  dbms_workload_repository.awr_report_text(
          &db_id,
          &inst_num,
          &begin_snap,
          &end_snap)
  );
다시 한번 말하지만, AWR은 오라클이 준 소중한 선물입니다. 비록 상당히 비싸기는 하지만, 자주 이용하면 할 수록 그 값어치를 하게 됩니다.

PS) 2009년의 마지낙 날이군요. 누구나처럼 좋은 일도 있었고 안좋은 일도 있었습니다. 내년은 올해보다 더 큰일들을 계획하고 있고, 성과가 있기를 바랍니다. 제 블로그를 방문하시는 모든 분들도 매년 조금씩 더 큰 일을 할 수 있는 행운이 있기를!

저작자 표시
신고

'오라클' 카테고리의 다른 글

Process Explorer  (0) 2010.01.11
다른 세션의 파라미터 값을 제어하기  (5) 2010.01.08
AWR Report를 간편하게 이용합시다.  (9) 2009.12.31
Oracle 11gR2 옵티마이저의 Cardinaliy Feedback  (3) 2009.12.18
Write Consistency?  (1) 2009.12.14
tags : AWR
Trackback 0 : Comments 9
  1. extremedb 2009.12.31 20:09 신고 Modify/Delete Reply

    1년간 좋은 정보 감사드립니다.
    새해에 소망하는 일을 모두 성취하시길 기원합니다.

  2. podong28 2010.01.02 04:31 신고 Modify/Delete Reply

    좋은 글을 매번 눈팅만 하고 가는 애독자입니다. 때가 때인만큼 인사라도 드립니다.
    새해 복많이 받으세요.^^ 건강하시구요.

  3. tohappy 2010.01.04 18:17 신고 Modify/Delete Reply

    이제야 9i> 10g를 경험하게 되서 AWR이 눈에 와 닿네요.Tip 감사합니다.
    한 해 또 많이 찾아뵙겠습니다. 건강하시고 새해 복 많이 받으세요.

    • 욱짜 2010.01.04 20:44 신고 Modify/Delete

      반갑습니다~

      지금이라면 10g보다는 11gR2가 더 나아보이는데요? 아직 적용사례가 많지 않다는 부담이 작용했을것 같네요.

      10g를 사용하다보면 New Feature로 인해 많은 혼란이 있을 수 있습니다. 궁금하신 점이 있으면 언제든지 Ask Exem 사이트를 통해서 문의해주세요.

  4. newbi 2010.01.04 20:12 신고 Modify/Delete Reply

    새해 복 많이 받으세요~

    AWR이 없는 9i에서는 어떤 Tip이 있을까요?

    • 욱짜 2010.01.04 20:41 신고 Modify/Delete

      10g라고 하더라도 AWR은 Enterprise Edition에서만 사용할 수 있고, Enterprise Edition을 사용하더라도 Pack에 대한 추가적인 라이센스 비용을 지불해야 한답니다. 비싸죠.

      9i에서라면 Statspack이 어느 정도 보완책이 되겠지만, AWR과 같은 강력함은 기대할 수 없습니다. Maxgauge같은 3rd Party 툴도 대안이 될 수 있겠습니다.

  5. ryu1hwan 2010.03.05 17:53 신고 Modify/Delete Reply

    정말 유용한 정보 너무 감사드립니다.!!!

  6. bruce Lee 2011.01.26 10:27 Modify/Delete Reply

    관리자의 승인을 기다리고 있는 댓글입니다

Write a comment


오라클 가계부 쓰고 있습니까?

오라클 2009.10.05 17:18
일반인이 돈을 아껴서 부자가 되는 지름길은 가계부를 쓰는 것이라고 합니다.

저 같은 경우는 최근 원하지 않게 차가 2대가 되어서 차에 들어가는 비용이 만만치가 않습니다. 그래서 차계부를 적기 시작했습니다. 차에 들어가는 비용을 줄여보기 위해서죠.

핵심은 이것입니다.

측정을 해야 개선을 할 수 있다.

No improvement without measurement.

다행히 오라클은 AWR(Automatic Workload Repository)이라는 이름으로 가계부를 자동으로 적고 있습니다. 우리가 보통 적는 가계부보다 훨씬 더 다양한 항목을 상세하게 기록해줍니다. 이 데이터를 충분히 활용하지 못한다면 시스템 운영에서의 개선을 바라기는 힘들 것입니다.

다시 한번 말하지만 측정을 해야 개선을 할 수 있기 때문입니다.

저작자 표시
신고

'오라클' 카테고리의 다른 글

오라클을 잘 한다는 것  (5) 2009.10.07
샘플링 vs. 이벤트  (0) 2009.10.06
오라클 가계부 쓰고 있습니까?  (0) 2009.10.05
Extended Describe  (6) 2009.10.01
Fixed Table에 대한 Query 튜닝하기  (0) 2009.09.29
tags : AWR
Trackback 0 : Comment 0

Write a comment


AWR은 공짜가 아닙니다!

오라클 2009.09.10 10:06
AWR을 애용하시는 분들이 많을겁니다. 저 역시도 AWR은 Oracle 성능 관리에 있어서 없어서는 안될 필수 요소로 생각하고 있습니다.

AWR에 대해서 많은 분들이 오해하시는 것이 있습니다.

"우리 회사는 Enterprise Edition을 샀으니까 AWR은 그냥 쓸 수 있는거겠지?"

불행하게도, AWR은 무료가 아닙니다. Diagnostic Pack(진단 팩)을 별도 구매해야만 사용할 수 있습니다. 즉 Oracle Database와는 별개의 License가 필요합니다. Diagnostic Pack을 구매하지 않는다고 해서 이 기능이 막혀 있다는지 하는 것은 아닙니다. 단, 라이센스를 구매하지 않고 사용하는 한에서는 불법이며 지원을 받을 수 없다는 의미입니다.

실제로 이게 문제가 된 사이트를 본 적은 없지만, 외국 제품의 경우 얼마나 복잡한 라이센스 정책을 가지고 있는지를 이해할 필요가 있습니다. 그만큼 제품의 각 기능에 대해 정당한 댓가를 지불한다는 상도덕이 잘 정립되었다고도 볼 수 있겠죠. 더 자세한 내용은 아래 페이지를 참조하세요.

AWR의 Oracle License에 대해서

저작자 표시
신고
tags : AWR
Trackback 0 : Comments 3
  1. 정한교 2009.09.10 13:21 신고 Modify/Delete Reply

    오라클 포럼에도 글을 올렸는데(처음으로^^) 영광스럽게도 ace director께서 답을 주셨습니다.
    http://forums.oracle.com/forums/message.jspa?messageID=3748954#3748954

  2. 박용석 2009.09.16 14:19 신고 Modify/Delete Reply

    oracle 11g 는 dba_hist뷰가 공짜랍니다..f ree .. ( 호주 DB GURU 타넬포더 블로그 발췌 )

    http://blog.tanelpoder.com/2009/05/06/free-dba_hist-awr-views-in-11g/

    • 욱짜 2009.09.16 15:25 신고 Modify/Delete

      DBA_HIST 뷰 전체가 아니라 아래 뷰들만 무료라는 내용이예요.

      DBA_HIST_SNAPSHOT, DBA_HIST_DATABASE_INSTANCE, DBA_HIST_SNAP_ERROR, DBA_HIST_SEG_STAT, DBA_HIST_SEG_STAT_OBJ, and DBA_HIST_UNDOSTAT

      더 정확한 내용은 Oracle Manual을 읽어봐야겠네요.

Write a comment


AWR 써야 하나 말아야 하나...

오라클 2007.08.29 17:19
오라클 10g에서 추가된 AWR(Automatic Workload Repository)는 지금까지 오라클에 추가된 기능들 중 성능 관리 측면에서 가장 현신적이라고 할 수 있다. 성능 이력 데이터를 보관함으로써 기존에는 불가능했던 마법같은 일들(예를 들어 자동 진단. ADDM)이 가능해졌다.

성능 분석에 필요한 모든 데이터의 상세한 이력을 자동으로 관리해준다니... 얼마나 놀라운 발상인가.

하지만, 일부 운영 시스템에서 AWR이 지닌 버그나 성능 저하 등의 문제 때문에 AWR 기능 자체를 비활성화시키는 경우를 종종 볼 수 있었다.

무지막지한 STATISTICS_LEVEL = BASIC 값 부여!!! -,.-

흠... 이것이 옳은 일일까? 모르겠다.

하지만 나의 제안은 이렇다.

  • AWR은 쓰지 않기에는 너무나 좋은 기능이다.
  • 하지만 성능 저하 등의 문제가 있다.
  • 따라서 성능 저하를 최소화시키면서 AWR 본연의 기능은 그대로 쓰자
다행히 몇 개의 히든 파리미터를 통해 AWR의 부하를 조절할 수 있다. AWR에서 가장 많은 양의 데이터를 차지하는 ASH(Active Session History)의 양을 조절하는 것이다.

  • _ASH_ENABLE: FALSE로 하면 ASH 기능을 끌 수 있다. 만일 Active Session History 까지는 필요 없다고 하면 이 파라미터를 쓸 수 있다.
  • _ASH_DISK_WRITE_ENABLE: FALSE로 하면 ASH를 저장하는 기능만 끌 수 있다. 즉 V$ACTIVE_SESSION_HISTORY 뷰는 여전히 사용하되, DBA_HIST_ACTIVE_SESS_HISTORY 뷰는 사용하지 않는다.
  • _ASH_DISK_FILTER_RATIO: 기본값은 10. 즉, 메모리:디스크 비율이 10:1이 되게끔 저장한다. 만일 ASH가 1초 간격으로 수집된다면 디스크에는 10초 간격으로 저장된다. 따라서 이 값을 크게 하면 부하를 줄일 수 있다. 가령 60으로 변경하면 1분 간격으로 디스크에 저장된다. 이 파라미터 조정을 통해 부하를 조절하는 것이 가장 이상적이라고 판단된다.
  • _ASH_SAMPLING_INTERVAL: 기본값은 1000(ms). 즉 ASH를 1초 단위로 수집한다. 이 값을 크게 하면 ASH의 양이 줄고 그 만큼 부하도 줄게 된다.

만일 AWR을 통째로 사용하지 않고 있다면 위의 방법을 적용해보는 것은 어떨까...?


신고
tags : ASH, AWR, Oracle, 오라클
Trackback 0 : Comment 0

Write a comment

티스토리 툴바