Oracle数据导出shell脚本

2014-11-24 18:37:30 · 作者: · 浏览: 0

#设置执行编码格式,防止导出中文时出现乱码


export NLS_LANG="AMERICAN_AMERICA.UTF8"


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