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
번호 분류 제목 글쓴이 날짜 조회 수
16 응용개발 PHP에서 prepared statement 사용하기 3 Prototype 2009.04.16 21454
15 응용개발 응용프로그램에서 질의 처리시 commit/rollback 처리 문제 admin 2008.11.21 21599
14 응용개발 CUBRID에서 euc-kr의 한글 데이터를 utf-8의 한글 데이터로 변경 시 주의할 점 cubebridge 2010.04.01 22403
13 응용개발 윈도우 환경에서 PHP 모듈 로드를 못 할 경우 해결법 3 Prototype 2009.11.26 22484
12 응용개발 CUBRID 에서 제공하는 ODBC 함수 목록 admin 2008.11.21 26051
11 응용개발 loadjava 사용 시 inner class 로딩은 어떻게? admin 2008.11.21 27450
10 응용개발 Attempt to access a closed ResultSet(PreparedStatement) 오류 admin 2008.11.21 28035
9 응용개발 CUBRID에서 systimestamp, sysdatetime default값에 대한 정의 cubebridge 2009.12.16 28265
8 응용개발 tomcat 5.5 버전 이상에서 dbcp(커넥션 풀링) 설정법 admin 2008.11.21 28527
7 응용개발 CUBRID와 Oracle에서의 ''(공백)의 차이 비교 cubebridge 2010.10.01 28583
6 응용개발 php에서 serialize/unserialize 사용 시 주의할 점 시난 2009.12.29 31628
5 응용개발 CUBRID AUTO_INCREMENT 컬럼 MySQL LAST_INSERT_ID() 대체 방법 손승일 2009.12.22 33235
4 응용개발 JDBC 사용시 SQL 로깅 - p6spy 사용 1 웁쓰 2009.07.01 35999
3 응용개발 Weblogic 10.0 사용시 JDK 1.5를 사용한 JDBC 드라이버 사용시 주의사항. cubebridge 2012.02.22 51957
2 응용개발 WHERE 조건에서 다중 컬럼 IN절 처리 최적화 방법 (cubrid + ibatis) 1 이상신 2015.08.21 55133
1 응용개발 weblogic 8.1 에 CUBRID Connection Pool, DataSource 설정 방법 file 웁쓰 2009.07.01 66306
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