rman备份与脚本

1. 建立rman表空间

SQL> create tablespace rman

 logging datafile '/u01/app/oracle/oradata/TBDB/rman.dbf'  size 1024M

 extent management local segment space  management auto;

 


2.创建rman备份账号

create user rman identified by rman default  tablespace rman;

grant connect,resource to rman;

grant recovery_catalog_owner to rman;

grant unlimited tablespace to rman;

grant sysdba to rman;


3.建立catalog数据库及注册数据库

rman catalog rman/rman

RMAN> create catalog tablespace  "RMAN";

RMAN> exit

  

  注: 需启动连接器,node222 为客户端连接服务器的标识符

rman target sys/oracle@node222 catalog rman/rman@node222

connected to target database: NODE222 (DBID=3694045568)
connected to recovery catalog database

RMAN> register database;

database registered in recovery catalog
starting full resync of recovery catalog
full resync complete


4.rman环境设置

   1) 设置保留30天的备份信息

   2)启用控制文件自动备份及备份存放位置配置

RMAN> configure retention policy to  recovery window of 30 days;

RMAN> configure controlfile autobackup  on;


5.查看配置信息

RMAN>show all;


6.备份策略

  每日0000进行一次全库备份 系统自动清除30天以前的备份信息

 

7. 创建备份必要目录(oracle身份创建)

mkdir /u01/app/oracle/backup

cd /u01/app/oracle/backup

mkdir controlfileback 存放备份的控制文件

mkdir dbback        存放备份的数据文件

mkdir log           存放备份生成的日志,坚持该日志查看备份是否成功

mkdir logback       存放归档日志文件

 


8. 备份脚本 cat /u01/app/oracle/backup/script/dbback.sh

#!/bin/bash

#this is rman auto full backup script

# Copyright by terrytsang

 

ORACLE_HOME=/u01/app/oracle/product/11.2.0/db1

NLS_LANG=AMERICAN_AMERICA.AL32UTF8

LD_LIBRARY_PATH=$ORACLE_HOME/lib

ORACLE_BASE=/u01/app/oracle

ORACLE_SID=TBDB

export ORACLE_HOME  LD_LIBRARY_PATH NLS_LANG ORACLE_BASE  ORACLE_SID

 

 

backtime=`date +"20%y%m%d%H%M%S"` 

cd $ORACLE_HOME/bin

rman target / catalog rman/rman log=/u01/app/oracle/backup/log/backupall_$backtime.log  <<EOF

run{

   allocate channel c1 device type disk;

   allocate channel c2 device type disk;

   allocate channel c3 device type disk;

   allocate channel c4 device type disk;

   allocate channel c5 device type disk;

   crosscheck backup;

 

   sql 'alter system archive log current';

     backup database format '/u01/app/oracle/backup/dbback/db_%d_%T_%U';

   sql 'alter system archive log current';

     backup archivelog all format '/u01/app/oracle/backup/logback/arc_%t_%s'  delete all input; 

     backup current controlfile format '/u01/app/oracle/backup/controlfileback/cntrl_%s_%p_%s'; 

   crosscheck archivelog all;

 

  delete  noprompt expired backup;

  delete  noprompt obsolete;

  delete  noprompt backup of database completed before 'sysdate - 30';

  release  channel c1;

   release channel c2;

   release channel c3;

   release channel c4;

   release channel c5;

}

EOF

echo "backup complete!"


9. 定义备份时间间隔

crontab 0 0 * * * /u01/app/oracle/backup/script/dbback.sh  2>&1 >/dev/null

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Terry_Tsang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值