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

embedded/2024/11/17 3:24:03/

一、概述

    为确保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

    至此定时备份任务配置完成。


http://www.ppmy.cn/embedded/138159.html

相关文章

gitHub常用操作

gitHub常用操作 1、把项目拉下来2、添加上游仓库3、进入分支4、从上游仓库拉取更新 1、把项目拉下来 在对应项目的右上角点击fork&#xff0c;fork下来&#xff1a;将远程仓库复制到个人仓库 在创建好的分支文件夹下使用 git clone自己远程仓库下的http地址&#xff08;fork…

【Linux】Ubuntu中muduo库的编译环境安装

Muduo is a multithreaded C network library based on the reactor pattern. muduo库的介绍就是&#xff1a;一个基于reactor反应堆模型的多线程C网络库。 muduo网络库是C语言开发的一个非常优秀的网络库&#xff0c;作者陈硕&#xff0c;muduo网络库在多线程环境下性能非常高…

c++写一个死锁并且自己解锁

刷算法题&#xff1a; 第一遍&#xff1a;1.看5分钟&#xff0c;没思路看题解 2.通过题解改进自己的解法&#xff0c;并且要写每行的注释以及自己的思路。 3.思考自己做到了题解的哪一步&#xff0c;下次怎么才能做对(总结方法) 4.整理到自己的自媒体平台。 5.再刷重复的类…

【eNSP】企业网络架构实验——vlan间的路由通信(三)

VLAN间的路由是指不同VLAN之间的通信&#xff0c;通常VLAN是用来分割网络流量和提高网络安全性的。 一、VLAN 1. 什么是VLAN&#xff1f; VLAN&#xff0c;全称是虚拟局域网&#xff08;Virtual Local Area Network&#xff09;&#xff0c;是一种将物理局域网&#xff08;LA…

Python爬虫学习路线精简大纲!!!

Python爬虫学习路线精简版&#xff1a; python爬虫最新课程资料&#xff1a;https://kakatu.top/m?sdata 一、基础阶段 Python语言基础&#xff1a;学习Python的基本语法、数据类型、控制结构、函数等&#xff0c;这是编写爬虫脚本的基础。 网页基础知识&#xff1a;了解HTM…

三、计算机视觉_01图像的基本操作

0 前言 图像的读取和处理是计算机视觉领域中的一个基本任务&#xff0c;在Python中&#xff0c;有几个流行的库可以用来读取和处理图像数据 0.1 Matplotlib介绍 Matplotlib是Python中一个非常流行的绘图库&#xff0c;它通常用于数据可视化&#xff0c;虽然它不是专门的图像…

常用List工具类(取交集、并集等等)

支持操作&#xff1a; 根据指定字段&#xff0c;获取两个对象集合的交集、补集、并集等将对象中的多个字段值&#xff0c;抽取到一个List中 import java.lang.reflect.Field; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.function…

Linux通过端口号找到程序启动路径(Ubuntu20)

通过端口号找到程序启动路径步骤 端口号: 10020 1. 通过端口找PID 这里常用的有两种命令都可以 lsof(list open files) 和 netstat( Network Statistics) 方式一: lsof -i :10020 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 1178 root 119u IPv…