Background Image
응용개발
2015.12.29 19:28

CUBRID HA 제약 사항 및 확인 방법

조회 수 5304 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

CUBRID HA는 다음의 제약 사항이 있다.

- Linux 계열에서만 사용할 수 있다. CUBRID HA 그룹의 모든 노드들은 반드시 동일한 플랫폼으로 구성해야 한다.

- 테이블은 반드시 기본 키(Primary key)가 포함되어야 한다.

- Java 저장 프로시저 환경 구축은 복제되지 않으므로, Java 저장 프로시저를 사용하려면 모든 노드에 각각 Java 저장 프로시저 환경을 설정해야 한다.

- CALL 문으로 호출되는 메서드(: login(), add_user(), drop_user(), change_owner())는 복제 되지 않으므로 사용하지 않아야 한다.

- 통계 정보를 갱신하는 UPDATE STATISTICS 문은 슬레이브 노드에 복제되지 않는다.

- 시리얼 캐시를 사용하는 경우 CUBRID HA 그룹 내 노드 간 시리얼의 현재 값이 일치하지 않는다.

- 백업 시 -r 옵션을 사용하면 복제에 필요한 보관 로그까지 삭제될 수 있으므로 사용하지 않아야 한다.

- 클릭카운드 함수(INCR/DECR)는 쓰기 작업이므로 슬레이브 노드에서 사용하면 오류를 반환한다.

- LOB(BLOB/CLOB) 타입은 데이터베이스 볼륨이 아닌 별도의 파일로 저장되고 메타 데이터만 볼륨에 저장되는 구조이므로 LOB 데이터가 복제되지 않기 때문에 사용하지 않아야 한다.

 

응용 개발 시 HA 구성을 고려한다면 위와 같은 제약 사항이 포함되지 않도록 주의해야 하고, 오픈 전 꼭 점검을 수행하여야 한다.

위 제약 사항 중 DB 내에 포함되어 있어 확인하기 쉽지 않은

- Primary Key 누락 테이블

- Java 저장 프로시저 사용 여부

- LOB 타입 사용 테이블 및 컬럼

- 시리얼 캐시 사용 여부

를 아래 SQL을 사용하면 쉽게 확인 할 수 있다.

dba 계정으로 로그인한 후 수행하여야 한다.

 select 'NON_PK' "case", class_name "value" from db_class

where class_type='CLASS' and is_system_class='NO'

and class_name not in (select distinct class_name from db_index where is_primary_key='YES')

union all select 'SP', sp_name from db_stored_procedure

union all select data_type, class_name||' '||attr_name as table_column from db_attribute

where data_type in ('CLOB','BLOB')

union all select 'Serial Cache', name from db_serial where cached_num >0;

실행 결과는 아래와 같다.

case                  value

============================================

  'NON PK'              'code'

  'NON PK'              'lob_tb'

  'SP'                  'hello'

  'CLOB'                'lob_tb c'

  'BLOB'                'lob_tb b'

  'Serial Cache'        'cache_seq' 


참고로 HA 환경에서 LOB 타입을 사용하여야 하는 경우 BLOB은 Bit varying, CLOB varchar 로 대체하여 사용할 수 있다.


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
56 응용개발 weblogic 8.1 에 CUBRID Connection Pool, DataSource 설정 방법 file 웁쓰 2009.07.01 66306
55 응용개발 WHERE 조건에서 다중 컬럼 IN절 처리 최적화 방법 (cubrid + ibatis) 1 이상신 2015.08.21 55132
54 응용개발 Weblogic 10.0 사용시 JDK 1.5를 사용한 JDBC 드라이버 사용시 주의사항. cubebridge 2012.02.22 51957
53 응용개발 JDBC 사용시 SQL 로깅 - p6spy 사용 1 웁쓰 2009.07.01 35999
52 응용개발 CUBRID AUTO_INCREMENT 컬럼 MySQL LAST_INSERT_ID() 대체 방법 손승일 2009.12.22 33235
51 응용개발 php에서 serialize/unserialize 사용 시 주의할 점 시난 2009.12.29 31628
50 응용개발 CUBRID와 Oracle에서의 ''(공백)의 차이 비교 cubebridge 2010.10.01 28583
49 응용개발 tomcat 5.5 버전 이상에서 dbcp(커넥션 풀링) 설정법 admin 2008.11.21 28527
48 응용개발 CUBRID에서 systimestamp, sysdatetime default값에 대한 정의 cubebridge 2009.12.16 28265
47 응용개발 Attempt to access a closed ResultSet(PreparedStatement) 오류 admin 2008.11.21 28035
46 응용개발 loadjava 사용 시 inner class 로딩은 어떻게? admin 2008.11.21 27450
45 응용개발 CUBRID 에서 제공하는 ODBC 함수 목록 admin 2008.11.21 26051
44 응용개발 윈도우 환경에서 PHP 모듈 로드를 못 할 경우 해결법 3 Prototype 2009.11.26 22483
43 응용개발 CUBRID에서 euc-kr의 한글 데이터를 utf-8의 한글 데이터로 변경 시 주의할 점 cubebridge 2010.04.01 22403
42 응용개발 응용프로그램에서 질의 처리시 commit/rollback 처리 문제 admin 2008.11.21 21599
41 응용개발 PHP에서 prepared statement 사용하기 3 Prototype 2009.04.16 21454
40 응용개발 CUBRID에서 CHAR와 NCHAR의 차이점 cubebridge 2010.07.01 21319
39 응용개발 utf-8로 저장된 한글이 JAVA SP를 사용하여 읽어 오면 깨져 보일때 손승일 2012.03.10 20797
38 응용개발 CUBRID의 날짜형 타입을 java의 날짜형 타입에 할당할 때의 값 비교. file seongjoon 2009.12.16 20420
37 응용개발 CUBRID odbc 드라이버 설정방법. file seongjoon 2009.12.10 20327
Board Pagination Prev 1 2 3 Next
/ 3

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales