이번 프로젝트에 사용할 DB 가 sybase 여서 32비트 centOS 환경에 설치를 하였다. 참고할 문헌이 많지를 않아 삽질도 좀 하고... ㅋㅋㅋ
1. 현재 15.7 버전인가가 최신 버젼인데 본 버젼은 linux 64비트만을 지원함으로 아랫 버젼을 찾던중 32비트 지원하는 버전인 15.03 을 인스톨 하게 되었고 google에서 sybase ASE 15.03 으로 찾을시 찾을수 있다.
2. 다운로드후 tar -xvzf 로 파일 압축을 푼다.
3. ./setup.bin 파일이었나.. ./setup이었나 ㅋㅋ 무튼 ./setup.bin -console 로 콘솔창으로 설치 실행
4. 설치할 파일 패스를 설치하고 거의 모든 내용을 디폴트로 설치. 설치에 관한 내용은 구글에서 검색시 나온다.
5. 설치가 완료된후 /설치한 폴더/ASE-15_0/install 안에 RUN_LOCALHOST or RUN_설정 명 등으로 RUN_ 으로 시작하는 파일이 있다면 정상 설치가 완료 된 것이다. 하지만 나의 경우는 그렇지 않았다. 그래서 삽질을 해본결과 파일 패스가 등록 되지 않았다. 전체적인 문제가 여기에 있는지는 파악하지 못하였으나 결과론적으로 성공은 하였으므로.
6. cd /설치한 폴더
7. source ./SYBASE.sh 할경우 설치한 폴더에 맞게 생성된 path가 들은 SYBASE.sh 의 내용을 쉘의 환경 변수에 추가한다. 걍 sh ./SYBASE.sh 할경우 하위 쉘을 생성후 환경변수에 추가하고 실행한 쉘을 닫아버리므로 그렇게는 하지말자. 삽질하지 말고.
8. 환경변수를 등록했으면 RUN_ 으로 시작하는 파일을 만들어 주는 빌더를 실행 해야 한다.
9. cd /설치한폴더/ASE-15_0/bin 빈 폴더로 가면 srvbuilders 라는 파일이 있다. 본 파일이 RUN_ 파일을 만들어 주는데 본파일을 실행 하려면 source 파일로 .rs 파일을 넣어주어야 한다 ./srvbuilders -r 소스파일.rs 이렇게.
10. srvbuilders 에서 사용할 소스파일을 만든다.
아래를 보면 알겠지만 디비 파일을 경로를 설정하는데 설정하기전 mkdir 을 이용하여 파일들 이 만들어질 폴더를 만들어 줘야 그 안에 .dat 로 디비가 만들어진다.
ex)
ybinit.release_directory: USE_DEFAULT
sybinit.product: sqlsrv
sqlsrv.server_name: ASE1 <!-- 서버 이름 -->
sqlsrv.new_config: yes
sqlsrv.do_add_server: yes
sqlsrv.network_protocol_list: tcp
sqlsrv.network_hostname_list: localhost <!-- 호스트 이름 -->
sqlsrv.network_port_list: 4000 <!-- 오픈할 포트 -->
sqlsrv.server_page_size: USE_DEFAULT
sqlsrv.force_buildmaster: no
sqlsrv.master_device_physical_name: /var/sybase/ASE1/master.dat <!-- 디비파일 -->
sqlsrv.master_device_size: 60
sqlsrv.master_database_size: 30
sqlsrv.errorlog: /opt/sybase/admin/ASE1/errorlog <!-- 에러 로그 -->
sqlsrv.do_upgrade: no
sqlsrv.sybsystemprocs_device_physical_name: /var/sybase/ASE1/sybsystemprocs.dat <!-- 프로시저 -->
sqlsrv.sybsystemprocs_device_size: 150
sqlsrv.sybsystemprocs_database_size: 150
sqlsrv.sybsystemdb_device_physical_name: /var/sybase/ASE1/sybsystemdb.dat <!-- 시스템 디비 -->
sqlsrv.sybsystemdb_device_size: 20
sqlsrv.sybsystemdb_database_size: 20
sqlsrv.default_backup_server: SYB_BACKUP
sqlsrv.addl_cmdline_parameters:
sybinit.product: sqlsrv
sqlsrv.server_name: ASE1 <!-- 서버 이름 -->
sqlsrv.new_config: yes
sqlsrv.do_add_server: yes
sqlsrv.network_protocol_list: tcp
sqlsrv.network_hostname_list: localhost <!-- 호스트 이름 -->
sqlsrv.network_port_list: 4000 <!-- 오픈할 포트 -->
sqlsrv.server_page_size: USE_DEFAULT
sqlsrv.force_buildmaster: no
sqlsrv.master_device_physical_name: /var/sybase/ASE1/master.dat <!-- 디비파일 -->
sqlsrv.master_device_size: 60
sqlsrv.master_database_size: 30
sqlsrv.errorlog: /opt/sybase/admin/ASE1/errorlog <!-- 에러 로그 -->
sqlsrv.do_upgrade: no
sqlsrv.sybsystemprocs_device_physical_name: /var/sybase/ASE1/sybsystemprocs.dat <!-- 프로시저 -->
sqlsrv.sybsystemprocs_device_size: 150
sqlsrv.sybsystemprocs_database_size: 150
sqlsrv.sybsystemdb_device_physical_name: /var/sybase/ASE1/sybsystemdb.dat <!-- 시스템 디비 -->
sqlsrv.sybsystemdb_device_size: 20
sqlsrv.sybsystemdb_database_size: 20
sqlsrv.default_backup_server: SYB_BACKUP
sqlsrv.addl_cmdline_parameters:
11. 상위 .rs 파일은 구글에 sybase srvbuildres 라고 검색시 참고할 페이지들이 나온다.
준비가 끝났으면 ./srvbuildres -r 만든 파일명.rs 로 실행
12. 실행시 쭉쭉 진행하다 나같은 경우 starting.... 에서 오류를 내뿜었다. 오류 내용이 뭔지는 기억이 잘 안나지만 찾아본 결과 본 상태에서 오류가 나오는 경우는 거의 대부분 shared memory 쪽 문제로 확인했으며 google에서 shmmax 로 검색시 참고할수 있는 내용들이 있다.
13. 상위 메모리 문제를 해결후 다시 빌드를 하면 서버가 시작되고 /설치한 폴더/ASE-15_0/install/showserver 를 실행시 현재 실행되고 있는 서버의 정보가 뜬다면 sybase 실행에 성공 한 것이다.
14. 여기까지 안될경우 다른 자료를 참고하라.
15. 상위 까지는 로컬에서의 연결에 성공한 것이고 외부에서 접근 하려면 아래의 작업이 따라줘야 한다.
---- 이후부터 /설치폴더 == /opt/sybase 로 한다. ----
16. $ cd /opt/sybase/ASE-15_0/install
$ cp RUN_만들어진 파일이름 RUN_자신의 아이피(ex 192.168.0.2)
$ vi RUN_192.168.0.2
/opt/sybase/ASE-15_0/bin/dataserver \
-d/var/sybase/ASE1/master.dat \
-e/opt/sybase/admin/ASE1/192.168.0.231.log \
-c/opt/sybase/ASE-15_0/ASE1.cfg \
-M/opt/sybase/ASE-15_0 \
-s192.168.0.231 \
-d/var/sybase/ASE1/master.dat \
-e/opt/sybase/admin/ASE1/192.168.0.231.log \
-c/opt/sybase/ASE-15_0/ASE1.cfg \
-M/opt/sybase/ASE-15_0 \
-s192.168.0.231 \
위와 같이 아이피가 있는부분처럼 변경
17. $ vi /opt/sybase/interfaces
ASE1
master tcp ether 192.168.0.231 4000
query tcp ether 192.168.0.231 4000
위와같이 아이피로 변경
18. 재부팅 혹은 sybase 정지후 /opt/sybase/ASE-15_0/install/RUN_원래있던이름 으로 실행 (RUN_아이피 로 실행시 오류)
19. 실행이 이상없이 끝났다면 netstat -naptl 로 포트 확인한다. 자신의아이피:열려던 포트 나오면 이상무.
20. 외부에서 접근이 안될시 iptable(리눅스방화벽) 에의해 막힌것이다. 이것은 각자 공부.
난 이렇게 해서 sybase 셋팅에 성공했다. 중간에 다른 시스템에서는 걸리는 부분이 있을수도 있다. 그럴경우... 알아서 공부.. ㅋㅋㅋ
댓글 없음:
댓글 쓰기