导出到txt,简单点用sqlplus 的spool。
目录操作可以用UTL_FILE包。

解决方案 »

  1.   

    oracle可以在directory中实现这个功能
    但是你的做法反过来会更好,即,用shell来执行存储过程,而不是用存储过程调用shell
    操作系统中可以设置定时任务,比oracle的job更加稳定
      

  2.   


    将导出 写到 aix的shell中,然后  linux的 crontab  定时任务去执行。 具体可以搜一下 crontab 的语法。 
      

  3.   

    你好,请问为什么操作系统设置定时任务比oracle的job更稳定呢?
      

  4.   

    ORACLE 10g 以上可以执行,但是建议使用 crontab
      

  5.   


    将导出 写到 aix的shell中,然后  linux的 crontab  定时任务去执行。 具体可以搜一下 crontab 的语法。 
    将导出 写到 aix的shell中,然后  linux的 crontab  定时任务去执行。 具体可以搜一下 crontab 的语法。 你好,能给我个shell的例子吗?新建当天日期命名的目录,导出表里数据。删除昨天目录。我不太懂啊
      

  6.   

    用什么呢?为何用crontab更好?
      

  7.   

    给你一个大概思路吧 。 你自己需要去改造
    创建一个back.sql vi /mnt/back.sql
    =============文件内容开始===========================spool mnt/xx.txt(这里存在问题,如何放在对应日期的文件中)
    select t.bdz_id,t.bianma,t.mingzi from ms_biandianzhanaaa t;
    spool off
    exit
    =============文件内容结束===========================创建一个back.sh
    vi /mnt/back.sh=============文件内容开始===========================
    #!/bin/sh
    export ORACLE_SID=orcl
    export ORACLE_HOME=/oracle/product/11.2.0/db_1
    FILEDATE=`date +%Y%m%d`
    FILEDATE2=`date +%Y%m%d -d '1 days ago'`mkdir -p /mnt/$FILEDATE
    rm -rf  /mnt/$FILEDATE2
    sqlplus user/pwd@orcl  @/mnt/back.sqlrem shopping创建完毕
    exit=============文件内容结束===========================chmod +x /mnt/back.shcrontab -e 0 12 * * * /mnt/back.sh
      

  8.   

    用什么呢?为何用crontab更好?#7 的例子,就很具有代表性。至于说,为什么 crontab 比 job(scheduler)好,这个更多的时候是个人的习惯:
    1.  9i 以前的版本,只能使用 job ,它不能调用 OS 命令,10g 开始就可以调用 OS 命令,其实还是 shell ;
    2. 要单独的使用 utl_file 的话,你得配置 directory ,无形中又多一个步骤;
    3. job 这个东西,会不定的变成 breaken,你翻一下论坛,这样的例子不算少,问题比较难查找,当然了,你是高手的话,可以忽略这条);
      

  9.   

    一般来说,越底层的越稳定。job依托于数据库的运行,这就增加了出错的可能性
      

  10.   


    job 好像 有的时候 容易失效,就像如果表结构有变动,job就有可能失效了。需要重新编译
      

  11.   

    用什么呢?为何用crontab更好?#7 的例子,就很具有代表性。至于说,为什么 crontab 比 job(scheduler)好,这个更多的时候是个人的习惯:
    1.  9i 以前的版本,只能使用 job ,它不能调用 OS 命令,10g 开始就可以调用 OS 命令,其实还是 shell ;
    2. 要单独的使用 utl_file 的话,你得配置 directory ,无形中又多一个步骤;
    3. job 这个东西,会不定的变成 breaken,你翻一下论坛,这样的例子不算少,问题比较难查找,当然了,你是高手的话,可以忽略这条);谢谢!