database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
ㆍCUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
CUBRID Q&A 200 게시물 읽기
No. 200
visual-sql 접속이 안됩니다..
작성자
김성욱
작성일
2006-11-09 15:49
조회수
5,612

설치를 마치고 접속을 해봤더니 됩니다..

그래서 visual-sql 를 실행해서 접속을 했더니


ER_COMMUNICATION 에러가 났습니다!!


그래서 매뉴얼에 에러를 찾아보니 cubrid_cas.conf 파일을 수정한다음


cubrid_cas 를 다시재구동하라고 하더라구요~ 재구동하는방법도 안가르쳐주고..


그래서 다른 site 에서 찾아보니 uc 파일을 stop start 하라는겁니다..


그래서 했는데~~  stop 하면 shared memory open error 

                          start 하면 cannot create shared memory


이런 에러가 납니다.... 저는 이제 어떻게 해야하나요....


잘아시는분은좀 가르쳐 주시겠습니까????


하다가 지쳤습니다 ㅠ.ㅠ

이 글에 대한 댓글이 총 2건 있습니다.

일단...
cas process 잔당을 처리해 주십시요^^
흠...잔당 처리하기가 쉽지 않던데...
ipcs를 치시면...
거기 shared memory를 잡고 있는 유저가 나올겁니다...
물론 root로 ipcs를 실행하시고...
'iprm -m 해당 id'를 실행해서~ 아직 잡고있는 shared 메모리를 정리합니다.
그리고 나서 다시 uc stop ; uc start 하시면 정상적으로 수행 될 듯합니다.^^

준(juni1120)님이 2006-11-09 21:54에 작성한 댓글입니다.

이건 제가 좀(?) 압니다. cubrid_cas란 놈은 shared memory기반으로 broker와 cas(db client)간에 통신을 합니다. 이때 중요한 것이 cubrid_cas.conf에 있는 shared memory id입니다. 여기에 master_shm_id란 놈과 브로커별로 appl_server_shm_id란 놈이 있는데, 이 ID값은 해당 서버의 shared memory에서 유일(unique)하게 존재해야 합니다.  ipcs란 명령을 수행해보면 해당서버의 shared memory현황을 볼 수 있습니다. 

대략 이렇게 생깁니다. 
------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status
0x00040001 721518602  cubrid    644        1888       2                      
0x00040000 721551371  cubrid    644        100552     101                    
0x00043000 721584140  cubrid    644        59752      6  

여기에서 구동시킨 owner와 key값을 보시면 어떤 브로커에 대한 값인지 알 수 있습니다. key값으로 출력되는 숫자는 cubrid_cas.conf에서 설정한 shm_id 인것을 확인 할 수 있음^^

상황설명은 이쯤하고 해결책을 찾아보면;
1. cubrid_service나 uc 명령을 통해 start시킨 계정과 stop시키는 계정이 다른지 확인. 물론아니겠지만^^

2. cubrid_cas.conf에 이미 사용중인 shared memory id 값을 설정한 것은 아닌지... 위에서 언급한 ipcs로 확인할 수 있음.

3. 원인파악은 그정도에서 하면 될 것이고, 실제 상황을 종료하려면, ps-ef | grep cas 와 ps -ef | grep broker로 나오는 프로세스를 모두 죽인다 (kill -9)

해당 프로세스 ID를 일괄로 가져오는 방법은 ps -ef|grep cubrid | grep cas |awk '{print $2}'를 통해 확인할 수 있음.

4. 그리고 ipcs를 통해 shmid 값을 확인한 후 ipcrm -m "shmid" 라는 명령어로 제거해 주면 됩니다. 

그리고 uc start해주면 됩니다. 

마루한님이 2006-11-10 08:01에 작성한 댓글입니다.
이 댓글은 2006-11-10 08:03에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
206[Q] 리눅스에서 구동방법?? [2]
김승주
2006-11-17
5157
205[Q] 리눅스에서 설치제거 ?? [1]
궁금이
2006-11-16
5416
201Auto_increment 와같은 기능을 하는 것은? [1]
정원호
2006-11-13
5584
200visual-sql 접속이 안됩니다.. [2]
김성욱
2006-11-09
5612
196cubrid Environment variable 질문이요! [1]
김성욱
2006-11-06
4903
172cubrid에 질의시 commit 과 rollback 에 관해서.. [1]
이상호
2006-07-20
6464
171기능에 대한 몇가지 질문입니다... [4]
조희수
2006-07-03
6151
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.020초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다