관리 메뉴

아이짱구

SQL*PLUS 본문

database/oracle

SQL*PLUS

아이짱구 2017. 2. 13. 11:15

SQL*PLUS 프롬프트 변경하기, 환경설정 및 명령어 사용 방법


1. SQL*PLUS Prompt 변경하기


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


[2011-01-19 01:24:03]-[oracle@calmmass:~/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@calmmass:~]

$ 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            // 환경이 어떻게 설정 되었는가 확인


출처: 전문가로가는길

Comments