2011. 3. 2. 16:22

[SQL system 명령어] : SQLPLUS

 

SQL 문법은 명령어의 마지막에 ' ; ' 또는 ' / '로 마치지만 system 명령은 붙일 필요없다.

일반적으로 SQL 명령어는 대문자로 표기하는것을 기본으로 한다.

소문자로 표기해도 상관없다.

 

단, 테이블내의 컬럼명(attribute) 또는 필드(field : 항목)값을 질의(Query)할 때 " " 로 묶을시엔 대.소문자를 구분하므로

질의대상이 대문자인지 소문자인지 확실히 구분해서 명시해줘야 한다.

 

=======================================================================

console 화면

=======================================================================

 

c:\> sqlplus /nolog      ... 로그인 없이 SQLPLUS 가동.  

   ... 사용자 계정으로 접속                                                                    :: C:\> sqlplus scott/tiger

   ... admin(sys 계정)으로 접속                                                             :: C:\> sqlplus "/as sysdba"

 

> spool 파일명

   ... 현재 세션에서 사용되는 SQL 명령어들 로그 파일로 출력 저장함.          :: SQL> spool test_1

 

> conn[ect] ID/PASS

   ... Database 사용자 계정으로 접속.                                                     :: SQL> conn scott/tiger

   ... admin(최고권한자 sys 계정으로 접속)                                             :: SQL> connect /as sysdba

 

> SELECT * FROM tab;

   ... 접속한 사용자 계정의 모든 table 보여줌.                                             테이블명 - 테이블타입 - 클러스터명

 

> DESC[RIBE] tablename

   ... table의 구조(컬럼 리스트)를 보여줌.                                                  컬럼명 - Null값 유무 - 컬럼 포맷형식

 

> show user

   ... 현재 접속한 사용자 계정 표시.

 

> show line

   ... 현재 세팅된 column line 수 표시.                                                     결과    :: SQL> linesize 80

 

> set linesize 120

   ... 표시되는 column line 수 지정.

 

> 로그인 시마다 변경할 수고를 덜기위해 자동으로 변경되게 설정하려면,

   "C:\oracle\ora92\sqlplus\admin" 밑의 'glogin.sql' 파일 내용에

 

-- For backward compatibility
SET PAGESIZE 14
SET SQLPLUSCOMPATIBILITY 8.1.7
SET SERVEROUTPUT ON           -- PL/SQL 동작시 결과 보여주기 위한 설정
SET LINESIZE 120                      
-- 라인 크기 설정 추가

위 내용을 추가해주고 저장하면 이후 SQL*Plus 로그인시마다 자동으로 위 설정내용대로 셋팅되어진다.

 

::::::::::: 이하 데이터베이스 사용자 및 권한 생성, 수정, 부여, 삭제에 대한 SYS(admin)의 명령 :::::::::::::::::::::::::

> SELECT username, user_id 

   FROM dba_users;

   ... DB에 접속할 수 있는 사용자 계정 정보 모두 보기.

 

> CREATE USER 사용자아이디 IDENTIFIED BY 비밀번호;

   ... 데이터베이스 사용자 계정 생성.

 

> GRANT create session, create table,                                                 

                create sequence, create view
   TO      
hundol;

   ... hundol 계정에 접속(session), 테이블 생성, 시퀀스 생성, 뷰 생성 권한 부여.

 

> SELECT tablespace_name, status, contents

   FROM dba_tablespaces;

   ... 테이블스페이스(저장공간) 목록 보기.

 

> SELECT file_name, bytes, status
   FROM dba_data_file;

   ... 테이블스페이스의 목록 및 상태 보기.

 

> SELECT tablespace_name, bytes, blocks
   FROM dba_free_space;

   ... 테이블스페이스의 사용가능한 공간 보기.

 

> CREATE tablespace ts_it001
   datafile 'C:\oracle\test\ts_it001.dbs' size 20M
   default storage(initial 128k next 64k pctincrease 10);

   ... 테이블스페이스 생성. 지정한 경로에 크기 20M의 'ts_it001.dbs' 데이터베이스파일 생성.

 

CREATE USER it001 IDENTIFIED BY it001
   default tablespace ts_it001
   temporary tablespace temp;

   ... 사용자 생성, 테이블스페이스 생성.

 

   GRANT connect, resource TO it001;

   ... 접속, 쿼리 실행, 테이블 생성 : view, stored procedure 등 서버의 자원을 만들고 쓸 수 있는 권한 부여.

>

>

> 이후 계속 추가예정.

 

 

=============================================================================

파일 관련 명령어
=============================================================================


파일과 관련된 SQL*Plus 명령어들 이다. 사용법을 확인 후 실습을 통해 이해하면 되겠다.



SAVE test : 버퍼의 내용을 test.sql로 저장


SAVE test RE[PLACE]  : 버퍼의 내용을 기존 파일인 test.sql에 덮어 쓴다.


APP[END] test : 버퍼의 내용을 test.sql에 추가 한다.


GET test : test.sql의 내용을 버퍼로 불러오며 화면에 출력한다.


EDIT test : test.sql의 내용을 버퍼로 불러오지 않으며 편집을 위해 로딩한다.


EDIT : 현재 버퍼의 내용을 편집을 위해 로딩 한다.


START test : test.sql의 내용을 실행 한다.


@test : test.sql의 내용을 실행 한다

Posted by 나른한스누피