Oracle数据导出shell脚本
#设置执行编码格式,防止导出中文时出现乱码
export NLS_LANG="AMERICAN_AMERICA.UTF8"
#加载Oracle客户端程序到环境变量中 注意:如果是将该脚本放到定时任务执行就一定得加上这行
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/client
#加载oracle相关库
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
#加载oracle监听器
export TNS_ADMIN=/usr/lib/oracle/xe/app/oracle/product/10.2.0/client
#加载oracle的bin目录
export PATH=$PATH:$ORACLE_HOME/bin
#定义导出的文件名 我这里加了时间
filename=filename.`date -d yesterday +%Y%m%d`
#设置导出参数
#echo off 不显示执行的SQL内容
#newpage 0
#space 0
#pagesize 0 输出每页行数 缺省为24
#line 5000 设置每行的最大字数 防止换行
#feed off 是否显示处理结果
#head off 是否显示字段名称
#trimspool on 去除重定向(spool)输出每行的拖尾空格 缺省为on
echo set echo off newpage 0 space 0 pagesize 0 line 5000 feed off head off trimspool on>> tem001.sql
echo SPOOL /home/usr/data/$filename>>tem001.sql
echo "select * from tablename;">>tem001.sql
echo SPOOL OFF>>tem001.sql
echo quit>>tem001.sql
sqlplus 用户名@数据库名/密码 @tem001.sql
rm -fr tem001.sql