티베로 데이타베이스 추가 (CentOS Linux 환경)

짬밥이 몇년인지 셀려면 귀찮을 정도가 되었지만...  IT용어들은 늘 새롭다.

멀티 인스턴스 설치라고 하는데...

결론은 다른 DB하나 더 만드는거다.

같은 서버, 같은 IP, 같은 포트에 SID 추가하는게 오라클은 가능하지 않나?

Tibero는 IP가 다르던지... 포트가 달라야 한다.

처음설치하면서 이미 사용중인 SID이름은 tibero

환경변수를 확인 해보면 TB_SID=tibero 라고 되어있다. 이것을 tibero2로 바꾸자
export TB_SID=tibero2

티베로 설치 디렉터리 아래에 config 로 들어가보년 gen_tip.sh 파일이 있다.

이놈 실행시키면 tibero2.tip 이라는게 config에 생긴다. 이 파일 열어서 LISTENER_PORT=8629 기본포트를 원하는걸로 바꾼다.

IP를 다른걸 쓰고 싶으면 LISTENER_IP=땡땡땡 을 적어 넣으면 된다.

이제 NOMOUNT모드로 실행 tbboot nomount

client/bin 안에 있는 tbsql sys/tibero로 접속 (sys계정의 패스워드는 기본 tibero)

아래의 쿼리를 실행해야하는데... 짜증나므로.. 아래 쿼리를 작성한 파일을 넣어두고 '@파일명' 으로 실행시키는게 정신건강에 좋다.

create database "tibero2"
        user sys identified by tibero
        maxinstances 8
        maxdatafiles 100
        character set UTF8
        logfile group 1 'log001.log'
                         size 100M,
                group 2 'log002.log'
                         size 100M,
                group 3 'log003.log'
                         size 100M
        maxloggroups 255
        maxlogmembers 8
        noarchivelog
               datafile 'system001.dtf'
                         size 100M
                         autoextend on next 100M
                         maxsize unlimited
        default temporary tablespace TEMP
               tempfile 'temp001.dtf'
                         size 100M
                         autoextend on next 100M
                         maxsize unlimited
                         extent management local autoallocate
        undo tablespace UNDO
               datafile 'undo001.dtf'
                         size 100M
                         autoextend on next 100M
                         maxsize unlimited
                         extent management local autoallocate;

완료되면 NORMAL 모드로 띄운다 tbboot

/scripts 아래에 system.sh를 실행하면 이것저것 물어보는데 ... 패스워드 정하는거와 'Y'를 눌러주면 된다.

참고1, SID각각 boot와 shutdown을 할때 환경변수 TB_SID 값을 바꿔줘야한다.
SID 'tibero2'를 종료하고 싶으면 export TB_SID=tibero2 로 값을 바꿔주고 tbdown 명령을 내려야한다는거다.

참고2, 티베로는 SHM_KEY와 SEM_KEY를 사용한다. 메모리와 관련있다고 한다. 그런데 이게 확보가 안되면 에러가 난다.
Shared Memory Segments는 SHM_KEY
Semaphore Arrays는 SEM_KEY
사용중인걸 확인하려면 ipcs, Shared Memory Segments만 보고 싶으면 ipcs -m, Semaphore Arrays만 보고 싶으면 ipcs -s
티베로가 종료된 상태임에도 공유 메모리 해제를 못하는 경우 조회했을때 값이 나온다.
ipcrm -m shmid, ipcrm -s shmid 명령으로 해제하면 된다. 다 해제하려면 ipcrm -a

***************************************************************************
* Cannot get semaphore:
* key = 0x3f1396c2, errno=28
***************************************************************************

깨끗한 상태에서도 tbboot시 위와 같은 에러가 나면 루트 권한으로 아래 파일에 적어줘야한다.
vi /etc/sysctl.conf
kernel.sem = 10000 32000 10000 10000

수정하고 나면 sysctl -p 명령을 주고... 티베로 계정으로 돌아온 후 tbboot 때리면 작동될것이다.

2019-07-17 13:31:07 PettyTrick 9
...
CKEditor 4.4.6 -> 4.12.1

취약점이 있다고 CKEditor를 업그레이드 해야한단다.

늘 그렇듯 별 문제 없는것을 건드려야한다.

그냥.... 하자.

현재 기준 최신버전인 CKEditor 4.12.1을 받아 프로젝트에 폴더하나 만들어 몽땅 쑤셔 넣는다.

기존 4.4.6에서 설정 잡아 놓은것들을 4.12.1 폴더에 카피해서 넣자 (ckeditor.toolbar.set.js, config.js .... 등)

CKEditor를 사용하기 위해 잡아놓은 경로를 4.4.6에서 4.12.1 경로로 바꾼다. 
<script src="/ckeditor-4.4.6/ckeditor.js" type="text/javascript"></script><script src="/ckeditor-4.4.6/config.js" type="text/javascript"></script><script src="/ckeditor-4.4.6/adapters/jquery.js" type="text/javascript"></script><script src="/ckeditor-4.4.6/ckeditor.toolbar.set.js" type="text/javascript"></script>


테스트...

에디터 잘 작동된다.... 그런데 파일 첨부하면 에러 발생

CKEditorFuncNum에 null이 들어온다...

삽질 끝에

config.js에 config.filebrowserUploadMethod = 'form'; 한줄 추가하고 해결

2019-07-17 11:19:05 PettyTrick 12
...
CKEditor 4.4.6 -> 4.12.1

취약점이 있다고 CKEditor를 업그레이드 해야한단다.

늘 그렇듯 별 문제 없는것을 건드려야한다.

그냥.... 하자.

현재 기준 최신버전인 CKEditor 4.12.1을 받아 프로젝트에 폴더하나 만들어 몽땅 쑤셔 넣는다.

기존 4.4.6에서 설정 잡아 놓은것들을 4.12.1 폴더에 카피해서 넣자 (ckeditor.toolbar.set.js, config.js .... 등)

CKEditor를 사용하기 위해 잡아놓은 경로를 4.4.6에서 4.12.1 경로로 바꾼다. 
<script src="/ckeditor-4.4.6/ckeditor.js" type="text/javascript"></script><script src="/ckeditor-4.4.6/config.js" type="text/javascript"></script><script src="/ckeditor-4.4.6/adapters/jquery.js" type="text/javascript"></script><script src="/ckeditor-4.4.6/ckeditor.toolbar.set.js" type="text/javascript"></script>


테스트...

에디터 잘 작동된다.... 그런데 파일 첨부하면 에러 발생

CKEditorFuncNum에 null이 들어온다...

삽질 끝에

config.js에 config.filebrowserUploadMethod = 'form'; 한줄 추가하고 해결

2019-07-17 11:19:05 PettyTrick 12
...
결전 피카 - 넵튠파티 공략

넵튠 넵튠

스고 심로 트맵루피

트맵에넬 스고 우솝

2019-07-09 10:03:54 PettyTrick 22
티베로 데이타베이스 추가 (CentOS Linux 환경)

짬밥이 몇년인지 셀려면 귀찮을 정도가 되었지만...  IT용어들은 늘 새롭다.

멀티 인스턴스 설치라고 하는데...

결론은 다른 DB하나 더 만드는거다.

같은 서버, 같은 IP, 같은 포트에 SID 추가하는게 오라클은 가능하지 않나?

Tibero는 IP가 다르던지... 포트가 달라야 한다.

처음설치하면서 이미 사용중인 SID이름은 tibero

환경변수를 확인 해보면 TB_SID=tibero 라고 되어있다. 이것을 tibero2로 바꾸자
export TB_SID=tibero2

티베로 설치 디렉터리 아래에 config 로 들어가보년 gen_tip.sh 파일이 있다.

이놈 실행시키면 tibero2.tip 이라는게 config에 생긴다. 이 파일 열어서 LISTENER_PORT=8629 기본포트를 원하는걸로 바꾼다.

IP를 다른걸 쓰고 싶으면 LISTENER_IP=땡땡땡 을 적어 넣으면 된다.

이제 NOMOUNT모드로 실행 tbboot nomount

client/bin 안에 있는 tbsql sys/tibero로 접속 (sys계정의 패스워드는 기본 tibero)

아래의 쿼리를 실행해야하는데... 짜증나므로.. 아래 쿼리를 작성한 파일을 넣어두고 '@파일명' 으로 실행시키는게 정신건강에 좋다.

create database "tibero2"
        user sys identified by tibero
        maxinstances 8
        maxdatafiles 100
        character set UTF8
        logfile group 1 'log001.log'
                         size 100M,
                group 2 'log002.log'
                         size 100M,
                group 3 'log003.log'
                         size 100M
        maxloggroups 255
        maxlogmembers 8
        noarchivelog
               datafile 'system001.dtf'
                         size 100M
                         autoextend on next 100M
                         maxsize unlimited
        default temporary tablespace TEMP
               tempfile 'temp001.dtf'
                         size 100M
                         autoextend on next 100M
                         maxsize unlimited
                         extent management local autoallocate
        undo tablespace UNDO
               datafile 'undo001.dtf'
                         size 100M
                         autoextend on next 100M
                         maxsize unlimited
                         extent management local autoallocate;

완료되면 NORMAL 모드로 띄운다 tbboot

/scripts 아래에 system.sh를 실행하면 이것저것 물어보는데 ... 패스워드 정하는거와 'Y'를 눌러주면 된다.

참고1, SID각각 boot와 shutdown을 할때 환경변수 TB_SID 값을 바꿔줘야한다.
SID 'tibero2'를 종료하고 싶으면 export TB_SID=tibero2 로 값을 바꿔주고 tbdown 명령을 내려야한다는거다.

참고2, 티베로는 SHM_KEY와 SEM_KEY를 사용한다. 메모리와 관련있다고 한다. 그런데 이게 확보가 안되면 에러가 난다.
Shared Memory Segments는 SHM_KEY
Semaphore Arrays는 SEM_KEY
사용중인걸 확인하려면 ipcs, Shared Memory Segments만 보고 싶으면 ipcs -m, Semaphore Arrays만 보고 싶으면 ipcs -s
티베로가 종료된 상태임에도 공유 메모리 해제를 못하는 경우 조회했을때 값이 나온다.
ipcrm -m shmid, ipcrm -s shmid 명령으로 해제하면 된다. 다 해제하려면 ipcrm -a

***************************************************************************
* Cannot get semaphore:
* key = 0x3f1396c2, errno=28
***************************************************************************

깨끗한 상태에서도 tbboot시 위와 같은 에러가 나면 루트 권한으로 아래 파일에 적어줘야한다.
vi /etc/sysctl.conf
kernel.sem = 10000 32000 10000 10000

수정하고 나면 sysctl -p 명령을 주고... 티베로 계정으로 돌아온 후 tbboot 때리면 작동될것이다.

2019-07-17 13:31:07 PettyTrick 9