美文网首页
Oracle数据库使用rman物理备份

Oracle数据库使用rman物理备份

作者: 夜半雨1 | 来源:发表于2019-04-20 09:31 被阅读0次

一、 准备备份脚本

1、备份脚本文件rmanfull.bak,存放目录/home/oracle/scripts
connect target / ;

run{
   crosscheck archivelog all;
   delete expired archivelog all;
   backup as compressed backupset database format '/home/oracle/dbbackup/wldb_db_%T_%s' filesperset 5;
   sql 'alter system archive log current';

   backup as compressed backupset archivelog all format '/home/oracle/dbbackup/wldb_arch_%T_%s' delete input;

   backup current controlfile format '/home/oracle/dbbackup/dbbackup_cntl_%T_%s';
   delete noprompt obsolete;
   delete noprompt expired backup;
}

exit;

备注:备份文件存放目录/home/oracle/dbbackup
wldb_db_%T_%s、wldb_arch_%T_%s 请根据自身情况重命名
%T表示日期
%s表示总秒数

2、执行备份的脚本文件Fullbackrman.sh,存放目录/home/oracle/scripts

#!/bin/bash

export ORACLE_SID=wldb
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin

rman cmdfile=/home/oracle/scripts/rmanfull.bak log=/home/oracle/scripts/log/rman_`date +%Y%m%d`.log

if [ $? -eq 0 ] then
    echo "rman run successfull"
else
    echo "rman run failed"
fi

备注:ORACLE_SID、ORACLE_BASE、ORACLE_HOME,请根据实际情况修改
日志文件存放在/home/oracle/scripts/log/目录

二、修改备份策略

1、在oracle用户下修改备份策略,保留3次的备份集合

[root@oracle-backup scripts]# su – oracle

[oracle@oracle-backup ~]$ rman target /

RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

2、查看rman备份策略,在rman下执行show all;命令。

[root@oracle-backup scripts]# su – oracle

[oracle@oracle-backup ~]$ rman target /

RMAN> show all;

结果如图所示:


ip_image006.jpeg

3、制定定时任务,每天凌晨1点10分备份

vi /etc/crontab
10 1 * * * /home/oracle/scripts/Fullbackrman.sh >/tmp/Fullbackrman.log 2>&1 &

三、 附
归档日志删除脚本
解释:归档日志会不断的增加,所以需要进行定期清理

1、删除归档日志命令文件ArchBack.rman

connect target / ;
run{
  #allocate channel t1 type disk;
  #allocate channel t2 type disk;
  crosscheck archivelog all;
  delete noprompt archivelog all completed before 'sysdate -1/48';
  #release channel t1;
  #release channel t2;
}
exit;

备注:crosscheck archivelog all;的作用就是检查控制文件和实际物理文件的差别。
delete noprompt archivelog all completed before 'sysdate -1/48'; 删除半小时前的归档日志。
sysdate -1/48 减半小时

2、清除归档日志脚本文件delarchivelog.sh

#!/bin/sh
#--------------------------------------------------
# We backup the database with RMAN and using nocatalog 
# So we must Record the DBID must first
#
# set DBID=2176833531
# The backup RETENTION POLICY TO REDUNDANCY 7
# The CONTROLFILE AUTOBACKUP OFF
#--------------------------------------------------
PATH=$PATH:/home/oracle/scripts ; export PATH
BK_STATUS=/home/oracle/scripts/log/BK_STATUS ; export BK_STATUS
MSG_LOG=/home/oracle/scripts/log/joblog_`date +%Y%m`.log ;export MSG_LOG
JOBNAME=Rman_Backup; export JOBNAME

RMAN_LOG=/home/oracle/scripts/log/rmanlog_`date +%Y%m%d`.log

ORACLE_SID=wldb; export ORACLE_SID
ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle/product/11.2.0/dbhome_1; export ORACLE_HOME

PATH=$PATH:$ORACLE_HOME/bin; export PATH
Date_Num=`date +%u`

MSG_JOB S

rman cmdfile=/home/oracle/scripts/ArchBack.rman append log=/home/oracle/scripts/log/rmanlog_`date +%Y%m%d`.log
if [ $? -eq 0 ]
then
  MSG_JOB I 'Rman delete archivelog Finish'
  export SUBJECT="Rman Run Result"
else
  MSG_JOB I 'Rman delete archivelog Error'
  export SUBJECT="Rman Run failure"
  MYMAIL "ALL" "$RMAN_LOG"
fi

MSG_JOB N
# Crosscheck Backup -----------------------------------------------#

#rman cmdfile=/home/oracle/scripts/Crosscheck.rman append log=/home/oracle/scripts/log/rmanlog_`date +%Y%m%d`.log

# Send Mail to DBA ------------------------------------------------#
#export SUBJECT "RMAN Run Result"
#MYMAIL "ALL" "$RMAN_LOG"

备注:ORACLE_SID、ORACLE_BASE、ORACLE_HOME,请根据实际情况修改

|

相关文章

  • PostgreSQL使用PG_Rman进行物理备份

    背景 在Oracle下我们可以使用rman进行物理备份,支持数据库的全量、增量、归档的备份模式而PostgreSQ...

  • Oracle数据库使用rman物理备份

    一、 准备备份脚本 1、备份脚本文件rmanfull.bak,存放目录/home/oracle/scripts 备...

  • Oracle-RMAN 使用详解

    RMAN 使用详解 一、连接方式 (一)、连接本地数据库 [oracle@oracle ~]$ rman targ...

  • 第三步:oracle-备份与恢复

    oracle数据库可用的备份工具有很多,官方的比较靠谱呀,尤其是RMAN接下来就是RMAN相关使用 适用前提是必须...

  • Oracle 11g R2 Rman备份与恢复

    Oracle 11g R2 Rman备份 备份与恢复的定义及分类 备份的定义及分类: 备份就是把数据库复制到转储...

  • Oracle数据库rman备份

    命令行备份: 脚本备份: 直接拷贝文件进行备份:

  • rman cross check命令分析

    RMAN下CROSSCHECK命令详解 - Oracle数据库栏目 - 红黑联盟 RMAN下CROSSCHECK命...

  • RMAN 备份 出错 RMAN-08132

    ORACLE RAC RMAN 备份报rman-08132 此错误说明控制文件快照没有放在共享存储上 查看后发现确...

  • RMAN笔记

    1. 连接RMAN 2. 配置RMAN参数 3. 配置RMAN脱机备份 4. 配置RMAN联机备份 开启归档 备份...

  • Oracle数据库概述

    Oracle数据库的物理结构 物理组件就是Oracle数据库所使用的操作系统物理文件。物理文件可分为三类: 物理组...

网友评论

      本文标题:Oracle数据库使用rman物理备份

      本文链接:https://www.haomeiwen.com/subject/zwfkgqtx.html