전체 글 333

CentOS 6.2에서 한글 쓰기

CentOS 6.2를 설치하면 예전과 다르게 scim이 아니라 ibus를 통해서 한글 입력이 가능하게 되어있다. 뭐 이건 별 문제가 되지 않는다. 쓰면되지 뭐... 근데 그놈과 일부 패키지들을 선택했더니 ibus는 설치가 됐는데 정작 한글은 입력할 수 없었다. 왜일까? 이리저리 검색해서 찾은 해답은 아래와 같다. yum으로 한글 관련 패키지를 추가로 설치해야한다. ibus-hangul ibus-anthy 위의 두개 패키지를 설치하면 입력방식 설정창에서 한글과 일본어를 추가할 수 있게된다. 근데 일본어는 왜 같이 추가되는걸까? 이것도 한번 찾아봐야겠다. iPhone 에서 작성된 글입니다.

streaming replication과 pgpool-II 구성의 장점

Postgres-XC에 대해서 검색하다가 찾은 글이다. PostgreSQL의 streaming replication과 pgpool-II를 같이 쓰면 어플리케이션에서 접속 정보 변경없이 읽기, 쓰기를 구분하고 부하분산도 가능하다고 한다. 아... 이것도 꽤 쓸만한 구성인것 같은데... 원문 링크 : http://avicom.tistory.com/m/post/view/id/94 아래는 원문의 일부이다. 전체 글은 위의 링크를 클릭하면 볼 수 있다. 별도의 replication 관리 DB가 필요없고 복제 대상 테이블에 trigger를 설치할 필요가 없다. 아카이브 로그 파일을 읽을 필요가 없다 warm standby의 단점이었던 recovery중인 slave db에 대한 엑세스 제한이 없다. multi-sla..

IT 기술/Database 2012.06.25

Open source Cluster tool LCMC

Cluster/HA DBMS 환경을 구성하려고 보니 DBMS는 오픈소스로 구축 가능하지만, 정작 클러스터 소프트웨어는 상용밖에 몰라서... 혹시나 하고 검색을 해봤더니 LCMC라는 툴이 나왔다. 오픈소스이고 Pacemaker의 GUI 관리툴인듯하다. 자바로 개발되어있다. 흥미로운 툴인듯...... 자세한 내용은 집에가서 가상 머신으로 한번 돌려보고... iPhone 에서 작성된 글입니다.

DA#에서 AR repository 사용하기

엔코어에서 개발한 DA#은 erwin과 같은 모델링 툴입니다. 최근 버전인 dataware는 써보지 않아서 모르겠지만 귀찮은 버그가 몇가지 있는걸 빼면 꽤 쓸만합니다. DA#에서 디비를 이용한 ar 저장소를 사용하면 표준화 작업에 편리하게 이용할 수 있다고합니다. 아직 써보지는 않아서 모르겠습니다. 요구사항은 Oracle Express edition 10g가 설치되어야 한다는점입니다. 최신버전인 11g는 안되더군요. 참고하시길... iPhone 에서 작성된 글입니다.

IT 기술/Database 2012.06.05

PostgreSQL의 view에 DML 명령을 실행하기

PostgreSQL을 사용하다보니 같은 DB내에서 혹은 다른 DB에 존재하는 테이블의 view를 만들어놓고 사용하는 경우가 종종 있다. (PostgreSQL의 디비링크가 아주 불편하기 때문이기도하고, DA분이 너무 정규화를 잘 해놓았기 때문이기도 하다.) PostgreSQL에서 처음에 뷰를 만들었을때...... 신기하게도 select만 가능한지 몰랐었다. update문을 실행해보고서야 곤란한 문제가 생겼다는것을 알게되었고, 곧바로 구글 검색과 메뉴얼 검색을 통해서 rule이라는걸 찾게되었다. rule이란 걸 이용하면 뷰에서 DML문이 실행되면 해당 rule에 맞는 부분만 실행이 되더군요. 예를들어서 update 구문에 대한 rule을 만들면서 "update emp set ename where empno ..

IT 기술/Database 2012.06.05

PostgreSQL에서 "connect by" 계층 쿼리 구현

Open source RDBMS인 PostgreSQL은 현재 9.1.3버전까지 나온 잘 만들어진 DBMS이지만 아주 큰 약점들이 있다. 오늘은 그중 하나인 계층형 쿼리 기능에 대한 해법을 말해보고자한다. 계층형 쿼리, Hierachical Query는 보통 조직도나 다단계 분류표 등의 구조를 나타내는데 쓰는 구문으로 Oracle RDBMS에서 "start with ~ connect by~"의 형태로 쓰며, 보통 "connect by"로 불리운다. 그런데 PostgreSQL에서는 계층형 쿼리를 쓰려면 추가 모듈을 설치해야 하는데, 이 모듈을 설치하면 쓸 수 있는 connectby라는 함수는 속도가 아주 느리다. 그래서 "connect by"를 따로 구현해 보았다. 입력받은 테이블과 컬럼 이름으로 "with..

IT 기술/Database 2012.05.30

WITH 구문을 이용하여 PostgreSQL에서 merge 구현

오라클을 주로 사용하던 이들은 다른 DBMS에서 아쉬운 것들이 몇가지 있죠. 현재 사용중인 PostgreSQL의 경우, 오라클의 자유로운 db link와 merge 등이 아주 그립습니다. 그래서 이 merge 기능을 대신하는 방법을 찾아봤습니다. 수정 가능한 WITH CTE 구문을 이용한 merge 기능 구현 WITH TEST AS ( UPDATE world_human A SET cel_phone = B.cel_phone, email_addr = B.email_addr FROM servay B WHERE A.human_id = B.human_id RETURNING A.*) INSERT INTO world_human(human_id, cel_phone, email_addr) SELECT C.human_id..

IT 기술/Database 2012.04.24

Oracle ORA-01591 오류 문제 처리

오래전에 분산 트랜잭션 관련 오류가 있었을때 처리한 내용입니다. 출처가 기억이 나지 않아서... (원서였는지, 한글로된 블로그 글이었는지...) 두 개의 DB 사이에서 "Database Link"를 이용하여 쿼리를 실행하는 프로시져가 주기적으로 실행될 때, "ORA-01591" 오류가 발생했다. 이럴때의 처리방법. SQL> SELECT LOCAL_TRAN_ID, GLOBAL_TRAN_ID, STATE, MIXED, HOST, COMMIT# FROM DBA_2PC_PENDING; 위의 쿼리로 확인 했을 때, MIXED가 'NO', STATE가 'PREPARED'일 때. SQL> ROLLBACK FORCE 'TRANS_ID'; 혹은 SQL> COMMIT FORCE 'TRANS_ID'; STATE 상태가 'F..

IT 기술/Oracle 2012.03.13