SQLPlus batch script example, 배치 파일 스크립트 실행하기.

SQLPlus를 윈도우 배치파일을 이용하여 스크립트를 실행하는 예시 자료입니다.

이때 필요한 파일은 크게 2가지입니다.
1. 배치파일 => SQLPlus 접속 정보와 실행할 SQL파일 및 필요시 로그파일 경로를 담은 배치파일
2. SQL 스크립트 파일

SQLPlus batch file

sqlplus username/password@datasourcename @sqlFile.sql>logFile.log

예시 자료에 사용한 배치파일 내용은 다음과 같습니다. sqlplus를 실행하여 username/password@datasourcename로 접속한 다음에, sqlFile.sql을 실행하며 logFile.log에 기록을 남기도록 합니다.

sqlFile은 다음과 같이 익명 블록을 하나 설정하여 간단히 insert 해보도록 하였습니다. 블록을 사용하지 않고 바로 insert 구문을 적으셔도 됩니다. PL/SQL도 가능하다는 것을 위해 임의로 추가한 것입니다.

DECLARE
   l_c1   TABLENAME.C1%TYPE := '1';
BEGIN
   INSERT INTO TABLENAME (C1)
        VALUES (l_c1);

   COMMIT;
END;
/

logFile에는 다음과 같은 로그가 기록되었습니다.

SQL*Plus: Release 0.0.0.0.0 - Production on D 0월 00 00:00:00 0000

Copyright (c) 0000, 0000, Oracle.  All Rights Reserved.


다음에 접속됨:
Oracle Database Release 0.0.0.0.0 - 64bit Production


PL/SQL 처리가 정상적으로 완료되었습니다.

SQL>

SQLPlus batch

테이블을 조회해 보았을 때 상기의 SQL 스크립트가 정상적으로 적용이 되어 컬럼이 '1'인 레코드가 인서트 되었음을 확인하였습니다.

SELECT * FROM TABLENAME;

SQLPlus batch script example

사용법 1: sqlplus -H | -V

    -H    SQL*Plus 버전과 사용법 도움말을
   표시합니다.
    -V    SQL*Plus 버전을 표시합니다.

사용법 2: sqlplus [ [<option>] [<logon>] [<start>] ]

  <option> : [-C <version>] [-L] [-M "<options>"] [-R <level>] [-S]

    -C <version>   영향을 받는 명령의 호환성을
   <version>에 의해 지정된 버전으로 설정합니다.
   해당 버전의 형식은 "x.y[.z]"입니다(예: -C 10.2.0).
    -L    오류에 대한 메시지를 다시 표시하는 대신
   한 번만 로그온을 시도합니다.
    -M "<options>" 출력의 자동 HTML 마크업을 설정합니다.
   옵션의 형식은 다음과 같습니다.
   HTML [ON|OFF] [HEAD text] [BODY text] [TABLE text]
   [ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]
    -R <level>    제한 모드를 설정하여 파일 시스템과
   상호 작용하는 SQL*Plus 명령을 비활성화합니다.
   레벨은 1, 2 또는 3일 수 있습니다. 가장 제한적인 모드는 -R 3이며
   이 모드는 파일 시스템과 상호 작용하고 있는
   모든 사용자 명령을 비활성화합니다.
    -S    SQL*Plus 배너의 표시, 프롬프트 및
   명령 표시를 숨기는 자동 모드를
   설정합니다.

  <logon>: (<username>[/<password>][@<connect_identifier>] | /)
      [AS SYSDBA | AS SYSOPER] | /NOLOG

    데이터베이스 접속에 필요한 데이터베이스 계정 사용자 이름, 암호 및
    접속 식별자를 지정합니다. 접속 식별자를 지정하지 않으면
     SQL*Plus는 기본 데이터베이스에 접속합니다.

    AS SYSDBA 및 AS SYSOPER 옵션은 데이터베이스 관리
    권한입니다.

    /NOLOG 옵션은 데이터베이스에 접속하지 않고 SQL*Plus를
    시작합니다.

  <start>: @<URL>|<filename>[.<ext>] [<parameter> ...]

    웹 서버(URL) 또는 스크립트의 대체 변수에 지정될
    특정 매개변수를 가진 로컬 파일 시스템(filename.ext)에서
    지정된 SQL*Plus 스크립트를 실행합니다.

SQL*Plus가 시작되면 CONNECT 명령 후
사이트 프로파일(예: $ORACLE_HOME/sqlplus/admin/glogin.sql) 및
사용자 프로파일(예: 작업 디렉토리의 login.sql)이 실행됩니다.
파일에 SQL*Plus 명령이 포함되어 있을 수 있습니다.

자세한 내용은 SQL*Plus User's Guide and Reference를 참조하십시오.

댓글