最近领导交给了一个任务请各位帮忙啊!我们用一个中间件往数据库中读取数据,是实时的,数量很大。现在想在数据表中只保存最近3天的数据,以前的数据全部删掉并进行备份,存放在磁盘上,请各位教下我该怎么做,我是新手,希望能够详细一些,谢谢啦

解决方案 »

  1.   

    如果是windows的话,计划任务中调用一个批处理
    批处理的内容大概可以写成这样。
    XXXX.bat
    exp 用户名/密码@ServiceName file=路径+文件名 tables=(tab1,tab2...tabN)
    sqlplus 用户名/密码@ServiceName @sh.txtsh.txt的内容
    delete from tab1 where 创建时间 < sysdate-3;
    delete from tab2 where 创建时间 < sysdate-3;
    ... ... ... ...;
    delete from tabN where 创建时间 < sysdate-3;
    commit;
    exit;
      

  2.   

    XXXX.bat和sh.txt  是放在那个目录下,是同一个目录下吗?