shell执行SQLPLUS导出数据文件
前几天写了一个shell程序,实现了在安装了ORACLE的UNIX电脑上定时执行*.sql文件,将执行的结果输出到文件中。 可以将多条SQL语句写进*.sql文件中,每个语句以分号分隔,如下:
select * from test;
drop table test;
drop table test;
shell程序如下:
shell脚本
#!/bin/csh
sqlplus -S /nolog > log.log <<EOF
conn scott/tiger
set verify off;
set wrap off;
set echo off;
set term off;
set heading off;
set feedback off;
set pagesize 0;
set linesize 1000;
set trimspool on;
spool /oracle/data.txt;
@/oracle/sql.sql;
spool off;
exit;
EOF
sqlplus -S /nolog > log.log <<EOF
conn scott/tiger
set verify off;
set wrap off;
set echo off;
set term off;
set heading off;
set feedback off;
set pagesize 0;
set linesize 1000;
set trimspool on;
spool /oracle/data.txt;
@/oracle/sql.sql;
spool off;
exit;
EOF
程序说明:
spool语句把sql.sql文件里语句的执行结果输出到/oracle/data.txt文件中
set xxx off这些是设置spoll的一些参数,比如不回显、不显示列头等
@这里是执行/oracle/sql.sql文件