배치 작업이나, 백업, 모니터링을 위하여 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 |