用DOS的批处理带参数吧expp.bat-->
exp system/manager file=%1% log=d:\backup\bak.log owner=myuserrun-->
expp.bat whateverfilename

解决方案 »

  1.   

    参考:
    http://expert.csdn.net/Expert/topic/1645/1645470.xml?temp=.7335321
      

  2.   

    exp system/manager file=www%date:~4,10%.dmp
      

  3.   

    谢谢各位的回答,我决定采用JiangHua0903的方法。
    不过再JiangHua0903问一句,用%date:~4,10%的得到的文件名为www2003-07-02.dmp,
    能否用其它的格式表示为www20030702.dmp的形式?
      

  4.   

    写个shell给你个例子:
    #! /bin/bashrq=`date +"%y%m%d"`
    WEEKNUM=`date +"%w"`
    BACKFILE=week${WEEKNUM}.dmpWORKPATH=$HOME
    LOGPATH=/home/oracle/backup/log
    LOGFILE=$LOGPATH/${rq}.logORACLE_HOME=/u01/app/oracle/product/8.1.7;export ORACLE_HOME
    ORACLE_SID=orcl;export ORACLE_SID
    ORACLE_TERM=sun;export ORACLE_TERM
    LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH
    ORA_NLS32=$ORACLE_HOME/ocommon/nls/admin/data;export ORA_NLS32
    PATH=.:/usr/ccs/bin:/usr/ucb:$ORACLE_HOME/bin:$PATH;export PATH
    NLS_LANG=american_america.zhs16cgb231280;export NLS_LANG
    EXPBIN=$ORACLE_HOME/bin/exp#echo $rq$EXPBIN nss6/select tables=(BASE,
    BASELOG,
    BASEONCE,
    CB,
    CHARGEDETAIL,
    CHARGEDETAILD,
    CIDCB,
    COMBOS,
    COMPINFOFB,
    NLS_LANG=american_america.zhs16cgb231280;export NLS_LANG
    EXPBIN=$ORACLE_HOME/bin/exp#echo $rq$EXPBIN triger/scoff tables=(BASE,
    YZ) file=/home/oracle/backup/$BACKFILE  >> $LOGFILE  2>&1
      

  5.   

    建立两个bat,其中bat里的导出文件名不一样,并且设置两个计划任务,
    按照日期偶数和奇数执行不同的bat,这样可以保留最近两天的备份记录
      

  6.   

    set NOW=%date:~4,10%
    ...
    exp system/manager file=www%now:-=%.dmp