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

相关内容