请问怎样让ORACLE按某一时间频率导出一批数据库表数据?
比如每个星期一导出表A,B,C,D,E,五个表?
看到exp有批量导出表,但按时间频率怎么做?

解决方案 »

  1.   

    使用job或者schedule
    begin
    dbms_scheduler.create_job
    (
    job_name => 'exp1',
    job_type => 'EXECUTABLE',
    job_action => '路径exp user/pw file=xx.dmp tables=(a,b,c,d)',
    repeat_interval => 'FREQ = WEEKLY; BYDAY=MON;INTERVAL = 1',
    enabled => true,
    auto_drop => true,
    comments => 'exp job'
    );
    end;
    /--job
    在操作系统上设置一个任务,调用exp导出命令文件.
      

  2.   

    利用Windows的定时计划任务可实现,将导出命令放到.bat文件中,如周一导出monday.bat
    exp scott/tiger file=monday.dmp log=monday.log tables=a,b,c,d,e周二导出
    tuesday.bat
    exp scott/tiger file=tuesday.dmp log=tuesday.log tables=h,i,j,k,l等等.
      

  3.   

    在操作系统上定义个计划任务最简单。使用1楼的方法要注意,exp如果要在sql环境中实行,必须加上host 或者! 比如 host exp
      

  4.   

    请问,这里的路径指的是什么?
    还有,这样导出的xx.dmp文件是存放在服务器的什么位置?
    如果想要保存在客户端应该怎样设置?