技术开发 频道

用Linux完成Oracle自动物理备份

    【IT168 技术文档】本文的目标是通过执行一Shell脚本来完成Oracle数据库自动备份的全过程,而且能够在当前目录下生成其压缩文件。具体实现步骤如下:  

    1.以Oracle用户身份登录到Linux系统下。  

    2.建立database.srcipt文件,以便生成备份数据库的一些参数信息并保存在文件database.parm中。  

    这些信息对于以后恢复数据库具有重要的参考作用,所以在物理备份的过程中,需要保存这些信息,也可以把其他一些重要的信息写在这个脚本里。  

    $vi database.srcipt

    spool database.parm

    --这是当前备份数据库的系统参数列表

    select * from v$parameter;

    --这是当前备份数据库的字符集部分参数

    select * from props$;

    --这是当前备份数据库数据文件存储位置及名称

    select * from v$datafile;

    --这是当前备份数据库控制文件存储位置及名称

    select * from v$controlfile;

    --这是当前备份数据库日志文件存储位置及名称

    select * from v$logfile;

    --可以在这里添加其他一些重要信息

    --开始生成备份shell文件,可参考backup.sh

    spool off

    spool backup.sh

    select 'cp '||name || ' backup/' from v$datafile ;

    select 'cp '||name || ' backup/' from v$controlfile ;

    select 'cp '||member || ' backup/' from v$logfile;

    spool off

    shutdown immediate

    exit

    !

    3.修改上一步中生成的backup.sh文件,并执行它来完成数据库文件的操作系统备份。为清晰起见,将这段脚本命名为文件alterbackup.sh。  

    $vi alterbackup.sh

    echo “该脚本完成把数据库数据文件、控制文件、日志文件的复制到当前目录的过程”

    cat backup.sh|grep ‘cp /’>c.sh

    #该语句把backup.sh中所有以“cp /”开头的语句提取出来生成新的文件c.sh

    rm backup.sh

    mv c.sh backup.sh

    chmod +x backup.sh

    . backup.sh

    #注意:点号“.”与backup.sh之间有一空格  

    4.建立数据库启动脚本,以便完成备份之后启动数据库,将这段脚本命名为startup.script。 

    $vi startup.script

    spool StartStatus.readme

    --开始启动数据库

     

0
相关文章