windows2003,ORACLE10G
需求:
1、每日定时备份指定用户下的数据,不需要备份所有数据结构.如我的表、过程是在mymgr用户下建立的,我只需要备份mymgr用户下的所有结构.
2、备份文件名为日期.如20090319.dmp请各位高手指点下具体的方法,如果是.bat的话,请写出具体代码,如果RMAN等的话,请说明具体操作方法.总之各位高手就当我是个什么都不会的白痴好了,请写详细些.

解决方案 »

  1.   

    .bat写法  
    在记事本中写如下代码:exp mymgr/你的密码@SID file=d:\20090319.dmp rows=y
    然把记事本改成.bat格式,在WINDOW自带的任务计划里添加你刚才创建好的.bat文件,就可以了。
    RMAN的方法俺不会 
      

  2.   

    file=d:\20090319.dmp每日定时备份,我不能天天去改文件名吧?请给个通用的写法,好吗?而且我要的是备份该用户下的数据,硬盘空间不大,备份东西太多装不下.
    用这个用户登陆就不备份其他东西了吗?
      

  3.   

    可以写个程序定期调用备份script.
      

  4.   


    当天日期:
    file=d:\%date:~0,10%.dmp
      

  5.   

    批处理:exp mymgr/mymgr file=f:\bak%date:~4,10%.dmp owner=mymgr
    exit然后做个任务计划,定时执行即可
      

  6.   


    对头,我做过LINUX类似的每日备份echo $date
    statday=`date +%Y%m%d`
    cd /backup
    exp 'mymgr/"mymgr"'  file=/backup/mymgr$statday.dmp log=/backup/logs/mymgr$statday.log
    gzip *.dmp
    echo $date然后crontab -e做个定时任务
      

  7.   


    实在不好意思,拖了这么多天学生不才,不太明白怎么写批处理文件1、将exp mymgr/mymgr file=f:\bak%date:~4,10%.dmp owner=mymgr直接输入到 开始-->运行 中,执行备份过程,并且在F盘生成了一个"bak%date.dmp"的文件,导出完成后,文件大小为0K.2、将代码"exp mymgr/mymgr file=f:\bak%date:~4,10%.dmp owner=mymgr 
    exit" 放入.text文件中,然后将文件后缀改为 .bat,执行该.bat文件,却循环不停的显示以下命令提示:c:\Documents and Settings\admin\桌面>exp mymgr/mymgr file=f:\bak-03-24 星期二.dmp owner=mymgr请指教一下该怎么做,才能正确执行以上代码!
      

  8.   

    建个批处理文件:rem 获得当前的日期和时间,并建立相应的目录
    for /F "usebackq tokens=1,2 delims= " %%i IN (`date /t`) do set datapath=%%i%%j
    for /F "usebackq tokens=1,2 delims=: " %%i IN (`time /t`) do set datapath=%datapath%-%%i%%j00md "%datapath%"
    cd "%datapath%"
    exp mymgr/password file="mymgr_%datapath%.dmp" log="mymgr_%datapath%.log"
      

  9.   

    exp 导出的时候dmp的文件名不能有空格什么的
      

  10.   

    如果用户有自己的表空间,
    那么可以用rman备份表空间的方式备份用户
    差异备份,节约磁盘
      

  11.   

    搞定,谢谢大家支持,下面是我的.bat文件,跟大家分享下D:\oracle\product\10.2.0\db_1\BIN\exp.exe file=e:\erp_%date:~0,10%.dmp userid=mymgr/mymgr  owner=mymgr log=e:\log\erp_%date:~0,10%.log
    "C:\Program Files\WinRAR\rar.exe" a e:\erp_%date:~0,10%.rar e:\erp_%date:~0,10%.dmp >>e:\log\erp_%date:~0,10%.log
    del e:\erp_%date:~0,10%.dmp >>e:\log\erp_%date:~0,10%.log
    echo end exp time:%date% %time% >>e:\log\erp_%date:~0,10%.log第一行,调用exp.exe执行备份,并记录备份过程
    第三行,执行压缩,并记录压缩过程
    第五行,删除备份文件
    第六行,记录结束时间.
    本来记录开始时间了,可是一调用 log=e:\log\erp_%date:~0,10%.log,就把开始时间给冲了,这个没能解决.