제품 여행

기획연재[5] CUBRID 제품 분석 – CUBRID서비스 제어

by cubebridge posted Mar 03, 2010

이번 시간에는 CUBRID 서비스 제어에 대해서 간략하게 소개하도록 하겠다. 이전 제품여행을 탐독(?) 했던 독자들은 CUBRID 구조에 대한 내용을 기억하고 있을 것이다. 다시 간략하게 상기 시킨다면 아래와 같다.

1.    Database서버 데이터가 저장

2.    Broker – CUBRIDAP를 연결해 주는 미들웨어

3.    CUBRID Manager Server – CUBRID Broker를 관리해 주는 관리 프로그램

 

위에 소개된 부분은 각각의 구동이 가능한 CUBRID의 제품군들이다. 각각의 제어 방법을 소개하면 아래와 같다.

1.     Database서버 구동/정지 – cubrid server start <db_name>/cubrid server stop <db_name>

2.     Broker 구동/정지 – cubrid broker start/cubrid broker stop

3.     CUBRID Manager Server 구동/정지 – cubrid manager start/cubrid manager stop

 

하지만 위와 같이 각각의 구동은 잘 사용하지 않는다. CUBRID에서는 위의 각각의 작동을 한번에 제어하는 명령어를 제공하고 있으며 이를 좀더 효율적으로 사용하기 위한 몇 가지 parameter설정 방법을 알려주도록 하겠다.

현재 CUBRID 서비스를 일괄 구동하기 위한 방법은 “cubrid service start”라는 명령어를 통하여 이루어진다. 그렇다면 “cubrid service start”라는 명령어는 위의 각각의 구동을 어디서 읽어 한번에 구동을 시키는 것일까?

정답은 cubrid.conf에 있다. cubrid.conf를 열어보시면 아래의 항목들을 확인 할 수가 있다.

# Service section - a section for 'cubrid service' command

[service]

 

# The list of processes to be started automatically by 'cubrid service start' command

# Any combinations are available with server, broker and manager.

service=server,broker,manager


위의 적색으로 표시된 부분이 “cubrid service”명령어가 제어할 부분이다. ServerDatabase서버, broker는 미들웨어, ManagerCUBRID Manager Server이다. CUBRID Manager서버를 “cubrid service”명령어의 제어권 밖으로 보내고 싶다면 위의 service항목에서 제거하면 된다. 모든 서비스의 별도 구동을 원한다면 service를 주석처리(#)해주면 된다.

 

“cubrid service start”로 구동을 하고 나면 한가지 아쉬운 것이 있다. 모든 서비스가 다 구동 된 것처럼 나오지만 막상 DB를 접속하려면 생성한 DB가 구동되어 있지 않았다는 메시지가 발생하기 때문이다. “한번에 끝날 줄 알았더니…”라는 아쉬움을 갖게 된다. 하지만 이에 대한 조치 방법도 있다. cubrid.conf를 다시 열어 위의 내용 바로 밑을 보자 아래의 항목을 확인 할 수가 있을 것이다.

# The list of database servers in all by 'cubrid service start' command.

# This property is effective only when the above 'service' property contains 'server' keyword.

#server=foo,bar



바로 밑에 있으니 찾기 어렵지 않을 것이다. 위의 적색으로 표시된 부분에 생성한 DB의 이름을 적어준다. 물론 주석(#)은 제거한다. 이미 적혀있는 foo,bar는 기록 하는 방법의 샘플이므로 삭제해도 상관없다. CUBRID설치 시 default로 생성되는 demodb를 등록하고자 한다면 아래와 같이 해주면 된다.

server=demodb

 

, “cubrid service start”명령어를 수행해 보자. demodb가 함께 구동 될 것이다. “cubrid service stop”을 이용해 종료 시킬 때도 같이 종료될 것이다. 이제 명령어 하나로 CUBRID를 제어하면 된다. 생성한 DB가 더 있다면, ,(콤마)로 구분하여 나열하면 된다.