我想将:exp xsc/xsc@orcl file=c:\xsc.dmp 这条DOS下的备份命令,做成一个ORACLE下的定时作业,定时在每天0:00执行,需要的是最直接的命令方式,请帮忙!

解决方案 »

  1.   

    sysroger(roger):这个方法我知道,但我备份的数据表用户是可变的,不能每增加一个表用户就去修改批处理文件,况且程序在用户那儿,我的最终目的是根据系统中的表用户自动生成定时备份.
      

  2.   

    oracle作业执行的是存储过程,
    而你的要求是把命令行文件放到作业里,是不行的,
    就你的要求,可以变通一下,用sqlplus脚本和批处理文件结合起来,
    1.操作系统定时执行批处理文件,
    2.该批处理文件每次在倒数据前先登录数据查询有关参数信息,并导出参数文件
    3.批处理文件以该参数文件为参数导出数据
    ......
      

  3.   

    njhart2003() :将命令行放在作业里是可以的,我在ORACLE ENTERPRISE MANAGER 中可以实现,只是我不知道具体的SQL命令写法而已,论坛上找到的都是针对存储过程的,其实有一种方法是将DOS命令放在存储过程中的,这个方法也不好.
      

  4.   

    jsxd:“将命令行放在作业里是可以的”?!我试过的,不行啊,楼主不仿举简单例子教教我。
      

  5.   

    njhart2003() :是可以的,我想您的错误可能发生在首选项身份证明:应该填上windows系统用户帐号,当然可以是administrator
      

  6.   

    我今天主要是手边没有详细的作业命令手册,看来要买一本命令大全之类的书了,以前一直用sqlserver,接触oracle才几个月,总体感觉sqlserver比较容易上手易懂
      

  7.   

    我做的备份:
    平台:oracle9i+windows2000 server
    每天凌晨2点自动备份所有用户数据
    1.建立脚本:具体的操作
    .sql文件
    2.建立exp.bat
    3.taskmanager:必须选择具有管理员权限的windows帐户,运行exp.bat
      

  8.   

    rolandzhang() ,能写具体的点的步骤和例子吗, 
    搞定后另开贴给分
      

  9.   

    写一个bat:
      exp user/psw@service owner=user file=e:\db.dmp log=e:\bak.log然后把这个bat从控制面版添加到计划任务中,时间由你自己设置,很方便的的啊