使用catalog与不使用catalog的rman备份方法

本文详细介绍了如何使用 Oracle RMAN 进行数据库备份,包括通过恢复目录和不使用恢复目录两种方式。涵盖创建备份目录、配置 TNS 名称、注册数据库、编写备份脚本等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用catalog的备份方法

一、在恢复目录数据库上执行的操作:

create tablespace rmants datafile '/home/oracle/oradata/rman/rmants.dbf' size 50M;

create user rman identified by rman default tablespace rmants temporary tablespace temp quota unlimited on rmants;

grant recovery_catalog_owner,connect,resource to rman ;

rman catalog rman/rman

create catalog tablespace "RMANTS";

 

二、在备份的目标数据库上的tnsname.ora中增加恢复目录数据库的连接配置

vi tnsname.ora

rman =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = rman)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = rman)

    )

  )

 

三、在备份的目标数据库上执行如下操作进行目标数据库注册到恢复目录数据库:

rman target / catalog rman/rman@rman

register database;

 

四、在备份的目标数据库上制定备份脚本

mkdir -p /home/oracle/rmanbak/databak

mkdir -p /home/oracle/rmanbak/archbak      

vi /home/oracle/rmanbak/fulbackup.sh

export ORACLE_BASE=/home/oracle

export ORACLE_HOME=/home/oracle/product/10.2.0/db_1

export ORACLE_SID=wlvm

export NLS_LANG='Simplified Chinese_China.UTF8'

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

export PATH=$PATH:$ORACLE_HOME/bin

cd /home/oracle/rmanbak/databak

find . -user ora -mtime +7 -exec rm -f {} /;

cd /home/oracle/rmanbak/archbak

find . -user ora -mtime +7 -exec rm -f {} /;

rman target / catalog rman/rman@rman cmdfile=/home/oracle/rmanbak/backupdatabase log='/home/oracle/rmanbak/databak/backupdatabase.log'

 

五、制定rman中备份脚本backupdatabase

RUN{

ALLOCATE CHANNEL c1 TYPE disk;

ALLOCATE CHANNEL c2 TYPE disk;

ALLOCATE CHANNEL c3 TYPE disk;

BACKUP FULL DATABASE

TAG 'FULL_DB_BACKUP_GDLIS'

FILESPERSET 3

FORMAT '/home/oracle/rmanbackup/databak/%T_%U.dbf'

INCLUDE CURRENT CONTROLFILE

PLUS ARCHIVELOG format '/home/oracle/rmanbackup/archbak/%T_%U.arc'

DELETE INPUT;

RELEASE CHANNEL c1;

RELEASE CHANNEL c2;

RELEASE CHANNEL c3;

}

 

六、制定备份计划

01 01 * * * sh /home/oracle/rmanbak/fulbackup.sh

 

以上是对数据库使用了恢复目录来进行rman的全备的,下面还有种方法是不通过恢复目录数据库进行rman的全备,不需要额外的数据库,

但该种方法使用比较简单,但恢复相对比较困难

一、在备份数据库上制定数据库全备rman备份脚本

mkdir -p /home/oracle/rmanbak/databak

mkdir -p /home/oracle/rmanbak/archbak

mkdir -p /home/oracle/rmanbackup/ctlbak

vi /home/oracle/rmanbak/backupdatabase

RUN{

ALLOCATE CHANNEL c1 TYPE disk;

ALLOCATE CHANNEL c2 TYPE disk;

ALLOCATE CHANNEL c3 TYPE disk;

BACKUP FULL DATABASE

TAG 'FULL_DB_BACKUP_GDLIS'

FILESPERSET 3

FORMAT '/home/oracle/rmanbackup/databak/%T_%U.dbf'

INCLUDE CURRENT CONTROLFILE

PLUS ARCHIVELOG format '/home/oracle/rmanbackup/archbak/%T_%U.arc'

DELETE INPUT;

RELEASE CHANNEL c1;

RELEASE CHANNEL c2;

RELEASE CHANNEL c3;

}

 

二、制定备份归档日志文件和控制文件的rman备份脚本

vi /home/oracle/rmanbak/arcctl

RUN{

ALLOCATE CHANNEL c1 TYPE disk;

ALLOCATE CHANNEL c2 TYPE disk;

ALLOCATE CHANNEL c3 TYPE disk;

BACKUP ARCHIVELOG ALL

FORMAT '/home/oracle/rmanbackup/ctlbak/%T_%U.arc'

DELETE INPUT;

backup as copy current controlfile format '/home/oracle/rmanbackup/ctlbak/ctl_%d_%T_%s.ctl';

RELEASE CHANNEL c1;

RELEASE CHANNEL c2;

RELEASE CHANNEL c3;

}

 

三、制定全备数据库备份脚本

vi /home/oracle/rmanbak/fulbackup.sh

export ORACLE_BASE=/home/oracle

export ORACLE_HOME=/home/oracle/product/10.2.0/db_1

export ORACLE_SID=wlvm

export NLS_LANG='Simplified Chinese_China.UTF8'

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

export PATH=$PATH:$ORACLE_HOME/bin

cd /home/oracle/rmanbak/databak

find . -user ora -mtime +7 -exec rm -f {} /;

cd /home/oracle/rmanbak/archbak

find . -user ora -mtime +7 -exec rm -f {} /;

rman target / nocatalog  cmdfile=/home/oracle/rmanbak/backupdatabase log='/home/oracle/rmanbak/databak/backupdatabase.log'

 

四、制定归档日志和控制文件备份脚本

vi /home/oracle/rmanbak/arcctlbak.sh

export ORACLE_BASE=/home/oracle

export ORACLE_HOME=/home/oracle/product/10.2.0/db_1

export ORACLE_SID=wlvm

export NLS_LANG='Simplified Chinese_China.UTF8'

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

export PATH=$PATH:$ORACLE_HOME/bin

cd /home/oracle/rmanbak/ctlbak

find . -user ora -mtime +7 -exec rm -f {} /;

rman target / nocatalog  cmdfile=/home/oracle/rmanbak/arcctl log='/home/oracle/rmanbak/databak/arcctl.log

 

五、制定备份计划

01 01 * * 6 sh /home/oracle/rmanbak/fulbackup.sh

01 01 * * 1,2,3,4,5,7 sh /home/oracle/rmanbak/arcctlbak.sh

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值