사용자 편의 기능
사용자 편의 기능#
히스토리#
이전에 수행했던 명령들의 리스트를 보여 준다.
해당 번호를 사용하여 이전에 수행했던 명령을 간단하게 실행할 수 있다.
iSQL> HISTORY; -- history 목록보기
또는
iSQL> H;
1 : SELECT * FROM tab;
2 : SELECT * FROM book;
3 : HISTORY;
iSQL> / -- 가장 마지막 명령(HISTORY;)을 재수행
iSQL> 2/ -- history 목록의 2번에 해당하는 명령(SELECT * FROM book;) 실행
히스토리 저장#
iSQL에서 실행한 명령어들을 iSQL 종료 시 파일로 자동 저장하는 기능이다. 이 기능을 활성화시키면 iSQL 재실행 시 파일에 저장된 이전 명령어들이 자동으로 로딩되기 때문에, 사용자가 화살표 키를 눌러서 이전 명령어에 접근 및 실행할 수 있다.
히스토리 저장 기능을 사용하려면 ISQL_HIST_FILE 환경변수를 설정하고 iSQL을 실행해야 한다.
$ export ISQL_HIST_FILE=~/.isql_history
히스토리 저장 기능을 끄기 위해서는 ISQL_HIST_FILE 환경변수를 삭제한다.
$ unset ISQL_HIST_FILE
기본값#
사용 안 함
제약 사항#
- 명령 프롬프트나 쉘 프롬프트에서 키보드 방향키를 이용해 이전 명령어를 확인할 수 있는 경우에 사용 가능
- 최대 100개 저장 가능
사용자가 iSQL 프롬프트에서 입력한 모든 명령어가 파일에 저장되기 때문에 데이터베이스 사용자 암호 같은 민감한 정보도 유출될 수 있으므로 파일 접근 관리에 유의해야 한다.
쉘 명령#
iSQL에서 !다음에 바로 쉘 명령을 수행할 수 있는 편리한 기능이다.
iSQL> !ls -al
total 3417
-rw-r----- 1 altibase altibase 1198 Nov 1 13:30 .aliases
-rw------- 1 altibase altibase 5353 Oct 18 21:17 .bash_history
-rw-r----- 1 altibase altibase 1436 Nov 2 15:42 .bashrc
-rw-r----- 1 altibase altibase 1549 Dec 13 17:36 .profile
명령 프롬프트#
기본 명령 프롬프트인 'iSQL>' 대신 다른 값을 설정하여 프롬프트를 변경할 수 있다. 현재 접속한 사용자, 현재 시간 등의 런타임 변수가 포함된 경우 SET SQLPROMPT는 동적으로 변수를 치환한다.
SET SQLP[ROMPT] {text}
사용 가능한 치환 변수는 아래와 같다.
변수 | 설명 |
---|---|
_CONNECT_IDENTIFIER | 접속한 서버. "host:port_no"로 표현된다. |
_DATE | 현재 시간. DATE_FORMAT에 설정된 형식으로 표현된다. |
_PRIVILEGE | iSQL 접속 권한을 보여준다. sysdba로 접속한 경우 '(sysdba)'로 치환된다. |
_USER | 현재 접속한 사용자 이름. |
예제#
iSQL>SET SQLPROMPT "_CONNECT_IDENTIFIER> "
iSQL>SET SQLP "_USER> "
iSQL>SET SQLPROMPT "_USER'@'_CONNECT_IDENTIFIER > "
iSQL>SET SQLPROMPT "_USER on _DATE from _CONNECT_IDENTIFIER> "
도움말#
iSQL이 제공하는 명령에 대한 도움말을 제공한다. HELP 명령은 도움말 사용법을 보여 주며 특정 명령에 대한 도움말은 HELP 명령 다음에 정보를 알고자 하는 명령을 입력하면 된다.
iSQL> HELP;
Use 'help [command]'
Enter 'help index' for a list of command
iSQL> HELP INDEX;
/ EXIT PARTITIONS
@ EXPLAINPLAN QUERYLOGGING
ALTER FEEDBACK QUIT
AUTOCOMMIT FOREIGNKEYS ROLLBACK
CHKCONSTRAINTS FULLNAME SAVE
CL[EAR] H[ISTORY] SELECT
COL[UMN] HEADING SPOOL
COLSIZE INSERT SQLP[ROMPT]
COMMIT LINESIZE START
CREATE LOAD TERM
DEFINE LOBOFFSET TIMESCALE
DELETE LOBSIZE TIMING
DESC MERGE UPDATE
DROP MOVE USER
ECHO NUM[WIDTH] VAR[IABLE]
EDIT NUMF[ORMAT] VERTICAL
EXECUTE PAGESIZE
iSQL> HELP EXIT;
exit;
or
quit; - exit iSQL