http://iotn.co.kr 연락처: gilho.kr@gmail.com [ The Japanese government should apologize to Japanese Military Sexual Slavery victim. / 日本政府は日本軍の性的奴隷?牲者に謝罪すべき. ]

사용자

ID:
PW:

INDEX
01.게시판
게시판 [69]
02.File Book
File 자료실 [95]
Site Link [18]
개인폴더 [194]
03.Field Book
Altibase [19]
Tibero [30]
MS-SQL [18]
MySQL [40]
DB2 [79]
ORACLE [2888]
PostgreSQL [103]
기타정보 [150]
운영체제 [577]
04.Q/A Book
Q/A [53]
05.방명록
방명록 [54]
레벨업 [37]
구인/구직 [2]

기념일
Search
LINK
+ 가족 Hompy
+ DNSEver
IOTN :: Q/A Book >> 궁금한게 있으면 올려주세요.

 회원가입

connect by bug같은데요..
송승현 [LIST]   2013-04-30 17:24:11, 조회 : 2,692

사장님...잘 지내고 계시지요~~
신항만은 어찌 잘 되셨는지요...
다름이 아니라 뭐 좀 여쭈어 볼려고 합니다...

위 제목처럼 connect by bug인 듯 싶은데요..
도저히 답을 못찼겠습니다...ㅠㅠ

아래의 쿼리를 실행을 하면 1058건 정도가 나와야 하는데 235건이 나옵니다.
이리저리 찾아봐서 alter session set optimizer_features_enable='10.2.0.4';로 낮추어서 실행을 하면 335건이 나오구요

그런데 더 황당한(?)것은 조건절에서 컬럼의 필드값만 바꾸었는데 다른 하나는 정상으로 나옵니다.
2900건이 나와야 하는데 2300건이 나오다가 위 optimizer를 강제로 낮추어서 테스트 해 보면 2900건이 나옵니다.
동일한 테이블인데요...
제가 잘못아는 걸까요...
해당 쿼리 올려드립니다..
맨 아래의 connect by start with 의 계층쿼리가 문제를 일으킵니다...ㅠㅠ

select count(*) from (
select  I.standardCode,
                               I.parentsCode,
                               I.korName,
                               I.engName,
                               I.memo,
                               I.representationCode,
                               I.answersetCode,
                               I.finalFlag,
                               level,
                               rownum as rowNumber,
                                 I.sortOrder
                        from            
                        (
                                        select
                                               D.standardCode,
                                               D.parentsCode,
                                               D.korName,
                                               D.engName,
                                               D.memo,
                                               D.representationCode,
                                               '' as answersetCode,
                                               'M' as finalFlag,
                            D.origin_order as sortOrder
                                        from (  
                            SELECT
                                  B.STANDARD_CODE as standardCode,
                                  (SELECT PARENTS_CODE FROM TB_LB_INDEX_DETAIL WHERE STANDARD_CODE = B.standard_code AND INDEX_SEQ = A.SEQ) as parentsCode,
                                 trim(SUBSTR(  SP_GET_INDEX_TITLE_RE(A.SEQ) , INSTR(SP_GET_INDEX_TITLE_RE(A.SEQ), '>', -1) + 1 )) as korName,
                                 C.ENG_NAME as engName,
                                 SP_GET_INDEX_MEMO(A.SEQ) as memo,
                                 C.REPRESENTATION_CODE as representationCode,
                               C.ANSWERSET_CODE as answersetCode,
                               'M' as finalFlag,
                               a.origin_order
                                 FROM
                                 TB_LB_INDEX A
                                 JOIN
                                 (
                                 SELECT SEQ,
                                SUBSTR( SP_GET_INDEX_STANDARD_CODE(SEQ), -6 ) AS STANDARD_CODE
                                 FROM TB_LB_INDEX
                                 ORDER BY DICTIONARY_KIND, ORIGIN_ORDER
                                 ) B
                                 ON A.SEQ = B.SEQ
                                 JOIN TB_LB_DICTIONARY C
                                 ON B.STANDARD_CODE = C.STANDARD_CODE
                                 and A.DICTIONARY_KIND = 'DKC003'
                                     ORDER BY A.DICTIONARY_KIND, A.ORIGIN_ORDER
                                            ) D
                                        union
                                        SELECT  Q.standard_code as standardCode,
                                               F.standard_code as parentsCode,
                                               Q.KOR_NAME as korName,
                                               Q.ENG_NAME as engName,
                                               Q.MEMO as memo,
                                               Q.representation_code as representationCode,
                                               (SELECT SET_CODE FROM TB_LB_QUESTION_INDEX WHERE STANDARD_CODE=Q.standard_code) as answersetCode,
                                               'F' as finalFlag ,
                            999 as sortOrder              
                                        FROM    TB_LB_INDEX E,TB_LB_INDEX_DETAIL F,TB_LB_DICTIONARY G ,TB_LB_DICTIONARY Q
                                        where   E.DICTIONARY_KIND='DKC003'
                                        AND G.DEL_YN = 'Y'
                                        and     E.seq=F.INDEX_SEQ
                                        and     F.standard_code=G.standard_code
                                        and     F.index_order=        (        
                                                                                                select         max(T.index_order)
                                                                                                from         TB_LB_INDEX_DETAIL T
                                                                                                where         T.index_seq=F.index_seq
                                                                                                group by T.index_seq
                                                                                        )
                                        and     F.index_seq=Q.index_code
                        )  I
                        connect by prior I.standardCode=I.parentsCode
                        start with I.parentsCode is null
)
3.235.78.122


구정일
SQL> alter session set "_optimizer_connect_by_elim_dups" = false;

OR

SQL> alter session set "_optimizer_connect_by_cost_based" = false;


위의 두개의 Parameter 들을 써보시고, 한 번 수행하여 보시지요 ... 정확히 DB version 이 어떻게 되시는지 ?
2013-05-01
01:07:28



최길호
어려운 숙제를 올렸네.. ^^

-- Optimizer Trace
alter session set events '10053 trace name context forever, level 1';
-- 문제 SQL 실행
select count(*) from ...
alter session set events '10053 trace name context off';


-- SQL Trace
alter session set events '10046 trace name context forever, level 12';
-- 문제 SQL 실행
select count(*) from ...
alter session set events '10046 trace name context off';


cd user_dump_dest
tkprof file1.trc 10053.txt
tkprof file2.trc 10046.txt

trc, txt 올려줘.. 도움 될만한게 있을거 같은데..

다른 bug 생각해서 최근 Patch 해보는것도 좋겠다.. ^^
2013-05-01
05:35:39



송승현
구정일님 -> DB version은 10.2.0.5 입니다. 2013-05-02
09:11:57



송승현
단순하게 계층쿼리만 문제인 것 같다라는 생각은 들지 않구요...
index나 기타 union절이나 여러가지가 걸리긴 하는데 제가 깊이 알지를 못하니...ㅠㅠ

sol x86_64 에 10.2.0.5 입니다.
workaround 된 것 같기도 하고 그러는데...
저희 회사가 DB opn이 아니다 보니 cpu 패치등 기타 다른 patch는 못구하는 상태입니다..(좌절)
2013-05-02
10:02:05



최길호
workaround 된 것 같기도 하고 그러는데...
된다는거야 뭐야....

_optimizer_connect_by_elim_dups, _optimizer_connect_by_cost_based
잘 될것 같은데...
2013-05-02
13:58:06



  LIST

제목 작성자 작성일 조회
   자료올립니다.     송승현 2013/05/02 1847
   connect by bug같은데요..  [5]  송승현 2013/04/30 2692
Oracle  rman 복구  [1]  송승현 2012/05/16 2521
Oracle  oracle import시 오류  [2]  백상호 2011/06/29 6112
Oracle  cpu 부하시 tuning  [2]  송승현 2011/06/13 2403
Oracle  1년,10년 후에도 sql id를 확인 할수 있는 방법 있으면 힌트좀 주세요~  [2]  최길호 2011/05/15 3723
Oracle  Oracle Database 10g: Administraction Workshop 1 student guide 한글판 소지 하신분 ~  [1]  김주현 2010/11/01 2836
Oracle  설치 스샷 사진   [6]  김은자 2010/08/01 2685
Oracle  원도우 2008 10gr2 RAc 설치 에러   [5]  김은자 2010/08/01 3157
Oracle  statspack 분석이 필요합니다.  [2]  이창수 2010/07/17 2775
Oracle  특정 폴더 공간이 꽉참???  [1]  송승현 2010/07/09 3056
Oracle  부탁요...(신윤섭)   [3]  신윤섭 2010/06/13 2889
Oracle  RAC 에서 리스너 구성하는데요   [1]  김은자 2010/06/13 2931
Oracle  oracle database 10g: Administration workshop I 한글판이 없나요    김은자 2010/05/22 5038
Oracle  이게 뭔가요   [1]  김은자 2010/05/21 2981
Oracle  오류사항 질문드립니다.  [1]  이원도 2010/02/28 7767
Oracle  ocr, votedisk rman backup  [1]  오임권 2010/02/05 5744
Oracle  oracle과 기타 db프로그램에 관해서 질문입니다.  [3]  이용환 2009/09/03 3325
Oracle  오라클 문제 입니다.   [1]  양동호 2009/08/24 4558
etc  당분간 댓글 사용은 로그인 하셔야 합니다.    최길호 2009/03/30 3225

    목록보기   다음페이지 1 [2][3]
       

Copyright 1999-2022 Zeroboard / skin by 최길호(gilho.kr@gmail.com)
최근 댓글
2013/05/02
workaround 된 것 같기도 하고 그러는...
by 최길호
2013/05/02
단순하게 계층쿼리만 문제인 것 같다라는 생각...
by 송승현
2013/05/02
구정일님 -> DB version은 10.2.0...
by 송승현
최근 게시물
06/29
[ORACLE]
DDE: Problem Key 'ORA 600 [133....
by 최길호
06/25
[ORACLE]
Replication may not be valid i....
by 최길호
06/22
[운영체제]
CentOS7 홈페이지 Migration 메모.
by 최길호