다음 이전 차례

4. 인포믹스 실행하기

4.1 데이터베이스 엔진 시작하기

sqlexec 사용하기

Informix-SE를 시작하기 위해서, 당신은 최소한 설정된 $INFORMIXDIR 과 $INFORMIXSERVER 환경변수를 갖고 있고, $INFORMIXDIR/bin 이 당신의 경로에 첨가되어 있음을 확실히 해라. 그렇다면, 간단히

<frodo> $ dbaccess

를 입력하면 세션이 시작될 것이다. 엔터를 누르면 당신이 열 수 있는 데이터베이스의 목록이 나타나고, 화살표 키를 사용하여 당신이 원하는 데이터베이스를 선택하고 엔터를 누른다.

sqlexecd 사용하기

데이터베이스 호스트(데이터베이스가 활동하는 기계)에 대한 원격지 접근을 허용하지 않으려면, sqlexecd를 사용하지 마라. 그러나 만일 당신이 끝까지 고집한다면 계속 읽어라.

sqlexecd는 대몬으로 실행되기 때문에, 루트에 의해 시작되어야만 한다. 이것을 완수하기 위한 다양한 방법이 있다. 어떻게 결정하든 간에, $INFORMIXDIR이 설정되어야 하고 반드시 유효한 데이터베이스 서버 이름이($INFORMIXDIR/etc/sqlhosts에 정의된 대로) sqlexecd의 인자로 지정되어야만 한다.

자세한 것은 어떻게 원격지 연결을 허용하는가?을 볼 것. sqlexecd를 부팅할 때 시작할려면, 다음을 rc.local (당신의 시스템 어디엔가 위치해 있다)에 추가한다. 물론, 당신이 SysV init 스타일의 스크립트를 좋아한다면, 당신은 그 방법을 사용해도 된다. 무슨 얘긴지 모르겠다면, rc.local 접근법을 사용하면 된다.

export INFORMIXDIR=/인포믹스를/설치한/디렉토리
$INFORMIXDIR/lib/sqlexecd 데이터베이스서버이름

sqlexecd를 다른 어떤 시간에 시작하려면, 위에서처럼 동일한 명령을 실행한다. 편의상, /etc/profile내에 $INFORMIXDIR$INFORMIXSERVER를 설정하는 것이 일반적이다. 많은 사이트들은, 특히 대규모 시설들은, 이것들과 다른 인포믹스-관련 환경 변수를 설정하기 위해 하나 이상의 전역 초기화 스크립트를 사용한다.

4.2 멈추기

dbaccess를 사용할때는, dbaccess를 종료하는 것이(정상적인 상황에서) 관련된 sqlexec 프로세스를 자동적으로 죽일 것이므로, 직접적으로 sqlexec를 죽일 필요가 없다. 그러나, 비 정상적인 상황에서, sqlexec 그 자체 보다는 dbaccess나 셸 또는 컴파일된 ESQL/C 프로그램 같은 sqlexec의 부모 프로세스를 죽일 것을 강력히 권장한다. 그렇지 않으면 당신의 데이터베이스가 손상될 수 있기 때문이다. 부모 프로세스를 죽이는 것은 sqlexec에게 시그널을 보내고 정상적으로 셧다운할 기회를 줄 것이다.

이것은 내가 당한 일을 되풀이하지 않겠다면 충분이 중요하다: 모든 다른 방법이 비참하게 실패하지 않는다면 절대 sqlexec프로세스를 죽이지 마라. 이렇게 함는 것은 특히 트랜잭션 로그를 사용하는 데이터베이스에서, 당신의 데이터베이스를 쓰레기로 만들 위험과 가능성을 올려준다. 트랜잭션 로깅이 작동중일 때, sqlexec를 죽이는 것은 잠재적으로 불완전한 트랜잭션을 야기하고 그것들은 roll-back 되지 않는다: 작동중인 어떤 락도 해제되지않고, sqlexec와 함께 죽기 때문에, 다른 프로세스들은 부분적으로 갱신된 데이터를 계속 조작하게 될 것이다. 당신은 진정으로 이렇게 하길 원치 않는다! 다른 대안이 없는 것이 확실할때까지는 절대 sqlexec 프로세스를 죽이지 마라.

반면, sqlexecd를 죽이는 것은 어느 정도 무해하다. 그것의 유일한 목적은 단지 들어오는 접속 요청를 위해 포트를 듣고 있다가, 그들의 요구를 서비스하기 위해 sqlexec 프로세스를 실행하고(fork off), 또 다른 요청을 듣는 것이다.

4.3 이 에러 코드들은 무엇인가?

Informix-SE 에러 코드를 인간이-읽을 수 있는 형태로 바꾸기 위해서는, finderr 프로그램을 사용한다 (다시, $INFORMIXDIR/bin가 경로에 포함되어 있는지 확실히 할것):

finderr <-num> 에러 -num 에 대한 에러 텍스트를 리턴한다.
finderr <num> 에러 -num에 대한 에러 텍스트를 리턴한다.
finderr <+num> 에러 num에 대한 에러 텍스트를 리턴한다.

인포믹스의 Answers OnLine 사이트 ( 인포믹스 문서를 볼것)에서 구할 수 있는 Informix Error Messages 지침서에서도 에러 번호를 찾아 볼 수 있다.


다음 이전 차례