#設定執行編碼格式,防止匯出中文時出現亂碼
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