@echo off
echo **************************************************************
echo * Desc: UNL数据 导入Oracle *
echo * Conn: [email protected] *
echo * Date: 2011.03.04 *
echo * Creator: sinosoft *
echo **************************************************************REM 设置日期 + 时分秒
set hourF=%TIME:~0,2%
set dateF=%date:~0,4%%date:~5,2%%date:~8,2%
if %TIME:~0,2% leq 9 (set hourF=0%TIME:~1,1%) else (set hourF=%TIME:~0,2%)
set timeF=%hourF%%TIME:~3,2%%TIME:~6,2%
set daTimSec=%dateF%%timeF%
set dsPath=F:\workspace\pmjtProject\WebRoot\upload\trafficInvoice\REM 文件是否存在
if not exist F:\workspace\pmjtProject\WebRoot\upload\trafficInvoice\cargo_list_main.unl (
echo 错误提示:cargo_list_main.unl 文件不存在!
pause
exit
)
REM 数据备份文件夹
if not exist 备份数据 (md 备份数据)REM 1:导入数据
SQLLDR user/95214@P_6 control= F:\workspace\pmjtProject\WebRoot\upload\trafficInvoice\cargo_list_main.ctl log=F:\workspace\pmjtProject\WebRoot\upload\trafficInvoice\log.txt bad = F:\workspace\pmjtProject\WebRoot\upload\trafficInvoice\cargo_list_main_bad.txt errors = 100000
REM 2:数据备份
move F:\workspace\pmjtProject\WebRoot\upload\trafficInvoice\cargo_list_main.unl .\备份数据\main_%daTimSec%.unlREM 数据导入有错误
if exist cargo_list_main_bad.txt (
REM 数据备份
move F:\workspace\pmjtProject\WebRoot\upload\trafficInvoice\cargo_list_main_bad.txt .\备份数据\bad_%daTimSec%.txt
echo ********************************
echo * 数据导入有错误, *
echo * 请查看日志和备份文件! *
echo ********************************
) else (
REM 数据全部导入
echo ********************************
echo * 数据全部导入:成功! *
echo ********************************
)
exit
echo **************************************************************
echo * Desc: UNL数据 导入Oracle *
echo * Conn: [email protected] *
echo * Date: 2011.03.04 *
echo * Creator: sinosoft *
echo **************************************************************REM 设置日期 + 时分秒
set hourF=%TIME:~0,2%
set dateF=%date:~0,4%%date:~5,2%%date:~8,2%
if %TIME:~0,2% leq 9 (set hourF=0%TIME:~1,1%) else (set hourF=%TIME:~0,2%)
set timeF=%hourF%%TIME:~3,2%%TIME:~6,2%
set daTimSec=%dateF%%timeF%
set dsPath=F:\workspace\pmjtProject\WebRoot\upload\trafficInvoice\REM 文件是否存在
if not exist F:\workspace\pmjtProject\WebRoot\upload\trafficInvoice\cargo_list_main.unl (
echo 错误提示:cargo_list_main.unl 文件不存在!
pause
exit
)
REM 数据备份文件夹
if not exist 备份数据 (md 备份数据)REM 1:导入数据
SQLLDR user/95214@P_6 control= F:\workspace\pmjtProject\WebRoot\upload\trafficInvoice\cargo_list_main.ctl log=F:\workspace\pmjtProject\WebRoot\upload\trafficInvoice\log.txt bad = F:\workspace\pmjtProject\WebRoot\upload\trafficInvoice\cargo_list_main_bad.txt errors = 100000
REM 2:数据备份
move F:\workspace\pmjtProject\WebRoot\upload\trafficInvoice\cargo_list_main.unl .\备份数据\main_%daTimSec%.unlREM 数据导入有错误
if exist cargo_list_main_bad.txt (
REM 数据备份
move F:\workspace\pmjtProject\WebRoot\upload\trafficInvoice\cargo_list_main_bad.txt .\备份数据\bad_%daTimSec%.txt
echo ********************************
echo * 数据导入有错误, *
echo * 请查看日志和备份文件! *
echo ********************************
) else (
REM 数据全部导入
echo ********************************
echo * 数据全部导入:成功! *
echo ********************************
)
exit
贴给你吧改一下oracle环境变量及用户和实例就可以执行的
#/bin/sh
echo "欢迎使用IDTRUST双因子认证_令牌管理系统oracle备份还原脚本"if [ "$#" -ne 1 ]; then
echo "backup.sh ( parms must is backup | resume )"
exit 1
fiecho "debug: 开始配置数据备份/还原前得准备..."echo "debug: 获取当前时间..."
dtime=`date +%Y%m%d%H%M%S`
echo "debug: 数据备份/还原时间是: "$dtimeecho "debug: 设置oracle环境变量值..."ORACLE_BACKUP=/idtrust/idtrust
ORACLE_BASE=/idtrust/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
USERID=idtrust/idtrust@idtrustdbif [ "$1" = "backup" ]; thenecho "debug: 创建备份数据及日志包存放目录..."backurl=$ORACLE_BASE/backup_datas
if [ ! -d "$backurl" ]; then
mkdir $backurl
fiecho "debug: 备份数据及日志包存放路径: "$backurlnewdir=$backurl/$dtime"_backup"chmod 777 $backurl
mkdir $newdir
chmod 777 $newdirecho "debug: 创建还原数据及日志包存放目录..."resumeurl=$ORACLE_BASE/resume_datas
if [ ! -d "$resumeurl" ]; then
mkdir $resumeurl
fichmod 777 $resumeurlecho "debug: 还原数据及日志包存放路径: "$resumeurl
echo "debug: 创建还原数据包历史数据存放目录..."resumebackurl=$resumeurl/backup_resume_datas
if [ ! -d "$resumebackurl" ]; then
mkdir $resumebackurl
fi
chmod 777 $resumebackurlecho "debug: 还原数据包历史数据存放路径: "$resumebackurl
echo "debug: 开始进行数据备份...""$ORACLE_HOME/bin/exp" $USERID owner=idtrust rows=y compress=n buffer=65536 feedback=100000 file=$newdir/$dtime"_backup.dmp" log=$newdir/$dtime"_backup.log"echo "debug: 数据备份成功..."echo "debug: 压缩备份数据文件目录..."
cd $backurl
tar -cvf $dtime"_backup".tar $dtime"_backup"/echo "debug: 压缩成功..."
#echo "debug: 备份旧的还原数据包..."
echo "debug: 删除旧的还原数据包..."cd $resumeurl
#mv *.tar $resumebackurl/
rm -rf *.tarecho "debug: 将最新备份压缩包拷贝到数据还原目录..."cp $backurl/$dtime"_backup".tar $resumeurl
echo "debug: 清除备份数据文件..."rm -rf $backurl/$dtime"_backup"echo "清除完毕..."
echo "备份完毕..."elif [ "$1" = "resume" ]; thenresumeurl=$ORACLE_BASE/resume_datasecho "debug: 将要进行数据库还原的数据包路径: "$resumeurl
echo "debug: 解压最新备份数据包进行数据库还原..."cd $resumeurl
tar -xvf *.tar
mv *_backup/*.dmp resumenow.dmpredir=$dtime"_resume"
mkdir $redir
chmod 777 $redirecho "debug: 开始进行数据还原...""$ORACLE_HOME/bin/imp" $USERID rows=y full=y buffer=65536 feedback=100000 file=$resumeurl/resumenow.dmp log=$resumeurl/$redir/$redir.logecho "debug: 数据还原成功..."echo "debug: 压缩还原数据包及日志目录..."resumebackurl=$resumeurl/backup_resume_datas
mv resumenow.dmp $redir/$redir.dmptar -cvf $resumebackurl/$redir.tar $redir/
echo "debug: 压缩成功..."echo "debug: 清除还原数据文件..."rm -rf *_backup
rm -rf $redirecho "清除完毕..."
echo "数据还原完毕..."else
echo "backup.sh ( parms must is backup | resume )"
exit 1
fi