[SQL_PLUS] 편집기 기능 정리

SQLPlus는 가볍다. 하지만 직관적인 GUI 가 아니고 텍스트를 이용하여 사용하기 때문에 처음 사용하면 불편한게 한두가지가 아니다.
몇가지 예를 들어보자면 커서가 마음대로 움직이지 않는다. 키보드의 화살표와 home,end 등등의 키도 사용하지 못한다. 문장이 틀리거나 수정시에 모두 지워야 하는 사태가 온다.. 또 쿼리 결과가 보기 힘들다.라는것도 들수 있다. 쿼리를 날렸는데 뭐가 컬럼이고 뭐가 데이터인지 모르겠고 이 데이터가 어떤 컬럼에 데이터인지 모르는등 분간하기 힘들다. 
 이런 불편사항들을 감수하고라도 사용하고자 한다면 몇가지 설정을 하고 사용하도록 하자.

SQL_PLUS 설정
에디터 변경

> ed
- ed는 edit의 약자로 SQLPlus 버퍼에 있는 내용을 에디터를 이용하여 편집한다.
- 윈도우 사용자라면 기본으로 메모장에 열린다. 이때 해당 에디터를 아래와 같이 바꿀 수 있다.

>DEFINE_EDITOR = '에디터 경로'
- 예 >DEFINE_EDITOR = 'C:\Program Files\Notepad++\notepad++.exe'

PROMPT 변경
SQLPlus 의 초기 prompt 는 아마 SQL>_ 으로 되어 있을 것이다. 하지만 내가 지금 무슨계정으로 접속했는지 궁금할 수도 있고, 어떤 SID 에 접속했는지 궁금할 수도 있다.
 프로젝트를 수행하다보면 개발용디비인지 운영용디비인지 헷갈려서 실수하는 경우도 정말 많이 발생한다. 이를 위해서 prompt 를 변경해 보자.
>SET SQLPROMPT '&_USER.@&_CONNECT_IDENTIFIER.> '

SQLPlus 너비 지정
쿼리를 수행하면 결과가 너무 보기 힘들다. linesize 값을 설정하여 보자.
- 설정
>set linesize 300
- 결과 확인
>show linesize
- show [name | all] 를 사용하면 각종 설정값을 볼 수 있다. all은 모든 설정값을 출력한다.

SQLPlus 페이지 설정
linesize 까지 설정했는데 자꾸 컬럼명이 자주 중간중간에 표시되어 눈에 거슬릴수도 있다. 
이때는 pagesize를 설정하여 표시되는 라인수를 설정할 수 있다.
>set pagesize n
- 예 > set pagesize 100


설정내용 영구 적용
 이제 SQLPlus 를 재시작해보면... 뜨아~~  설정한 것들이 다 날라갔다. ㅠㅠ
실행때마다 설정해준다는것은 좀 힘든일이고 자동으로 설정하는법을 알아보자.
oracle home으로 가보자. (설치된곳.)
xe 버전은 C:\oraclexe\app\oracle\product\10.2.0\server\ 으로 가면 될 듯 싶다.
요기에서 sqlplus\admin\glogin.sql 파일을 찾아서 열자.

이 파일은 사용자가 sqlplus를 실행할때마다 sqlplus 에서 참조하는 초기화 파일이다.

SET SQLPROMPT '&_USER. @ &_CONNECT_IDENTIFIER.> '
DEFINE_EDITOR = 'C:\Program Files\Notepad++\notepad++.exe'
set linesize 300
set pagesize 100

그리고 로그인을 다시 해보면 위의 설정대로 바뀐것을 알 수 있다.


명령정리

> /, r

- 버퍼에 들어 있는 쿼리 재실행

> l (소문자 L)
- 버퍼에 들어있는 쿼리를 다시 보여준다. (실행하지 않음)

삭제
: n, n del
tip: n, . del 을 하면 현재 cursor n번째부터 현재 cursor 의 행까지 삭제된다.

'Tool' 카테고리의 다른 글

Substitution variable  (0) 2012.03.11