베이스기타, 아직 초보

개발과삶 2009/06/30 00:23 Posted by 종이비행기
시작한지 얼마 되지는 않았지만, 갈길이 너무 멀다.
맘 같아서는 학원 등록해서 본격적으로 배워보고 싶지만,
먹고 살기도 바쁜 상황에 취미생활을 위해 학원을 다닌다는 게 어렵기만 하니...
원래는 40대에 직장인 밴드에 들 생각으로 나중에 배우려고 했었건만,...
무엇이든 시간이 필요한 듯 하다.

개발자로서의 삶.
그것도 시간이 필요한 것이 아닐까?
지치지 않은 열정이 필요할 때가 아닌가 싶다.

인터넷 신문 임대라는 평범하지 않는 사업 영역을 만들어가면서,
전사적인 집중으로 한 계단씩 올라가길 바랬건만,
선장과 선원들의 최종 목표가 서로 다른 동상이몽이 아닌가 싶다.
앞으로가 걱정이다.

지금까지 겪은 내 경험으로 첫술에 배부르지 않고,
급히 먹는 밥이 체하는 법이다.

오랜시간 같이 일해온 직원들과 함께 성공하고 싶은데,
마음이 아프다.

자, 힘내자.
지칠수록 나의 먼 미래를 생각하며
나에게 기회가 올 때 거머질 수 있도록
나를 단련하자.
그러다보면 지금의 이런 어려움들이 자연스레 해결이 되지 않을까...

저작자 표시 비영리 변경 금지

STOPDB : 데이터베이스 종료

큐브리드 2009/06/28 08:57 Posted by 종이비행기
STOPDB

설명
STOPDB 명령은 운영중인 데이터베이스를 종료하는 데 사용된다.


구문
STOPDB 명령의 문법은 다음과 같다. 볼드체는 필수 입력 정보이다. dbname에는 운영 상태의 데이터베이스명을 입력해야 정상 작동하나 이미 종료된 DB명과 존재하지 않는 DB명을 넣어도 에러는 발생하지 않는다.

task:stopdb
token:{cmserver 인증후 받은 token 문자열}
dbname:{변경할 원본 데이터베이스명}



예제
demodb 데이터베이스를 종료하는 예제이다.

--request--
task:stopdb
token:4504b930fc1be99bcd937c8bdb7f87608375a218acf865b0918e032c738469ff7926f07dd201b6aa
dbname:demodb

--response:success--
task:stopdb
status:success
note:none

--response:fail(dbname 미입력)--
task:stopdb
status:failure
note:Parameter(database name) missing in the request
저작자 표시 비영리 변경 금지

STARTDB : 데이터베이스 시작

큐브리드 2009/06/28 08:44 Posted by 종이비행기
STARTDB

설명
STARTDB 명령은 중지된 데이터베이스를 시작하는 데 사용된다. 데이터베이스의 인스턴스를 메모리에 생성하고 데이터를 접근할 수 있도록 한다.


구문
STARTDB 명령의 문법은 다음과 같다. 볼드체는 필수 입력 정보이다. dbname에는 중지상태의 데이터베이스명을 입력해야 정상 작동하나 이미 시작된 DB명을 넣어도 에러는 발생하지 않는다.

task:startdb
token:{cmserver 인증후 받은 token 문자열}
dbname:{변경할 원본 데이터베이스명}



예제
demodb 데이터베이스를 시작하는 예제이다.

--request--
task:startdb
token:4504b930fc1be99bcd937c8bdb7f87608375a218acf865b0918e032c738469ff7926f07dd201b6aa
dbname:demodb

--response:success--
task:startdb
status:success
note:none

--response:fail(존재하지 않는 DB명)--
task:startdb
status:failure
note:Database "notexistdb" is unknown, or the file "databases.txt" cannot be accessed.

--response:fail(dbname 미입력)--
task:startdb
status:failure
note:Parameter(database name) missing in the request
저작자 표시 비영리 변경 금지

RENAMEDB : 데이터베이스 이름 변경

큐브리드 2009/06/27 23:23 Posted by 종이비행기
RENAMEDB

설명
RENAMEDB 명령은 데이터베이스 이름을 변경하는 데 사용된다.


구문
RENAMEDB 명령의 문법은 다음과 같다. 볼드체는 필수 입력 정보이다.

task:renamedb
token:{cmserver 인증후 받은 token 문자열}
dbname:{변경할 원본 데이터베이스명}

rename:{변경될 사본 데이터베이스명}
exvolpath:{확장 볼륨 경로}
advanced:{on or off}
forcedel:{y or n}


예제
demodb 데이터베이스를 newdb 데이터베이스로 이름을 변경하는 예제 이다.

--request--
task:renamedb
token:4504b930fc1be99bcd937c8bdb7f87608375a218acf865b0918e032c738469ff7926f07dd201b6aa
dbname:demodb
rename:newdb
exvolpath:/opt/frameworks/cubrid/databases/newdb
advanced:off
forcedel:y

--response:success--
task:renamedb
status:success
note:none

--response:fail(dbname 미입력)--
task:renamedb
status:failure
note:Parameter(database name) missing in the request

--response:fail(rename 미입력)--
task:renamedb
status:failure
note:Parameter(new database name) missing in the request

※ dbname에 해당하는 데이터베이스가 없어도 rename에 해당하는 데이터베이스가 없어도 에러는 발생하지 않는다. 단, 해당 속성에 어떠한 문자열도 입력되지 않으면 에러가 발생한다.
저작자 표시 비영리 변경 금지

DELETEDB : 데이터베이스 삭제

큐브리드 2009/06/27 22:48 Posted by 종이비행기
DELETEDB

설명
DELETEDB 명령은 데이터베이스를 삭제하는 데 사용된다. 종료된 데이터베이스만 삭제가 가능하다.


구문
DELETEDB 명령의 문법은 다음과 같다. 볼드체는 필수 입력 정보이다.

task:deletedb
token:{cmserver 인증후 받은 token 문자열}
dbname:{삭제할 데이터베이스명}

delbackup:{y or n, y:데이터베이스 백업 파일들도 모두 삭제, 기본값:n}


예제
existdb 데이터베이스를 삭제하는 예제 이다.

--request--
task:deletedb
token:4504b930fc1be99b130649389888a35ae92982faacefb068918e032c738469ff7926f07dd201b6aa
dbname:existdb
delbackup:y

--response:success--
task:deletedb
status:success
note:none

--response:fail(Active상태의 DB명)--
task:deletedb
status:failure
note:Unable to mount disk volume "/opt/frameworks/cubrid2/databases/activedb/activedb_lgat". The database "/opt/frameworks/cubrid2/databases/activedb/activedb", to which the disk volume belongs, is in use by user root on process 381 of host localhost.localdomain since Sat Jun 27 22:31:07 2009.

--response:fail(존재하지 않는 DB명)--
task:deletedb
status:failure
note:Database "notexistdb" is unknown, or the file "databases.txt" cannot be accessed.
저작자 표시 비영리 변경 금지

COPYDB : 데이터베이스 복사

큐브리드 2009/06/27 19:34 Posted by 종이비행기
COPYDB

설명
COPYDB 명령은 동일한 내용의 데이터베이스를 다른 데이터베이스 이름으로 복제하는 용도로 사용이 된다.


구문
COPYDB 명령의 문법은 다음과 같다. 볼드체는 필수 입력 정보이다.

task:copydb
token:{cmserver 인증후 받은 token 문자열}
srcdbname:{원본 데이터베이스명}
destdbname:{사본 데이터베이스명}
destdbpath:{사본 데이터베이스 경로}
exvolpath:{사본 데이터베이스의 확장볼륨 경로}
logpath:{사본 데이터베이스의 로그파일 경로}
overwrite:{y or n, y:동일 데이터베이스 존재시 엎어쓰기}
move:{y or n, y:복사후 원본 데이터베이스 삭제}
advanced:{on or off, on:개별 볼륨 복사 설정}


예제
demodb 데이터베이스를 복사하는 예제 이다.

--request--
task:copydb
token:4504b930fc1be99b94029b09d9d7d0359c67a25d9160f9b1918e032c738469ff7926f07dd201b6aa
srcdbname:demodb
destdbname:newdb
destdbpath:/opt/frameworks/cubrid/databases/newdb
exvolpath:/opt/frameworks/cubrid/databases/newdb
logpath:/opt/frameworks/cubrid/databases/newdb
overwrite:n
move:n
advanced:off

--response:success--
task:copydb
status:success
note:none

--response:fail(Active상태의 DB명)--
task:copydb
status:failure
note:Database(demodb) is active state.

--response:fail(존재하지 않는 DB명)--
task:copydb
status:failure
note:Database "notexistdb" is unknown, or the file "databases.txt" cannot be accessed.

--response:fail(확장볼륨 경로 미입력)--
task:copydb
status:failure
note:Parameter(extended volume path) missing in the request

--response:fail(로그볼륨 경로 미입력)--
task:copydb
status:failure
note:Parameter(log path) missing in the request

※ destdbname에 입력된 DB이름이 이미 존재하는 데이터베이스가 있을 때에도 에러가 발생되지는 않는다. overwrite:y 옵션을 사용해야만 정상적으로 복사가 된다.
저작자 표시 비영리 변경 금지

RESTOREDB : 데이터베이스 복구

큐브리드 2009/06/27 00:46 Posted by 종이비행기
RESTOREDB

설명
RESTOREDB 명령은 기 백업된 데이터베이스 백업 파일을 이용하여 데이터베이스를 백업 시점으로 되돌리는 데 사용이 된다. 백업이 전체백업과 증분백업으로 백업을 하듯 복구도 백업레벨에 따라 복구가 가능하다.


구문
RESTOREDB 명령의 문법은 다음과 같다. 볼드체는 필수 입력 정보이다.

task:restoredb
token:{cmserver 인증후 받은 token 문자열}
dbname:{데이터베이스명}
date:{none or backuptime or dd-mm-yyyy:hh:mi:ss, 복원시점}
level:{백업레벨, 0:전체, 1,2:증분}
partial:{y or n, 완전한 로그가 없을 때 y옵션으로 부분 복원을 실행}
pathname:{백업 파일 경로}
recoverypath:{none, 8.1.4 현재 사용하지 않음}


예제
demodb 데이터베이스를 복구하는 예제 이다.

--request--
task:restoredb
token:4504b930fc1be99b9f38217a59ac6dfa30095b023d0c81a2918e032c738469ff7926f07dd201b6aa
dbname:demodb
date:backuptime
level:0
partial:n
pathname:/opt/frameworks/cubrid/databases/demodb/backup/demodb_backup_lv0
recoverypath:none

--response:success--
task:backupdb
status:success
note:none

--response:fail(Active상태의 DB명)--
task:restoredb
status:failure
note:Database(activedb) is active state.

--response:fail(존재하지 않는 DB명)--
task:restoredb
status:failure
note:Database "notexistdb" is unknown, or the file "databases.txt" cannot be accessed.
Restoredb cancelled or an error occurred.

--response:fai(존재하지 않는 백업파일)--
task:restoredb
status:failure
note:Unable to mount disk volume "/opt/frameworks/cubrid/databases/demodb/backup/demodb_backup_lv0_notexist".... No such file or directory
Please consult error_log file = /opt/frameworks/cubrid/log/demodb_restoredb.err for additional information
... ABORT/EXIT IMMEDIATELY ...<<<---
저작자 표시 비영리 변경 금지

BACKUPDB : 데이터베이스 백업

큐브리드 2009/06/27 00:45 Posted by 종이비행기
BACKUPDB

설명
BACKUPDB 명령은 데이터베이스를 백업하기위해 사용한다. 전체백업과 증분백업을 지원하며 RESTOREDB를 이용하여 백업본으로 복원이 가능하다.


구문
BACKUPDB 명령의 문법은 다음과 같다. 볼드체는 필수 입력 정보이다.

task:backupdb
token:{cmserver 인증후 받은 token 문자열}
dbname:{데이터베이스명}
level:{백업레벨, 0:전체, 1,2:증분}
volname:demodb_backup_lv0
backupdir:{백업파일이 보관될 서버내의 경로}
removelog:{y or n, y:복구시 필요없는 아카이브 로그 파일을 삭제}
check:{y or n, y:백업후 데이터베이스 일관성 체크 수행}
mt:{n>0, 백업시 동시 수행할 쓰레드 개수 정의, 0:시스템에서 자동으로 결정}
zip:{y or n, 백업시 데이터 압축 수행}
safereplication:{n, 8.1.4 현재 기능 정의 없음}


예제
demodb 데이터베이스를 백업하는 예제 이다.

--request--
task:backupdb
token:4504b930fc1be99b53150f8614c1b813904e8f36e4f8cd68db53a53dd5ccd9aa7926f07dd201b6aa
dbname:demodb
level:0
volname:demodb_backup_lv0
backupdir:/opt/frameworks/cubrid/databases/demodb/backup
removelog:n
check:y
mt:0
zip:y
safereplication:n

--response:success--
task:backupdb
status:success
note:none

※ 8.1.4의 cmserver에서는 safereplication 속성에 대한 처리가 없다. 또한, 존재하지 않는 DB에 대해 시도하더라도 에러는 발생하지 않으며 디렉토리가 없을 경우 자동으로 생성이 된다. 단, 디렉토리가 퍼미션등의 조건으로 생성되지 않을 경우에는 에러가 발생된다.
저작자 표시 비영리 변경 금지

My Stand Alone Complex

개발과삶 2009/06/25 01:27 Posted by 종이비행기
가치 있는 일을 즐겁게 그리고 열심히 할 수 있음은 나의 행복이다.
이런 행복이 나에게 돈과 명예가 된다면 더욱 좋겠지만,
이를 바라고 일을 하는 것은 아니다.

나는 내가 하고 싶은 일을 그저 열심히 즐기면서 하고 싶고,
그렇게 하고 있을 뿐이다.
그런 열정을 주위 사람들과 공유하고 싶을 뿐이다.

평생을 살면서...
자신이 가고 싶은 길을 가는 사람이 몇이나 되겠는가?
우연찮게 발견한 나의 개발자로서의 삶.
큰 발자국 남기고 싶다.

나에게 주어진 가족과의 이틀간의 휴식.
최선을 다해 쉬고 이후로 최선을 다해 일하자.

Do my best...

저작자 표시 비영리 변경 금지

OPTIMIZEDB : 데이터베이스 최적화

큐브리드 2009/06/24 23:20 Posted by 종이비행기
OPTIMIZEDB

설명
OPTIMIZEDB명령은 해당 데이터베이스 전체 테이블 또는 특정 테이블에 대한 통계정보를 다시 수집하는데 사용이 된다.
CUBRID 는 Cost based optimizer(CBO)를 내장한 DBMS로 이 CBO는 테이블의 통계 정보를 바탕으로 질의(Query)에 대해 실행계획을 작성하게 된다. 이 통계정보는 데이터의 종류, 데이터의 크기에 따라 지속적으로 분석해야 해당 데이터의 특성에 맞는 실행계획이 세워질 수 있게 된다.


구문
OPTIMIZEDB 명령의 문법은 다음과 같다. 볼드체는 필수 입력 정보이다.

task:optimizedb
token:{cmserver 인증후 받은 token 문자열}
dbname:{데이터베이스명}
classname:{테이블명, 1회에 1건의 테이블만 최적화할 경우에만 사용, 이 속성을 사용하지 않으면 데이터베이스의 전체 테이블로 확장됨}


예제
demodb 데이터베이스를 정리하는 예제 이다.

--request--
task:optimizedb
token:4504b930fc1be99b53150f8614c1b813904e8f36e4f8cd68db53a53dd5ccd9aa7926f07dd201b6aa
dbname:demodb

--response:success--
task:optimizedb
status:success
note:none

--response:fail--
task:optimizedb
status:failure
note:Parameter(database name) missing in the request

--response:fail--
task:optimizedb
status:failure
note:Unknown class "notexistclassname".

※ cmserver에서는 본 명령이 실행되면 우선 DB에대한 유저의 권한 검사를 하게 된다. 현재 존재하지 않는 데이터베이스에 대해서는 어떠한 에러도 발생하지 않으며 성공 메시지를 출력한다. 단, 데이터베이스는 존재하지만 classname에 입력한 테이블이 존재하지 않을 경우에는 에러가 발생된다.
저작자 표시 비영리 변경 금지