Linux服务器下oracle实现rman自动备份的方式

 更新时间:2024年11月17日 11:11:15   作者:TPCloud  
为确保oracle数据库数据的安全和一致性,一般我们都需要利用备份手段进行数据库的备份,在oracle数据库中,rman因其强大的功能和完善的手段,成为数据库备份的首选,故以下通过两种方式配置脚本,实现rman自动备份,需要的朋友可以参考下

一、概述

为确保oracle数据库数据的安全和一致性,一般我们都需要利用备份手段进行数据库的备份。在oracle数据库中,rman因其强大的功能和完善的手段,成为数据库备份的首选。Linux服务器中,要实现自动脚本备份,一般都是通过root用户设置crond定时任务执行脚本完成(oracle用户执行调取的涉及到环境变量等配置问题,弄起来更麻烦),故以下通过两种方式配置脚本,实现rman自动备份。

二、脚本实现

2.1,rman备份脚本编写

2.1.1,数据文件备份

此处我分配4个本地通道进行备份,通道指定备份路径(自己挂载的备份盘)。具体备份语句如下:

run{
    allocate channel c1 type disk format '/backup/hpdb_%d_DB_%u_%T';
    allocate channel c2 type disk format '/backup/hpdb_%d_DB_%u_%T';
    allocate channel c3 type disk format '/backup/hpdb_%d_DB_%u_%T';
    allocate channel c4 type disk format '/backup/hpdb_%d_DB_%u_%T';
    sql 'alter system archive log current';
    backup full (database include current controlfile);
    release channel c1;
    release channel c2;
    release channel c3;
    release channel c4;
}

2.1.2,归档日志文件备份

归档日志备份时,为避免有时候人工删除文件导致备份失败,我们每次备份进行crosscheck,确保备份成功,且对备份成功的归档日志文件进行删除,确保目录空间不被撑满,具体如下:

crosscheck archivelog all;
run{
    allocate channel c1 type disk format '/backup/arch_%d_DB_%u_%T';
    allocate channel c2 type disk format '/backup/arch_%d_DB_%u_%T';
    allocate channel c3 type disk format '/backup/arch_%d_DB_%u_%T';
    sql 'alter system archive log current';
    backup (archivelog all delete input);
    release channel c1;
    release channel c2;
    release channel c3;
}

2.2,任务脚本编写

任务脚本我们可以有两种方式进行编写,具体如下:

2.2.1,方式一

find /backup -type f -mtime +5 | xargs rm -f 
su - oracle -c "rman target / cmdfile=/home/oracle/backup/backup.sh msglog=/home/oracle/backup/rman.log"

2.1.2,方式二

第二种方式我们可以通过全脚本的形式写入到内部进行

su - oracle -c "rman target / << !EOF
run{
    allocate channel c1 type disk format '/backup/hpdb_%d_DB_%u_%T';
    allocate channel c2 type disk format '/backup/hpdb_%d_DB_%u_%T';
    allocate channel c3 type disk format '/backup/hpdb_%d_DB_%u_%T';
    allocate channel c4 type disk format '/backup/hpdb_%d_DB_%u_%T';
    sql 'alter system archive log current';
    backup full (database include current controlfile);
    release channel c1;
    release channel c2;
    release channel c3;
    release channel c4;
}
quit
!EOF
"

三、配置定时任务

我们配置每天晚上10点进行相应的备份任务,进行crond配置如下:

crontab -e
00 22 * * * sh /home/oracle/backupcrond.sh

到此这篇关于Linux服务器下oracle实现rman自动备份的方式的文章就介绍到这了,更多相关Linux oracle rman自动备份内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Oracle数据库存储过程的调试过程

    Oracle数据库存储过程的调试过程

    oracle如果存储过程比较复杂,我们要定位到错误就比较困难,那么我们就可以用存储过程的调试功能,下面这篇文章主要给大家介绍了关于Oracle数据库存储过程调试的相关资料,需要的朋友可以参考下
    2022-07-07
  • oracle 中 sqlplus命令大全

    oracle 中 sqlplus命令大全

    Oracle的sql*plus是与oracle数据库进行交互的客户端工具,借助sql*plus可以查看、修改数据库记录。接下来通过本文给大家介绍oracle中sqlplus命令知识,非常不错,感兴趣的朋友一起看看吧
    2016-09-09
  • Oracle expdp/impdp 及 exp/imp 命令详解

    Oracle expdp/impdp 及 exp/imp 命令详解

    使用Oracle数据库的过程中会经常对数据进行导入导出,Oracle 数据库提供 expdp / impdp (Data Pump,数据泵)以及 exp / imp 两种工具进行数据的导入导出,可以对数据库进行逻辑备份,这篇文章主要介绍了Oracle expdp/impdp 及 exp/imp 命令详解,需要的朋友可以参考下
    2024-07-07
  • Oracle连接出现ora-12154无法解析指定的连接标识符

    Oracle连接出现ora-12154无法解析指定的连接标识符

    这篇文章主要介绍了Oracle连接出现ora-12154无法解析指定的连接标识符,需要的朋友可以参考下
    2017-03-03
  • oracle如何使用java source调用外部程序

    oracle如何使用java source调用外部程序

    这篇文章主要为大家介绍了oracle如何使用java source调用外部程序,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • oracle正则表达式多项匹配时相似项有优先级详解

    oracle正则表达式多项匹配时相似项有优先级详解

    这篇文章主要给大家介绍了关于oracle正则表达式多项匹配时相似项有优先级的相关资料,Oracle中使用正则表达式需先使用REGEXP_LIKE函数来匹配字符串,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • Oracle数据泵的导入与导出实例详解

    Oracle数据泵的导入与导出实例详解

    这篇文章主要给大家介绍了关于Oracle数据泵的导入与导出的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Oracle 跨库 查询 复制表数据 分布式查询介绍

    Oracle 跨库 查询 复制表数据 分布式查询介绍

    这篇文章主要介绍了Oracle 跨库 查询 复制表数据 分布式查询的相关资料,需要的朋友可以参考下
    2014-10-10
  • Linux中Oracle安装后bash: sqlplus: command not found问题解决方法

    Linux中Oracle安装后bash: sqlplus: command not found问题解决方法

    这篇文章主要给大家介绍了关于Linux中Oracle安装后bash: sqlplus: command not found问题的解决方法,这是因为你的系统中没有安装Oracle数据库客户端或者其可执行文件路径未配置到,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-06-06
  • oracle基本查询用法入门示例

    oracle基本查询用法入门示例

    这篇文章主要介绍了oracle基本查询用法,结合简单示例形式分析了oracle数据库常见查询语句基本语法与相关使用技巧,需要的朋友可以参考下
    2020-02-02

最新评论