ALTIBASE HDB 5.3.3 기초강좌
iSQL 1 0 11,135

by Altibase iSQL CONNECT SPOOL DESC ED 2ED EXIT QUIT [2011.10.24]


  SQL 이란 언어는 사용자가 DB에 있는 어떤 정보를 조회, 변경하기 위해서 사용되는 언어이기 때문에 OS 에서는 인식하지 못합니다.

  그래서 일반적으로 SQL 을 실행하기 위해서는 DB에 접속해서 실행하게 되는데, 이번 강좌에서는 DB에 SQL 구문을 질의하기 위해 ALTIBASE HDB가 제공하는 두 가지 Tool에 대해서 소개하려고 합니다.

iSQL 이란

  iSQL은 ALTIBASE HDB에 접속하여 SQL문과 부가적인 여러 명령어를 통해 DB 서버에 저장되어 있는 자료를 조회하고, 변경하는 등의 여러 작업을 수행할 수 있는 사용자 도구입니다.

  ALTIBASE HDB를 설치하면 $ALTIBASE_HOME/bin 디렉토리에 iSQL 실행파일이 포함되어 있기 때문에 DB를 설치한 OS 계정으로 iSQL를 실행하면 별도의 작업 없이 실행 가능합니다.

  ALTIBASE HDB를 설치하지 않은 장비 혹은 설치한 장비의 다른 계정에서 iSQL을 실행하려면 http://atc.altibase.com 에서 해당 OS에 맞는 클라이언트 패키지를 다운로드 받아서 설치한 후에 실행하면 됩니다(패키지 다운로드 방법은 2. ALTIBASE HDB 설치 및 구동 참조)

접속 방법

  iSQL은 두 가지 방법으로 DB에 접속할 수 있습니다.

  첫번째는 프롬프트를 이용한 접속 방법입니다. iSQL을 옵션 없이 실행하면 접속에 필요한 정보를 입력하는 프롬프트가 나타납니다. 여기에 해당 정보를 입력하면 됩니다.

  
/home/swj] isql
… 배너 생략 …
--------------------------------------------------------------
Write Server Name (default:localhost) :   <-- DB를 설치한 서버IP
Write UserID : sys  <-- DB에 접속해서 사용할 사용자명. (sys 는 DBA 사용자입니다.)  
Write Password :    <-- sys 사용자의 패스워드는 manager 입니다.

    

  두번째는 옵션을 이용한 접속 방법입니다. iSQL 실행 시 접속에 필요한 정보를 옵션으로 지정하여 DB에 접속하는 방법입니다.

 
/home/swj] isql -s 127.0.0.1 -u sys -p manager 
… 배너 생략 …
--------------------------------------------------------------
ISQL_CONNECTION = TCP, SERVER = 127.0.0.1, PORT_NO = 20911
iSQL>
    

iSQL 옵션 및 명령어

  iSQL을 사용해서 DB에 접속할 때 사용할 수 있는 옵션과 iSQL 에서 SQL 구문 외에 사용할 수 있는 명령어들에 대해서 알아보도록 하겠습니다.

iSQL 옵션
옵션 설명
-S server_name ALTIBASE 서버가 구동되어 있는 컴퓨터 서버의 이름 (또는 IP 주소)
-U user_id 사용자
-P password 암호
-PORT port_no 서버의 포트번호
-NLS_USE nls_use Character set
-F infile_name 지정한 스크립트 파일을 iSQL 에서 수행함
-O infile_name 실행한 결과를 파일로 저장

  옵션을 사용하여 iSQL로 접속하는 방법을 살펴보면 다음과 같습니다.

 
ex) 사용자: sys, 암호: manager, 서버IP: 192.168.1.35, 서버포트: 20300
shell> isql –s 192.168.1.35 –u sys –p manager –port 20300  
    

iSQL 명령어
분류 명령어 설명
iSQL
구동 및 종료
$ isql [option] 쉘 상에서 이 명령어를 수행하면 iSQL이 구동된다.
iSQL> 프롬프트
EXIT;
QUIT;
iSQL 종료
데이터베이스
접속 및 해제
CONNECT [username/password]
[AS SYSDBA]
접속. [AS SYSDBA] 옵션은 SYSDBA 모드로 접속
DISCONNECT 접속 해제
트랜잭션 제어 AUTOCOMMIT [ON|OFF] 트랜잭션 모드 설정. ON 은 AUTOCOMMIT 모드
객체정보 조회 DESC table_name 테이블 구조 보기
파일 처리 SPOOL filename; 파일로 자료를 출력, filename에 기록을 시작한다.
SPOOL OFF; 파일로 자료를 출력, filename에 기록을 중지한다.
START filename; filename 파일을 읽어, SQL문들을 순차적으로 수행
@ filename; start와 동일한 기능
ED 마지막 수행된 질의문 편집
ED filename[.sql] 기존 파일 편집
2ED 또는 2 ED history 목록에 있는 번호가 2인 질의문 편집
사용자 편의 기능 h iSQL에서 사용했던 SQL 구문의 history 확인
/ 마지막에 수행한 명령어가 수행됨

간단한 iSQL 실습

  간단한 실습을 통해서 iSQL의 사용 방법을 알아보도록 하겠습니다.

ALTIBASE HDB 접속
 
shell > isql –s 127.0.0.1 –u sys –p manager  
    

SQL 스크립트 파일 실행
 
iSQL> @ ?/sample/APRE/schema/schema.sql 
(?는 ALTIBASE가 설치된 디렉토리 즉, $ALTIBASE_HOME )
    

테이블 구조보기
 
iSQL> DESC department

[ TABLESPACE : SYS_TBS_MEMORY ]
[ ATTRIBUTE ]                                                         
------------------------------------------------------------------------------
NAME                     TYPE                        IS NULL 
------------------------------------------------------------------------------
DNO                      SMALLINT      FIXED       NOT NULL
DNAME                   CHAR(30)       FIXED       NOT NULL
DEP_LOCATION            CHAR(9)        FIXED       
MGR_NO                  INTEGER        FIXED  
     
[ INDEX ]                                                       
------------------------------------------------------------------------------
NAME                  TYPE     IS UNIQUE     COLUMN
------------------------------------------------------------------------------
DEP_IDX1                BTREE                  MGR_NO ASC
__SYS_IDX_ID_82          BTREE    UNIQUE        DNO ASC

[ PRIMARY KEY ]                                                 
------------------------------------------------------------------------------
DNO

    

테이블 조회
 
iSQL> SELECT COUNT(*) FROM customer;
COUNT                
-----------------------
20                   
1 row selected.

iSQL> SELECT COUNT(*) FROM orders;
COUNT                
-----------------------
30                   
1 row selected.

iSQL> h
1  : SELECT COUNT(*) FROM customer;
2  : SELECT COUNT(*) FROM orders;

iSQL> 2/
    

- 강좌 URL : http://www.gurubee.net/lecture/2160

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입