728x90
반응형

배치 작업이나, 백업, 모니터링을 위하여 Command Line 에서 SQL을 수행 시켜야 할 필요성이 있다.


그때 사용할 수 있는 방법들을 정리 해 봅니다. ( 자주 안 쓰니 매번 다시 찾아봐야 해서 정리 차원으로 ..)



1. Command Line 에서 SQL 수행 하기

 

 1. sqlplus -s "/as sysdba" @query.sql

 

 2. sqlplus -s "/as sysdba"  <<< "SELECT 1 FROM dual ; "

 

 3. echo "SELECT 1 FROM dual; " | sqlplus -s "/as sysdba"

 

 4. echo -e "SELECT 1 FROM dual;  \n SELECT 2 FROM dual ;  \n  SELECT  3 FROM dual ; " | sqlplus -s "/as sysdba"

 

 5. sqlplus -s /nolog << EOF

       connect  / as sysdba

       SELECT 1 FROM dual ;

       EXIT;

    EOF

 

2. 쿼리 결과를 File 저장하기

 

 1. sqlplus -s "/as sysdba" @query.sql >> query.out

 

 2. sqlplus -s "/as sysdba"  <<< "SELECT 1 FROM dual ; "  >> query.out

 

 3. echo "SELECT 1 FROM dual; " | sqlplus -s "/as sysdba"  >> query.out

 

 4. echo -e "SELECT 1 FROM dual;  \n SELECT 2 FROM dual ;  \n  SELECT  3 FROM dual ; " | sqlplus -s "/as sysdba"  >> query.out

 

 5. sqlplus -s /nolog << EOF >> query.out

       connect  / as sysdba

       SELECT 1 FROM dual ;

       EXIT;

    EOF

 

3. Command Line에서 SQL 주기적으로 수행 시키기 (성능 지표 모니터링 ?)

 

[oracle@DEVQA23 admin]$ while true

> do

> sleep 3

> echo " "

> echo "SELECT status , STATE, count(*) FROM v\$session GROUP BY status , state;" | sqlplus -s "/as sysdba"

> done

 


반응형

+ Recent posts