본문 바로가기
서버/리눅스

CodeBeamer MR Derby DB 백업 & 복원

by 사악신 2011. 10. 31.
개인적으로 ALM 솔루션으로 CodeBeamer MR 을 사용하고 있는데, 서버 이전 등... 데이터를 백업하여야 할 일이 생겨 메뉴에 들어가보니 별도 백업과 관련한 기능이 보이지 않아 수동으로 DB 와 svn 데이터를 백업을 진행하게 되었다. 이 글은 우선, Derby DB 의 Backup & Restore 관련한 글이다.

1. 백업 환경 구축
CodeBeamer MR 을 디폴트로 설치하였다면 기본 DB 로 아파치재단의 Derby 가 사용된다. 만약, CodeBeamer MR 을 /home/codebeamer/html 에 설치하였다면 /home/codebeamer/html/CMR-5.4 디렉토리 아래 관련 프로그램들이 설치된다.

먼저, 백업을 진행하기 전에  아파치 사이트(http://db.apache.org/derby/derby_downloads.html#Latest+Official+Release)에서 CodeBeamer MR 에서 사용하는 Derby 10.4.2.0 버전을 다운로드받는다.

 
다운로드 받은 파일의 압축을 풀고 derbyclient.jar, derbytools.jar 파일 두개를 업로드한다. 여기서 업로드할 경로는 설치된 CodeBeamer MR 의 derby 디렉토리이다. 예를 들어 아래와 같다.

/home/codebeamer/html/CMR-5.4/repository/derby/lib






그리고 Java CLASSPATH 를 설정한다.(콘솔 상태에서 아래의 명령어를 실행)

export CLASSPATH=/home/codebeamer/html/CMR-5.4/repository/derby/lib/derby.jar:/home/codebeamer/html/CMR-5.4/repository/derby/lib/derbytools.jar:/home/codebeamer/html/CMR-5.4/repository/derby/lib/derbyclient.jar:.



2. Derby DB 백업
콘솔 상태에서 아래의 명령어를 실행한다.

java org.apache.derby.tools.ij

 
ij 가 성공적으로 실행되면 codebeamer 데이터베이스에 연결한다.

ij>connect 'jdbc:derby:/home/codebeamer/html/CMR-5.4/repository/derby/data/codebeamer';


연결되었으면 /home/codebeamer/html/backup 디렉토리에 데이터베이스를 백업한다.

ij>CALL SYSCS_UTIL.SYSCS_BACKUP_DATABASE('/home/codebeamer/html/backup');


작업 모두 완료되면 quit; 를 입력하여 ij 를 종료한 다음 tar 를 이용하여 backup 디렉토리를 묶은 후 복구할 서버에 해당 파일을 전송한 후 압축을 푼다.

3. Derby DB 복원
백업한 데이터베이스를 복구하려면 복구할 서버에 상기 1의 과정을 진행한 다음 CodeBeamer MR 을 중지(/home/codebeamer/html/CMR-5.4/bin/stop 스크립트 실행)한다. 그런 후 ij 를 실행한다.
 

java org.apache.derby.tools.ij


이때 백업한 데이터베이스가 /home/codebeamer/html/backup 에 위치하고 있다면, 아래의 명령어를 실행하여 해당 데이터베이스를 복원한다.
 

ij>connect 'jdbc:derby:/home/codebeamer/html/CMR-5.4/repository/derby/data/codebeamer;restoreFrom=/home/codebeamer/html/backup/codebeamer';


예를 든 백업 및 복원 서버의 CodeBeamer MR 의 설치 경로는 동일하므로 만약, 서로 다른 경로에 설치되어있다면 이 점 유의하기 바란다.

모든 복원 과정이 끝나면 CodeBeamer MR 을 실행(/home/codebeamer/html/CMR-5.4/bin/startup 스크립트 실행)한다.

4. 그 외...
/home/codebeamer/html/CMR-5.4/tomcat/webapps/cb/WEB-INF/classes/general.xml 설정을 보면 아래와 같이 derby 관련 jdbc 설정이 잡혀있다.

<database JDBC_ConnectionURL="jdbc:derby://localhost:12750/codebeamer" JDBC_Driver="org.apache.derby.jdbc.ClientDriver" JDBC_Passwo

rd="cbpassword" JDBC_Username="cbroot"/>


하지만, 실제 연결 시도해보면 해당 포트가 12753 으로 설정되어있다.
반응형

댓글