태터데스크 관리자

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

태터데스크 메시지

저장하였습니다.

'오라클/기타'에 해당되는 글 6건

  1. 2010.11.24 오라클의 자동 메모리 크기 변경 기능을 써야 할까요?
  2. 2010.11.23 [공지] 인터파크에서 [오라클 성능 Q&A] 출판 이벤트를 진행한다고 합니다. (3)
  3. 2010.11.18 오라클 ACE와 함께 하는 [오라클 성능 Q&A] 출간! (12)
  4. 2010.10.20 엑셈의 10월 오라클 퀴즈에 도전하세요! (2)
  5. 2010.10.06 MOATS - Mother of All Tuning Scripts?
  6. 2010.09.16 9월의 엑셈 오라클 퀴즈에 도전해보세요. (3)

오라클의 자동 메모리 크기 변경 기능을 써야 할까요?

오라클/기타 2010.11.24 11:17
오라클이 버전업되면서 가장 신경쓰는 것 중 하나가 관리의 자동화입니다.

그 중 대표적인 것이 메모리 자동 관리입니다. Oracle 10g에서는 SGA 및 하부 컴포넌트(공유 풀과 버퍼 캐시 등)의 크기를 자동으로 조정하는 SGA 크기 관리 기능이 추가되었고, 11g에서는 PAT(PGA Aggregate Target)의 크기까지 관리해주는 기능이 추가되었죠.

제가 가지는 한가지 의문 중 하나는, 메모리 자동 관리 기능을 써야 하나?입니다.

결론은 애석하게도 부정적입니다.

  • 공유 풀과 버퍼 캐시의 크기가 변경되는 과정에서 불필요한 경합(래치 경합과 뮤텍스 경합)이 발생할 확률이 높습니다.
  • 특정 컴포넌트(가령 공유 풀)의 크기가 불필요하게 커지는 현상이 생길 수 있습니다.
  • 11g의 자동 메모리 관리 기능을 사용하면 PAT(PGA Aggregate Target)의 값이 바뀔 수 있고, 이로 인해 실행 계획이 변경되는 쿼리들이 생길 수 있습니다.
엔터프라이즈 급의 데이터베이스라면 매뉴얼한 최적화 과정이 반드시 필요합니다. 여기에는 메모리 크기 설정도 포함됩니다. 따라서 오라클 엔진에게 자동 메모리 관리 기능을 맡김으로써 불필요한 위험을 초래할 필요는 없다고 봅니다.

일정한 스킬을 보유한 DBA 그룹이 없는 중소 규모의 데이터베이스라면 자동 메모리 관리 기능이 유용할 수도 있을 것입니다. 단, 이런 경우라도 위에서 언급한 문제들이 언제든지 발생할 수 있기 때문에 여전히 보수적인 자세를 취할 필요가 있겠지요.

저작자 표시
신고
Trackbacks 25 : Comment 0

Write a comment


[공지] 인터파크에서 [오라클 성능 Q&A] 출판 이벤트를 진행한다고 합니다.

오라클/기타 2010.11.23 14:20
저렴하게 구입할 수 있는 기회라고 생각되어 공지 올립니다.

자세한 내용은 아래를 참조하세요.

  • 출간을 기념하여 인터파크 도서에서 더블 적립 이벤트를 실시합니다.
  • 이벤트 기한은 11월 23일 ~ 12월 10일입니다.
  • 현재 인터파크 도서에서 10%할인( -2,500원), 5%적립(-1,130P)에 판매중입니다. 고객분들은 22,500원에 결재하시고, 1,130P의 적립금을 받게 됩니다.
  • 이번 이벤트 기회에 구입하시게 되면, 추가 적립 2,000원을 적립해 드립니다. 적립금은 이벤트 종료 후, 12월 13일에 일괄적으로 해당 ID에 지급됩니다.
  • 인터파크 도서에서 구입하신 후, 아래 추가 적립금 신청하기를 클릭하시어, 주문번호를 남겨주시면 더블적립 이벤트 종료 후에, 일괄적으로 적립해 드리도록 하겠습니다.
아래 링크를 이용하시면 됩니다.

[바로 구매하기]

[적립금 신청하기]

이런 더블 적립 이벤트도 가끔 하는군요. ㅎㅎ

저작자 표시
신고
Trackbacks 15 : Comments 3
  1. 애독자 2010.11.23 15:39 신고 Modify/Delete Reply

    ㅡ.ㅡ 교보문고에서 오전에 주문하고 벌써 택배사 이동중이라 취소도 안되고... 좀더 빨리 주셨음 ^^ 암튼 잘 보겠습니다.

    • 욱짜 2010.11.23 17:24 신고 Modify/Delete

      아. 애석하군요.

      저도 오늘 오후에야 전달받았습니다. ㅎㅎ

      책을 보시다가 생기시는 의문은 언제든지 Ask Exem을 통해 문의해주세요.

  2. url 2012.03.28 14:37 Modify/Delete Reply

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

Write a comment


오라클 ACE와 함께 하는 [오라클 성능 Q&A] 출간!

오라클/기타 2010.11.18 17:43
Ask 엑셈의 운영을 시작한 것은 제가 오라클을 본격적으로 공부하면서 가장 큰 도움을 얻었던 Ask Tom에서 받은 자극때문이었습니다. 저런 실용적이면서도 높은 수준의 논의가 온라인으로 이루어지다니!

Ask 엑셈은 여러가지 한계를 드러내기도 했지만(그리고 그 한계는 제 자신의 한계이기도 합니다), 지난 1년 반동안의 운영으로 제법 만족할 만한 수준의 질문과 답변들이 쌓이고 있습니다. 그리고 약 1년 동안의 질문과 답변 중 공유할만한 것들을 모아서 책으로 냈습니다.(아직 서점에 풀릴려면 시간이 좀 더 필요합니다만...)


오라클 ACE와 함께 하는 [오라클 성능 Q&A]

이전에 냈던 약간은 무겁고, 체계적인 내용에서 벗어나서 실제로 많은 분들이 궁금해했던 내용을 정리하면 조금 더 재미있게 지식을 주고 받을 수 있지 않을까하는 생각입니다. B급 영화 한편을 보는 느낌이라고 할까요? 그렇게 봐주시면 좋겠습니다.

부담없이 재미있게 읽을 수 있는 오라클 성능 관련 책을 찾으신다면(이런게 가능할까요? ㅎㅎ), 이 책을 한번 펼쳐보셔도 좋겠습니다.

PS) 위의 책을 마무리하면서 현재 다음 번 책을 준비하고 있습니다. 제목은 아마 [오라클 성능 트러블슈팅의 기초]가 될 것 같습니다. 목차는 다음과 같습니다.

  1. 기본개념 및 툴
  2. 시스템, 세션, SQL 분석
  3. 대기이벤트 분석
  4. 힙 메모리 분석
  5. 콜 트리 분석
  6. 기타 유틸리티
아... 무거운 주제인데요. 가능한 재미있게 내용을 전달할 수 있도록 노력 중입니다. 건투를 빌며!
저작자 표시
신고
Trackbacks 4 : Comments 12
  1. eddy 2010.11.18 18:11 신고 Modify/Delete Reply

    책의 일부 내용이 담긴 pdf를 보았습니다.
    그 내용으로 미루어보아 책의 내용이 상당히 기대됩니다.

    또한 늘 새로운 시도를 하시는 모습이 참 좋아보입니다.

    화이팅! ^^

    • 욱짜 2010.11.18 18:18 신고 Modify/Delete

      감사합니다.

      이 책을 내면서 B급 영화를 만드는 감독들의 고민을 이해하게 됐습니다. :)

      샘플 PDF는 편집과 교정이 완료되기 전의 버전입니다. 실제의 책은 훨씬 예쁘고 보기 편할 것입니다.

  2. salvationism 2010.11.18 19:11 신고 Modify/Delete Reply

    이번 세미나와 관련된 것 이군요.
    ask엑셈글은 다 본거같은데.. 재밌게 보도록 하겠습니다^^

    • 욱짜 2010.11.18 19:17 신고 Modify/Delete

      감사합니다.

      온라인에서는 지면 관계상 다루지 못했던 보다 상세한 설명과 테스트 케이스를 싣는데 주력했습니다. 재미있어야 할텐데요.

  3. 강정식 2010.11.19 11:30 신고 Modify/Delete Reply

    또 좋은 책을 출간하시는군요 ^^
    출간되는 날에 바로 사 봐야겠네요..

  4. 김재명 2010.11.19 23:55 신고 Modify/Delete Reply

    의도하신대로 부담없이 재미있을 것 같습니다.
    서점에 나오면 블로그에 글 다시 올려주세요. :)

  5. extremedb 2010.11.21 21:58 신고 Modify/Delete Reply

    축하드립니다.
    또 하나의 작품을 만드셨네요.

    • 욱짜 2010.11.22 10:57 신고 Modify/Delete

      부끄럽습니다. 여러분들이 질문한 것 중 책으로 옮길 수 있을만한 주제를 골라서 정리한 것에 불과합니다.

      앞으로도 더 좋은 많은 질문과 답변이 쌓여서 그것이 계속 공유되고 발전되었으면 좋겠습니다.

  6. 애독자 2010.11.23 10:21 신고 Modify/Delete Reply

    언제나 새로운 지식의 갈증에 청량한 음료수를 넣어주시는 욱짜님의 내공은 대한민국 SQL 발전의 밑거름이십니다. 건승하세요...

    • 욱짜 2010.11.23 13:35 신고 Modify/Delete

      표현이 시적이신데요.

      부끄럽습니다. 테스트하기를 좋아하고, 그 결과를 문장으로 나타내기를 좋아하는 엔지니어로 봐주시면 좋겠습니다.

  7. 2dong0 2010.12.02 17:39 신고 Modify/Delete Reply

    파랑이, 빨강이, 노랑이에 이어 이번에 하양이까지 질렀습니다.^^ ㅋㅋ
    아직 책을 받진 못했지만 기대하고 있습니다.^^
    앞으로도 좋은 책 부탁드립니다.^^

    • 욱짜 2010.12.02 17:51 신고 Modify/Delete

      감사합니다. 최소한 한가지라도 새롭고 실용적인 것을 전달할 수 있으면 좋겠습니다.

Write a comment


엑셈의 10월 오라클 퀴즈에 도전하세요!

오라클/기타 2010.10.20 09:45
지난 번 퀴즈의 실패(?)를 딛고 혼신의 힘을 기울여 만든 퀴즈입니다. 음... 근데 내고 보니 왠지 이번에도 참가자가 적을 것 같다는...

퀴즈 참가자 수는 문제 길이에 반비례하더군요. 문제는 짧고 재미있는 퀴즈를 만들기가 쉽지 않다는 것입니다.

그래도 많이들 도전하시고 상품권도 받아가시길 바랍니다!

저작자 표시
신고
Trackback 0 : Comments 2
  1. 라튜니 2010.10.27 17:32 신고 Modify/Delete Reply

    이번달 퀴즈에 문의사항이 있어 이렇게 질문 드립니다.

    01 SQL> select c1, count(*)
    02 2 from t1
    03 3 group by c1
    04 4 ;
    05
    06 C1 COUNT(*)
    07 ---------- ----------
    08 1 10000
    09
    10 SQL> select /*+ gather_plan_statistics
    11 2 index(t1) */
    12 3 *
    13 4 from
    14 5 t1
    15 6 where
    16 7 c1 = 1
    17 8 and rownum = 1
    18 9 ;
    19
    20 C1 C2
    21 ---------- ----------
    22 1 x ===> '이상함'
    23
    24 ----------------------------------------------------------------------------
    25 | Id | Operation | Name | Starts | A-Rows | A-Time | Buffers |
    26 ----------------------------------------------------------------------------
    27 | 0 | SELECT STATEMENT | | 1 | 1 |00:00:00.01 | 36 |
    28 |* 1 | COUNT STOPKEY | | 1 | 1 |00:00:00.01 | 36 |
    29 |* 2 | INDEX RANGE SCAN| T1_N1 | 1 | 1 |00:00:00.01 | 36 |
    30 ----------------------------------------------------------------------------
    31
    32 Predicate Information (identified by operation id):
    33 ---------------------------------------------------
    34
    35 1 - filter(ROWNUM=1)
    36 2 - access("C1"=1)

    문제 내용을 보면 update 이후 select 한 값의

    c2값이 x임에도 불구하고

    정답의 update문은 c2를 'xxxxxxxxxx' 로 업데이트 했는데요.

    그럼 중간에 select한 내용과 일치하지 않는거 같아서 질문드립니다.

    수고하세요~

    • 욱짜 2010.10.27 15:29 신고 Modify/Delete

      그렇군요!

      정답을 선택할 때 Logical Reads가 늘어난다는 사실에만 부합하면 정답으로 인정해서 거기까지는 신경쓰지 못했습니다. 이 점은 양해부탁드리겠습니다.

      다음 번에는 좀 더 상세한 부분까지 신경쓰도록 하겠습니다.

Write a comment


MOATS - Mother of All Tuning Scripts?

오라클/기타 2010.10.06 16:20
MOATS라는 재미있는 유틸리티를 발견했습니다. 특정 인스턴스의 성능에 대한 리포트를 제공하는데요, 심플하면서도 유용합니다.
   SQL> SELECT * FROM TABLE(moats.top(5));

-- 아래 내용이 자동 갱신됨
-- 단, 창의 폭을 최소 110으로 키워야 함

   + INSTANCE SUMMARY ------------------------------------------------------------------------------------------+
   | Instance: ora112           | Execs/s:     2.0 | sParse/s:     0.0 | LIOs/s:  219637.3 | Read MB/s:     0.0 |
   | Cur Time: 13-Aug 19:25:14  | Calls/s:     0.0 | hParse/s:     0.0 | PhyRD/s:      0.5 | Write MB/s:    0.0 |
   | History:  0h 0m 26s        | Commits/s:   0.0 | ccHits/s:     1.5 | PhyWR/s:      2.9 | Redo MB/s:     0.0 |
   +------------------------------------------------------------------------------------------------------------+

   + TOP SQL_ID (child#) -----+ TOP SESSIONS ---------+      + TOP WAITS -------------------------+ WAIT CLASS -+
   |  50% | bwx4var9q4y9f (0) | 71                    |      | 100% | latch: cache buffers chains | Concurrency |
   |  50% | bq2qr0bhjyv1c (0) | 133                   |      |  50% | SQL*Net message to client   | Network     |
   |  50% | 799uuu8tpf6rk (0) | 6                     |      |                                    |             |
   +--------------------------------------------------+      +--------------------------------------------------+

   + TOP SQL_ID ----+ PLAN_HASH_VALUE + SQL TEXT ---------------------------------------------------------------+
   | bwx4var9q4y9f  | 2119813036      | select  /*+ full(a) full(b) use_nl(a b) */  count(*) from  sys.obj$ a,  |
   |                |                 | ys.obj$ b where  a.name = b.name and rownum <= 1000002                  |
   + ---------------------------------------------------------------------------------------------------------- +
   | bq2qr0bhjyv1c  | 644658511       | select moats_ash_ot( systimestamp, saddr, sid, serial#, audsid, paddr,  |
   |                |                 | er#,                                  username, command, ownerid, taddr |
   + ---------------------------------------------------------------------------------------------------------- +
   | 799uuu8tpf6rk  | 2119813036      | select  /*+ full(a) full(b) use_nl(a b) */  count(*) from  sys.obj$ a,  |
   |                |                 | ys.obj$ b where  a.name = b.name and rownum <= 1000001                  |
   + ---------------------------------------------------------------------------------------------------------- +
텍스트 기반의 화면을 제공하기 때문에 SQL*Plus만 수행할 수 있으면 사용할 수 있다는 것이 장점이네요. 우리도 이런 유용한 컴포넌트들을 많이 개발했으면 좋겠습니다.

(아래는 제 PC에 설치한 후 샘플로 실행해본 화면입니다)

저작자 표시
신고
Trackback 0 : Comment 0

Write a comment


9월의 엑셈 오라클 퀴즈에 도전해보세요.

오라클/기타 2010.09.16 09:34
이런, 이런. 한달이 너무 빨리 돌아오는군요.

이번 달 퀴즈도 역시 쉽습니다. 재빨리 도전해보시고 추석 선물로 받으시면 어떨까요!

저작자 표시
신고
Trackback 0 : Comments 3
  1. 욱짜 2010.09.27 09:56 신고 Modify/Delete Reply

    아아... 이번 퀴즈는 대실패입니다. 문제를 잘못 골랐어요.

    그래도 퀴즈는 쭉~

  2. 라튜니 2010.10.01 08:47 신고 Modify/Delete Reply

    퀴즈 정답 발표는 안 하나요~? 발표기간이 넘은거 같아서요.

    • 욱짜 2010.10.01 15:49 신고 Modify/Delete

      추석이 끼어있어서 좀 지연되었습니다. 다음 주 화요일에 발표 예정입니다.

      이번에는 문제가 조금 잘못 출제되어서 좀 불안합니다. ㅠㅠ

Write a comment

티스토리 툴바