DATA 전문가로 가는 길

[ Oracle ] SQLPLUS(SQL*PLUS) 프롬프트 변경하기, 환경설정 및 명령어 사용 방법 본문

Data Architecture/Beginner

[ Oracle ] SQLPLUS(SQL*PLUS) 프롬프트 변경하기, 환경설정 및 명령어 사용 방법

EstenPark 2011. 1. 19. 02:23
작성자 : 박상수
작성일자 : 2011.01.19
작업환경 : VMware7 [ RHEL4, Oracle Database 10g r2 patchset 4 ]
참고자료 : SQLPLUS 프롬프트 변경하기, SQLPLUS 환경구성


1. SQL*PLUS Prompt 변경하기 

[설명] SQL*PLUS를 사용하다보면 "SQL>" 이부분을 리눅스나 유닉스 프롬프트처럼 변경 하고 싶을 거라고 생각 합니다. 그래서 "유저명@인스턴스명"으로 변경 하도록 하겠습니다.

[2011-01-19 01:24:03]-[oracle@estenpark:~/product/10g/sqlplus/admin]
$ tail -5 glogin.sql
-- SQLPLUS Parameter
SET sqlprompt "_USER'@'_CONNECT_IDENTIFIER> "      // 프롬프트 변경
SET linesize 400                      // 한 라인의 폭은 라인당 들어갈 수 있는 글자의 수
SET pagesize 200                     // 한 페이지에 표시 할 수 있는 라인수

[2011-01-19 01:16:18]-[oracle@estenpark:~]
$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Wed Jan 19 01:16:24 2011
Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SYS@testdb> conn scott/oracle
Connected.
SCOTT@testdb>


2. SQL*PLUS 명령어 

[설명] SQL*PLUS 접속 하기
$ sqlplus / as sysdba                    // 로컬에서 SYS 계정으로 접속
$ sqlplus scott/oracle                     // 로컬에서 일반계정 SCOTT 유저로 접속
$ sqlplus system/oracle                  // 로컬에서 SYSTEM 유저로 접속
$ sqlplus system/oracle@massdb     // 클라이언트나 로컬에서 리스너를 이용하여 SYSTEM 유저로 접속

[설명] SQL*PLUS의 명령어를 친철하게 가르쳐 주시는 HELP님
SYS@testdb> help start           // start 관련 명령어를 출력
SYS@testdb> help shutdown    // shutdown 관련 명령어를 출력
SYS@testdb> help a               // a와 연관된 명령어 모두 출력

[설명] TABLE 구조 확인
SYS@testdb> desc tablename   // tablename의 구조를 보여 줍니다.

[설명] Unix/Linux 명령어를 수행
SYS@testdb> ! ls -al              // 현재 유닉스/리눅스의 목록을 보여줍니다.
SYS@testdb> host ls -al         // 위와 동일 함

[설명] 이전 SQL 재 수행
SYS@testdb> /                     // 메모리로 불러온 SQL 문을 실행 하게 됩니다.(이전)  
SYS@testdb> L                     // 메모리로 불러온 SQL 문을 보여 줍니다.(이전)  

[설명] SQL 편집 
SYS@testdb> ed[IT]              // 기본적으로 1번 이상의 SQL을 수행해야 합니다.(버퍼관련..)
SYS@testdb> ed[IT] file         // 편집 후 저장하게 되면 file.sql로 저장 됩니다.

[설명] SQL 파일로 저장 1
SYS@testdb> save filename     // filename.sql 파일을 현재 디렉토리에 저장
SYS@testdb> save /doc/filename   // /doc/filename.sql 디렉토리에 저장(절대경로)

[설명] SQL 파일로 저장 2
SYS@testdb> spool filename.txt     // filename.txt 현재 시점 부터 화면 내용 저장
SYS@testdb> spool off                 // filename.txt 저장 해제

[설명] SQL 스크립트 수행
SYS@testdb> @script             // 현재 디렉토리의 script.sql을 수행 합니다.

[설명] 명령어를 화면에 Display
SYS@testdb> set echo [On/Off]   // on, off 따라 다릅니다.

[설명] SQL 수행 시간
SYS@testdb> set timing [on/off]   // sql문장이 처리되는 시간을 표시 기본값은 off

[설명] Column Name On/Off
SYS@testdb> set heading [on / off]  // 컬럼 명 설정 또는 해제

[설명] 버퍼에서 사용 하는 명령어 모음
SYS@testdb> A                // 라인끝에 텍스트를 추가
SYS@testdb> C/old/new   // old 를 new로 바꿈
SYS@testdb> I text           // 다음 line 에 text를 추가
SYS@testdb> L                // 전체 문자을 화면에 보여 ("이전 SQL 재 수행" 내용을 참조)
SYS@testdb> n text          // n라인 전체를 text로 바꿈
SYS@testdb> R               // buffer에 있는 문장 실행
SYS@testdb> edit            // buffer에 있는 문장을 file로 부름 ("SQL 편집" 내용을 참조)

[설명] 그 외 SET 환경 설정
SYS@testdb> colsep (text)        //  칼럼이 표시될때 칼럼의 구별문자 기본값 공백
SYS@testdb> feedback (off | on)   //  선택된 행이 몇 행인지 표시함 기본값은 6행이상일때 on
SYS@testdb> linesize (n)            // 한줄에 표시될 텍스트숫자 기본값80
SYS@testdb> pages (n)              // 한페이지당 표시되는 라인수 기본값 24
SYS@testdb> paues (on | off | text)  // 엔터키를 누를때마다 화면이 지나감 기본값은 off
SYS@testdb> verify (on | off)       // & 변수로 값을 받을 경우 화면에 확인하기 위해 
                                                          old,new를 표시할 것인지 기본값은  on
SYS@testdb> show all                // 환경이 어떻게 설정 되었는가 확인


http://estenpark.tistory.com/291 를 참고하여 방향키를 자유롭게 사용 하는 방법도 익혀 보시기 바랍니다.
최근에 SQL*PLUS를 자주 사용하게 되었는데 사용방법을 몰라서 알고 있는 것만 사용했습니다.

작업 할때 조금이라도 도움이 되셨으면 좋겠습니다.





Comments