목차 BUG ora(alti)adapter 에서복제대상 DB 장애로데이터정합성이깨진후맞춰지지않습니다... 3 BUG PERCENTILE_CONT, PERCENTILE_DISC, MEDIAN 에서 DATE 타입을지원해야합니다 BUG-438

Similar documents
목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes

ALTIBASE HDB Patch Notes

13주-14주proc.PDF

10.ppt

윈도우시스템프로그래밍

DBMS & SQL Server Installation Database Laboratory

歯sql_tuning2

강의 개요

윈도우시스템프로그래밍

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

Tablespace On-Offline 테이블스페이스 온라인/오프라인

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

문서 템플릿

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ETL_project_best_practice1.ppt

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

PowerPoint Presentation

Microsoft PowerPoint - 10Àå.ppt

untitled

Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터

(Humphery Kim) RAD Studio : h=p://tech.devgear.co.kr/ : h=p://blog.hjf.pe.kr/ Facebook : h=p://d.com/hjfactory :

untitled

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc

PowerPoint 프레젠테이션

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Orcad Capture 9.x

PowerPoint 프레젠테이션

90

MySQL-Ch10

NoSQL

Microsoft PowerPoint Python-DB

슬라이드 1

歯PLSQL10.PDF

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

TITLE

Result Cache 동작원리및활용방안 엑셈컨설팅본부 /DB 컨설팅팀김철환 개요 ORACLE DBMS 를사용하는시스템에서 QUERY 성능은무엇보다중요한요소중하나이며그 성능과직접적인관련이있는것이 I/O 이다. 많은건수를 ACCESS 해야만원하는결과값을얻을수있는 QUER

untitled

RDB개요.ppt

歯처리.PDF

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

DocsPin_Korean.pages

C# Programming Guide - Types

thesis

MAX+plus II Getting Started - 무작정따라하기

PRO1_09E [읽기 전용]

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

제목 레이아웃

슬라이드 1

MS-SQL SERVER 대비 기능

MySQL-.. 1

CD-RW_Advanced.PDF

쉽게 풀어쓴 C 프로그래밊

구축환경 OS : Windows 7 그외 OS 의경우교재 p26-40 참조 Windows 의다른버전은조금다르게나타날수있음 Browser : Google Chrome 다른브라우저를사용해도별차이없으나추후수업의모든과정은크롬사용 한

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

CPX-E-EC_BES_C_ _ k1

ALTIBASE 사용자가이드 Templete

PowerPoint Template

PowerChute Personal Edition v3.1.0 에이전트 사용 설명서

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

제목을 입력하세요.

슬라이드 제목 없음

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

PowerPoint 프레젠테이션

Commit_Wait / Commit_Logging 두파라미터를통해 Log File Sync 대기시간을감소시킬수있다는것은놀라움과의아함을동시에느낄수있다. 단지파라미터의수정을통해당연히대기해야하는시간을감축한다는것은분명성능을개선해야하는입장에서는놀라운일이될것이다. 반면, 그에따

빅데이터분산컴퓨팅-5-수정

초보자를 위한 ADO 21일 완성

윈백및업그레이드 Tibero Flashback 가이드

PRO1_04E [읽기 전용]

T100MD+

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

Chapter 1

결과보고서

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law),

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

강의10

빅데이터 분산 컴퓨팅 -6

Microsoft Word - SQL튜닝_실습교재_.doc

10.

´ÙÁß Row °á°ú¸¦ ´ÜÀÏÇàÀ¸·Î Äĸ¶·Î ºÐ¸®ÇØ Ãâ·ÂÇÏ´Â ¹æ¹ý

Intra_DW_Ch4.PDF

Manufacturing6

ePapyrus PDF Document

6장. SQL

배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 (

Spring Boot/JDBC JdbcTemplate/CRUD 예제

대량의 DML 작업에대한성능개선방안 엑셈컨설팅본부 /DB 컨설팅팀박준연 개요 대량의데이터를변경해야하는작업은그자체만으로도큰부담으로다가온다. 하지만변경작업자체에만국한되는것이아니라변경되기전데이터와변경이후데이터를각각저장관리해야하는메커니즘이라면성능을개선해야하는입장에서는더욱큰부담


FlashBackt.ppt

SQL Tuning Business Development DB

Lab 3. 실습문제 (Single linked list)_해답.hwp

Transcription:

ALTIBASE HDB 6.5.1.2.7 Patch Notes

목차 BUG-43540 ora(alti)adapter 에서복제대상 DB 장애로데이터정합성이깨진후맞춰지지않습니다... 3 BUG-43821 PERCENTILE_CONT, PERCENTILE_DISC, MEDIAN 에서 DATE 타입을지원해야합니다.... 5 BUG-43831 adapter 반영테이블의사용자를 XLog Sender 에서지정한사용자로하여야합니다.... 7 BUG-43845 set feedback 동작을맞게수정합니다... 12 BUG-43858 PSM 에서 view target 절에 PSM 변수를사용하는경우 invalid literal 에러가발생할수있습니다.... 14 BUG-43859 regexp_substr 함수수행중비정상종료해결... 16 BUG-43860 to_date 함수에서 0 으로설정할수있는오류에대해서는무시할수있어야합니다... 17 BUG-43868 replication heartbeat message 가출력되지않고 HP 에서 getsockopt 의인자를잘못넘겨주고있습니다... 18 BUG-43871 Receiver 에서 statement 를종료시킬때 Cursor/Statement 가 open/begin 상태인지확인하지않고 close/end 를하여 FATAL 이발생합니다... 19 BUG-43882 MEMORY_INDEX_UNBALANCED_SPLIT_RATE 기본값변경... 21 BUG-43887 Hierarchical Query View 는 Unnest 되면안됩니다.... 22 BUG-43897 (+) outer join operator 를테이블의갯수이상사용하는경우비정상종료할수있습니다... 23 2 / 24

BUG-43540 ora(alti)adapter 에서복제대상 DB 장애로데이터정합성이 깨진후맞춰지지않습니다. Module Category 재현빈도 Reproducing Conditions 재현절차 수행결과 예상결과 rp-oraadapter Functional Error Frequence ora(alti)adapter 수행도중 oracle/altiadapter 비정상종료 ora(alti)adapter 만떠있고, 로그를계속무시하는상황발생하여데이터들어짐. xlog sender 에서데이터를다시보내주어데이터정합성보장문제 ================================ adapter 수행중에타겟 DB 비정상종료하면 adapter 가계속떠서 trc 에에러내면서로그를넘김니다. 그래서, 나중에데이터정합성이틀어지게됩니다. 해결방법 ============================= 프로퍼티를추가하여해결 증상 - ORACLE_SKIP_ERROR = 1 - 이프로퍼티는 Oracle ( 또는 Other Altibase ) 와의처리도중에발생한에러에대해서프로퍼티 ERROR_RETRY_COUNT 만큼재시도했는데도에러가발생시 Adapter 를종료할지, 무시하고진행할지에대한프로퍼티입니다. - 기본값은 1 입니다. - 0 : Adapter 종료 - 1 : 무시하고진행 - ORACLE_ERROR_RETRY_COUNT = 0 - 이프로퍼티는 Oracle ( 또는 Other Altibase ) 와의처리도중에발생한에러에대해서재시도를몇번할지에대한프로퍼티입니다. - 기본값은 0 이며, 0 일경우기존 Adapter 처럼재시도를하지않습니다. 3 / 24

- ORACLE_ERROR_RETRY_INTERVAL = 0 - 이프로퍼티는 Oracle ( 또는 Other Altibase ) 와의처리도중에발생한에러에대해서재시도할때, 몇초마다재시도할지에대한프로퍼티입니다. - 기본값은 0 이며, 0 일경우쉬지않고재시도를수행합니다. - ADAPTER_ERROR_RESTART_COUNT = 0 - Adapter 구동중에서발생한모든에러 ( Ala, Oracle 모두포함 ) 에대해서 Adapter 가재시작 ( ala 와의재접속, oracle/other altibase 와의재접속 ) 할지에대한프로퍼티입니다. - 기본값은 0 이며 0 일경우에러발생시 Adapter 는바로종료됩니다. - ADAPTER_ERROR_RESTART_INTERVAL = 0 - 이프로퍼티는 Adapter 구동중에발생한모든에러에대해서재시도할때, 몇초마다재시도할지에대한프로퍼티입니다. - 기본값은 0 이며, 0 일경우쉬지않고재시도를수행합니다. 변경사항 Workaround - ALA_SENDER_REPLICATION_PORT = 0 - Ala 가 Replication 과 Handshake 할때 Replication 의 Sender 를깨우기위해필요한프로퍼티입니다. ( Sender 가슬립중일경우에깨워서바로접속하기위함 ) - 기본값은 0 이며 0 일경우깨우지않고바로 Handshake 를진행합니다. Performance View Property Compile Option Error Code 해당없음 4 / 24

BUG-43821 PERCENTILE_CONT, PERCENTILE_DISC, MEDIAN 에서 DATE 타입을지원해야합니다. Module Category 재현빈도 mt-datatype Functionality Always CREATE TABLE T1 (I1 DATE); 재현절차 SELECT MEDIAN(I1) FROM T1; SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY I1) FROM T1; SELECT PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY I1) FROM T1; INSERT INTO T1 VALUES ( SYSDATE ); Reproducing Conditions SELECT MEDIAN(I1) FROM T1; SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY I1) FROM T1; SELECT PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY I1) FROM T1; isql> CREATE TABLE T1 (I1 DATE); Create success. isql> SELECT MEDIAN(I1) FROM T1; MEDIAN(I1) -------------- 수행결과 1 row selected. isql> SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY I1) FROM T1; PERCENTILE_CONT(0.5)WITHINGROUP(ORDERBYI1) --------------------------------------------- 1 row selected. 5 / 24

isql> SELECT PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY I1) FROM T1; PERCENTILE_DISC(0.5)WITHINGROUP(ORDERBYI1) --------------------------------------------- 증상 변경사항 Workaround 1 row selected. isql> INSERT INTO T1 VALUES ( SYSDATE ); 1 row inserted. isql> SELECT MEDIAN(I1) FROM T1; [ERR-21011 : Invalid literal] isql> SELECT PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY I1) FROM T1; [ERR-21011 : Invalid literal] isql> SELECT PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY I1) FROM T1; [ERR-21011 : Invalid literal] 예상결과해당없음 PERCENTILE_CONT, PERCENTILE_DISC, MEDIAN 에서 DATE 타입을지원합니다. Performance View Property Compile Option Error Code 해당없음 6 / 24

BUG-43831 adapter 반영테이블의사용자를 XLog Sender 에서지정한 사용자로하여야합니다. Module Category 재현빈도 rp-oraadapter Enhancement Frequence create replication ala for analysis with '127.0.0.1', 33333 from sys.test to orauser.test; Reproducing Conditions 증상 oraadapter.conf ORACLE_SERVER_ALIAS = ksc5601utf16_server ORACLE_USER = scott 재현절차 ORACLE_PASSWORD = tiger oracle 에서 scott 계정에 orauser.test 테이블에갱신권한줌. oraadapter start alter replication ala start; insert into test(...); 수행결과 oracle 에데이터삽입실패. 예상결과데이터삽입성공문제점 ======================================== Oracle 1. OAT 계정생성후롤을이용하여모든테이블에대한 ISUD 권한부여 2. oraadapter.conf 에접속계정을 OAT 로명시 3. alti 계정에 tb_test1 테이블생성 * alti 계정은모든테이블의오너계정. Account lock 설정후접근차단. * OAT 계정은 adapter 전용계정으로 alti 로부터테이블조회, 삽입, 삭제, 갱신등의권한을받음. Altibase 1. sys 유저로 tb_test1 테이블생성 7 / 24

2. 이중화생성 ala for analysis ~~~ from sys.tb_test1 to alti.test1; oraadpater : oautility start 완료 Altibase : replication start 완료 다음과같은에러발생 [2016-07-25 13:33:19] Adapter is ready to process logs. [2016-07-25 13:33:42] OCI library error: 942 ORA-00942: table or view does not exist [2016-07-25 13:33:42] INSERT : [2016-07-25 13:33:42] Table name TB_TEST1 [2016-07-25 13:33:42] Table Id 0 [2016-07-25 13:33:42] Column count 4 [2016-07-25 13:33:42] Column name C1 [2016-07-25 13:33:42] Hidden Column NO [2016-07-25 13:33:42] Column value '3' [2016-07-25 13:33:42] Column name C2 현재 oraadapter 에서 oracle 로데이터를 insert, delete, update 할때 따로계정명을명시하지않음 ex ) insert into TB_TEST1 values( 1 ); 여기서 TB_TEST1 은 alti 계정의테이블이므로 OAT 계정은해당 테이블을찾을수없음. ( alti.tb_test1 이라명시해야함 ) 해결방법 ======================================== xlog sender 만들때사용한 to user 와 oraadapter conf 의 oracle_user 가 다를경우 (altiadapter 도동일 ) 데이터삽입이안됩니다. 이유는 adapter 에서 sql 을만들때 user 를지정하지않고그냥테이블 명만사용하기때문입니다. 따라서 xlog sender 의 to user 에들어온값으로 user 를지정해야합니다. checkconstraint 문제 8 / 24

================================= $ oacheckconstraints Primary key constraint checking... stty: 표준입력 : 장치에대해부적절한 ioctl There are no replication tables. [ALTI.TB_TEST1] FAIL : Altibase "SYS"."TB_TEST1", Oracle "ALTI"."TB_TEST1" The end result of checking constraints : [FAIL] $ oacheckconstraints Primary key constraint checking... stty: 표준입력 : 장치에대해부적절한 ioctl There are no replication tables. [ALTI.TB_TEST1] FAIL : Altibase "SYS"."TB_TEST1", Oracle "ALTI"."TB_TEST1" The end result of checking constraints : [FAIL] 현재 CheckConstraints 는 USER View 를이용하여사용자조회를함. 하지만아래와같이 $ oacheckconstraints Primary key constraint checking... stty: 표준입력 : 장치에대해부적절한 ioctl There are no replication tables. [ALTI.TB_TEST1] FAIL : Altibase "SYS"."TB_TEST1", Oracle "ALTI"."TB_TEST1" The end result of checking constraints : [FAIL] $ oautility start Primary key constraint checking... stty: 표준입력 : 장치에대해부적절한 ioctl There are no replication tables. [ALTI.TB_TEST1] FAIL : Altibase "SYS"."TB_TEST1", Oracle "ALTI"."TB_TEST1" The end result of checking constraints : [FAIL] Failed to start /data/oracle/oraadapter.choi/bin/oraadapter, please check constraints. 보시는것처럼확인되는 error 메세지는 ALTI.TB_TEST1 을찾을수없다 9 / 24

라고나옵니다. 그러나실제로는 ALTI 유저는 TB_TEST1 을가지고있는상태입니다. 아래는 oacheckconstraint 를수정했을경우의각유틸리티실행 결과입니다. $ oacheckconstraints Primary key constraint checking... stty: 표준입력 : 장치에대해부적절한 ioctl OK : Altibase "SYS"."TB_TEST1", Oracle "ALTI"."TB_TEST1" The end result of checking constraints : [OK] $ oautility start Primary key constraint checking... stty: 표준입력 : 장치에대해부적절한 ioctl OK : Altibase "SYS"."TB_TEST1", Oracle "ALTI"."TB_TEST1" The end result of checking constraints : [OK] Start /data/oracle/oraadapter.choi/bin/oraadapter... 오라클에 USER_ 뷰는현재접속중인 USER 에관련된내용을보여주는것으로알고있습니다. 따라서뷰의특징에따라현재접속한유저가가지고있지않는테이블은확인할수없으므로위의에러가발생한것으로보입니다. 타유저가가진테이블까지조회가필요하다면 USER_ 보다 ALL_ 뷰를 사용하는것이맞는것으로보입니다. SELECT * FROM user_users; 해설 : 현재접속한사용자의 view 를조회한다. SELECT * FROM all_users; 해설 : 모든사용자의 view 를조회한다. 따라서접속하지않은계정의 Table 을조회하기위해서는 ALL View 를 10 / 24

이용해야한다. 변경사항 Workaround Performance View Property Compile Option Error Code oraadapter.conf 를테이블소유계정에맞춤 ORACLE_USER = orauser 11 / 24

BUG-43845 set feedback 동작을맞게수정합니다. Module ux-isql Category Functional Error 재현빈도 Always drop table t1; create table t1(i1 int); SHOW FEEDBACK; 재현절차 select * from t1; SET FEEDBACK 2; select * from t1; isql> drop table t1; [ERR-31031 : Table or view was not found : 0001 : drop table T1 ^ ^ ] isql> create table t1(i1 int); Create success. isql> SHOW FEEDBACK; Reproducing Feedback : 1 Conditions 수행결과 isql> select * from t1; T1.I1 -------------- No rows selected. isql> SET FEEDBACK 2; isql> select * from t1; T1.I1 -------------- isql> SQL> select * from t1; no rows selected 예상결과 SET FEEDBACK 2; SQL> select * from t1; no rows selected 증상 SET FEEDBACK 동작을맞게수정합니다. 12 / 24

변경사항 Workaround Performance View Property Compile Option Error Code 해당없음 13 / 24

BUG-43858 PSM 에서 view target 절에 PSM 변수를사용하는경우 invalid literal 에러가발생할수있습니다. Module Category 재현빈도 Reproducing Conditions 재현절차 mt-function Functional Error Always CREATE OR REPLACE PROCEDURE PROC1(P_DATE IN VARCHAR(20)) IS CALC_YMD VARCHAR2(20); BEGIN SELECT TO_CHAR(INPUT_DT-1, 'YYYYMMDD') INTO CALC_YMD FROM ( SELECT TO_DATE(P_DATE, 'YYYYMMDDHH24MISS') INPUT_DT FROM DUAL ); END; / exec proc1('20160905184601'); 증상 변경사항 Workaround isql> exec proc1('20160905184601'); 수행결과 [ERR-21011 : Invalid literal at "SYS.PROC1", line 5] isql> exec proc1('20160905184601'); 예상결과 Execute success. undef type 이 view column 으로오는경우에기존코드에서 undef type 을처리하지못하고있었습니다. Performance View Property Compile Option Error Code CREATE OR REPLACE PROCEDURE PROC1(P_DATE IN VARCHAR(20)) IS CALC_YMD VARCHAR2(20); 14 / 24

BEGIN SELECT TO_CHAR(INPUT_DT-1, 'YYYYMMDD') INTO CALC_YMD FROM ( SELECT TO_DATE(CAST(P_DATE as VARCHAR(20)), 'YYYYMMDDHH24MISS') INPUT_DT FROM DUAL ); END; / exec proc1('20160905184601'); 15 / 24

BUG-43859 regexp_substr 함수수행중비정상종료해결 Module mt-function Category Fatal 재현빈도 Frequence SELECT REGEXP_SUBSTR(' 대한민국 ( 국토교통부 )','(') FROM DUAL; SELECT REGEXP_SUBSTR(' 대한민국 ( 국토교통부 )','(') FROM DUAL; 재현절차 SELECT REGEXP_SUBSTR(' 대한민국 ( 국토교통부 )','(') FROM DUAL; SELECT REGEXP_SUBSTR(' 대한민국 ( 국토교통부 )','(') FROM DUAL; SELECT REGEXP_SUBSTR(' 대한민국 ( 박근혜만세 )', '(') FROM DUAL; isql> SELECT REGEXP_SUBSTR(' 대한민국 ( 국토교통부 )','(') FROM 수행결과 DUAL; Reproducing communication failure... Conditions isql> SELECT REGEXP_SUBSTR(' 대한민국 ( 국토교통부 )','(') FROM DUAL; [ERR-21053 : The pattern requires parentheses, brackets, or braces. 예상결과 0001 : SELECT REGEXP_SUBSTR(' 대한민국 ( 국토교통부 )','(') FROM DUAL ^ ^ ] 증상 regexp_substr 에서예외상황의메모리액세스문제를수정합니다. Performance View 변경사항 Property Compile Option Error Code Workaround 16 / 24

BUG-43860 to_date 함수에서 0 으로설정할수있는오류에대해서는 무시할수있어야합니다. Module Category 재현빈도 Reproducing Conditions 재현절차 수행결과 예상결과 mt-function Maintainability Always select TO_DATE('200606090000', 'YYYYMMDDHH24MISS') from dual; isql> select TO_DATE('200606090000', 'YYYYMMDDHH24MISS') from dual; [ERR-21038 : Literals in the input do not match the format string. 0001 : select TO_DATE('200606090000', 'YYYYMMDDHH24MISS') from DUAL ^ ^ ] isql> select TO_DATE('200606090000', 'YYYYMMDDHH24MISS') from dual; TO_DATE('20060609000000','YYYYMMDDHH24MISS --------------------------------------------- 09-JUN-2006 1 row selected. 증상 Date format 에서시간값이생략되면생략된시간의값을 00 으로설정한다. 변경사항 Workaround Performance View Property Compile Option Error Code 17 / 24

BUG-43868 replication heartbeat message 가출력되지않고 HP 에서 getsockopt 의인자를잘못넘겨주고있습니다. Module Category 재현빈도 Reproducing Conditions 증상변경사항 Workaround rp-control Fatal Frequence 재현절차 수행결과 예상결과 HP OS 에서이중화를시작하여이중화 Heartbeat 이동작하면간헐적으로 SIGBUS 로비정상종료가발생할수있음. Performance View Property Compile Option Error Code 18 / 24

BUG-43871 Receiver 에서 statement 를종료시킬때 Cursor/Statement 가 open/begin 상태인지확인하지않고 close/end 를하여 FATAL 이발생합니다. Module Category 재현빈도 Reproducing Conditions 재현절차 수행결과 예상결과 rp Fatal Always 해당없음해당없음해당없음 Receiver 에서 statement 를종료시킬때 Cursor 가 open 상태인지확인하지않고 close 를하여 FATAL 이발생합니다. 발생상황 ================================================ 증상 1. DB1 에서 DB2 로 Sync 2. DB2 에서 insertrow 중 Retry Error 가발생하여 Cursor 를닫고 Cursor 를다시열어 insertrow 를재시도하려고함 3. 이때 Cursor 를여는도중에러로인해 ( INC-34858 에서발생한에러는 lock timeout ) Cursor 를열지못하고예외상황으로빠짐 4. 예외상황으로인해할당된자원을반납하기위해 Sstatement End 와 Cursor Close 를하는상황. 이때 3 번과정에서 Cursor 는 open 을하지못한상태. 따라서 mopencursorcnt = 0 임 5. Cursor 를 Close 할때 mopencursorcnt - 1 을수행. =>mopencursorcnt = 0 이므로 -1 을해서 UINT MAX 값이들어감 =- > ASSERT 발생상황 ================================================ 1. DB1 에서 DB2 로 Sync 2. DB2 에서 insertrow 중 Retry Error 가발생하여 Cursor 를닫고 Cursor 를다시열어 insertrow 를재시도하려고함 3. 이때 Cursor 를여는도중에러로인해 ( INC-34858 에서발생한에러는 19 / 24

lock timeout ) Cursor 를열지못하고예외상황으로빠짐 4. executesyncinsert 예외상황에서 Statement 를 end 해줌. 5. applysyncinsert 예외상황에서 Statement 를 end 해줌. => end 가 2 번일어나서 idumemmgr 에서 IDE_ASSERT( scur->mfreeslotcnt <= scur- >mmaxslotcnt ) 해결방안 ================================================ CursorClose 할때와 Statement end 할때상태플래그를보고 ( rpxreceiverapply 에는멤버변수로 Cursor 가오픈되었는지 Statement 가 begin 되있는지가지고있다. ) open/begin 상태일때만 close/end 하도록수정. Performance View Property 변경사항 Compile Option Error Code Workaround 해당없음 20 / 24

BUG-43882 MEMORY_INDEX_UNBALANCED_SPLIT_RATE 기본값변경 Module Category 재현빈도 Reproducing Conditions 증상변경사항 Workaround sm_index Other Always 재현절차해당없음수행결과해당없음예상결과해당없음 6.1.1 ~ 6.5.1 에 MEMORY_INDEX_UNBALANCED_SPLIT_RATE 의기본값을 10:90 에서 50:50 으로변경 Performance View Property MEMORY_INDEX_UNBALANCED_SPLIT_RATE 의기본값을 90 에서 50 으로변경 Compile Option Error Code 21 / 24

BUG-43887 Hierarchical Query View 는 Unnest 되면안됩니다. Module Category 재현빈도 Reproducing Conditions 재현절차 수행결과 예상결과 qp-select-pvo Functional Error Always SELECT 1 FROM (select 'AAA' dummy from dual) A, ( SELECT dummy FROM dual ) B WHERE A.dummy = B.dummy (+) AND A.dummy IN ( SELECT REGEXP_SUBSTR(dummy, '[^/]+', 1, LEVEL) FROM ( SELECT dummy, REGEXP_COUNT(dummy, '/') + 1 as CNT FROM dual ) CONNECT BY LEVEL < CNT ) ; Error : # 135212, The argument '-2147483648' is out of range. 1 -------------- No rows selected. 증상 Hierarchical Query View 는 Unnest 되면안되도록수정하였습니다. 변경사항 Workaround Performance View Property Compile Option Error Code subquery 에 no_unnest hint 사용 22 / 24

BUG-43897 (+) outer join operator 를테이블의갯수이상사용하는경우 비정상종료할수있습니다. Module Category 재현빈도 qp-select-pvo Fatal Always drop table t1; create table t1( i1 integer, i2 integer ); Reproducing Conditions 재현절차 수행결과 예상결과 select 1 from t1 a, t1 b, t1 c, t1 d where b.i2 = a.i2(+) and a.i2 = d.i2(+) and a.i1 = b.i1(+) and b.i1 = c.i1(+) and c.i1 = d.i1(+) ; isql> select 1 from t1 a, t1 b, t1 c, t1 d 2 where b.i2 = a.i2(+) 3 and a.i2 = d.i2(+) 4 and a.i1 = b.i1(+) 5 and b.i1 = c.i1(+) 6 and c.i1 = d.i1(+) 7 ; [ERR-91015 : Communication failure.] isql> select 1 from t1 a, t1 b, t1 c, t1 d 2 where b.i2 = a.i2(+) 3 and a.i2 = d.i2(+) 4 and a.i1 = b.i1(+) 5 and b.i1 = c.i1(+) 6 and c.i1 = d.i1(+) 7 ; [ERR-31359 : A table cannot be outer-joined to itself. 0002 : where B.I2 = A.I2(+) ^ ^ 23 / 24

] 증상 변경사항 Workaround (+) 을테이블개수이상사용하면서잘못사용하는경우 (full outer 처럼사용하거나 ) 에대한고려가없었음. Performance View Property Compile Option Error Code 24 / 24