首先声明,在网上有不少类似的东西,但我是菜鸟。
要求:
1、每天凌晨03:00自动备份到/home/backup下,只保留五个备份文件在硬盘上,然后把最新的备份文件拷备到磁带机上,磁带机:st0。
2、备份的文件名能自动根据当前时间来标明。
3、数据库用户名:wygr,密码:wygr,SID:orcl,linux系统,oralce10gR2,liunx用户:root,123456,或者:oracle,abc,最好用oralce这个用户操作。
4、另外我也不知道在linux中该把脚本文件放到什么地方。请大侠们不吝赐教,先谢了!

解决方案 »

  1.   

    自动备份是可以做到的,你可以把你的oracle数据库设为归档模式,而自动把备份文件拷到磁带机上大概就要在linux上写个脚本,然后linux的计划任务执行它。至于归档模式怎么设?你要自己找找了……三言两语说不清!
      

  2.   

    我想用exp逻辑备份一个就可以,可以不用归档模式
      

  3.   

    exp逻辑备份需要停server, 归档模式不需要, 而且更简单
      

  4.   


    如果是我的话,可能会通过以下思路完成:
    exp数据库到/home/backup/tmp下
    获取文件名
    tar 备份文件到/home/backup 
    cp  tar.gz文件到磁带机。脚本编写完以后加入crontab即定时执行。
      

  5.   

    我参照网上写的脚本:
    -------第1步:创建备份脚本,脚本起名为 backup.sh,放到 /home/backupscript/ 下面。
    # Script for backup oracle database# File Name backup.shORACLE_HOME=/home/oracle/10gR2/db;Export ORACLE_HOME;ORACLE_SID=orcl;Export ORACLE_SID;
    # get the date string rm -rf /home/backup/*.* rq=' date +"%y%m%d"'/u01/oracle/oraclehome/bin/exp wygr/wygr file=/home/backup/orclbackup$rq.dmplog=/home/backup/orclbackuplog$rq.log# End of script file授可执行权限权给backup.sh
    chmod 755 backup.sh在终端中可以执行backup.sh并且可以产生备份文件。我新建了一个timeexce.sh的文件,内容:
    10 15 * * * /home/backupscript/backup.sh
    我用oracle用户登录在终端中执行:
    crontab -i /home/backupscript/timeexce.sh
    然后执行:
    crontab -l
    显示:
    10 15 * * * /home/backupscript/backup.sh
    我感觉是添加成功了。但是到15:10时没有执行。还有一点,我的linux 是零基础。以上的都是照猫画虎,不知道哪里画错了。请大侠们继续。
      

  6.   

    我找到了mail,说明还是执行了。
    x-cron-env:<shell=/bin/sh>
    x-cron-env:<home=/home/oracle>
    x-cron-env:<path=/usr/bin:/bin>
    x-cron-env:<logname=oracle>
    x-cron-env:<user=oracle>message 206 not found;no message file for product=rdbms,facility=exp:release 10.2.0.1.0 -
    production on wed may 21 15:10:01 2008copyright (c) 1982,2005,oracinvalid format of export utility name
    verify that oracle_home is properly set
    export terminated unsuccessfully
    exp-00000:message 0 not found;no message file for produxt=rdbms,facility=exp