aix下备份oracle,Aix下使用rman备份Oracle RAC数据库(转)

Aix下使用rman备份Oracle RAC数据库(转)[@more@]环境:AIX5.2 HACMP5.1 Oracle9206RAC

使用rman增量备份,备份策略为:每周四执行零级备份,周五---周三执行1级增量备份,下周四再进行新的零级备份。这样如果需要恢复的话,需要最多的备份数据为 1个零级备份+6个1级备份+当天的归档日志。rman零级备份脚本放于/home/oracle/ora0.sh,1级备份位于/home/oracle/ora1.sh 具体内容如下:

零级备份

#!/bin/sh

echo "start"; date

#env

ORACLE_BASE=/oracle/app/oracle

export ORACLE_BASE

ORACLE_HOME=/oracle/app/oracle/product/9.2.0

export ORACLE_HOME

ORACLE_SID=XXX

export ORACLE_SID

ORACLE_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

export ORACLE_NLS33

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

export LD_LIRARY_PATH

PATH=/usr/css/sbin:$ORACLE_HOME/bin:/usr/bin:$PATH

export PATH

LANG=en_US

export LANG

#backup

$ORACLE_HOME/bin/rman<

connect target

run

{

allocate channel c1 device type disk ;

allocate channel c2 device type disk ;

allocate channel c3 device type disk ;

backup incremental level 0 database tag 'dbL0' format '/share1/backup/dbkup_%d_%T_%U_L0';

sql 'alter system archive log current' ;

backup archivelog all delete input format '/share2/arcbkup/arcbkup/arc_%d_%T_%U_L0';

release channel c1;

release channel c2;

release channel c3;

}

exit;

EOF

echo "end"; date

1级备份

#!/bin/sh

echo "start"; date

#env

ORACLE_BASE=/oracle/app/oracle

export ORACLE_BASE

ORACLE_HOME=/oracle/app/oracle/product/9.2.0

export ORACLE_HOME

ORACLE_SID=XXX

export ORACLE_SID

ORACLE_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

export ORACLE_NLS33

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

export LD_LIRARY_PATH

PATH=/usr/css/sbin:$ORACLE_HOME/bin:/usr/bin:$PATH

export PATH

LANG=en_US

export LANG

#backup

$ORACLE_HOME/bin/rman<

connect target

run

{

allocate channel c1 device type disk ;

allocate channel c2 device type disk ;

allocate channel c3 device type disk ;

backup incremental level 1 database tag 'dbL1' format '/share1/backup/dbkup_%d_%T_%U_L1';

sql 'alter system archive log current' ;

backup archivelog all delete input format '/share2/arcbkup/arcbkup/arc_%d_%T_%U_ L1';

release channel c1;

release channel c2;

release channel c3;

}

exit;

EOF

echo "end";date

在cron任务中定时实现定时备份,即加入以下条目

0 1 * * 0,1,2,3,5,6 /home/oracle/ora1.sh 每天(除周四)凌晨1点执行一级备份

0 0 * * 4 /home/oracle/ora0.sh 每周四0点执行0级备份

数据库全备份路径是在 /share1/backup

数据库归档日志路径分别为/share2/archive/archive1;/share2/archive/archive2

(该目录文件请不要使用rm命令删除)

数据库归档日志备份路径为/share2/arcbkup/arcbkup

数据库控制文件自动备份路径为 /share1/spbkup

/share1 /share2文件系统为两台机器(两个实例)可以共同访问的文件系统,所以保证了归档日志共享,以达到恢复目的。因为数据库恢复时,只需要在一个实例上进行恢复,但是需要读取两个实例产生的归档日志,所以归档日志目录必须共享。反过来,备份的时候,只需要在一个实例上进行即可。

以下是数据库全备份脚本:

rman备份脚本放于/home/oracle/backup.sh,具体内容如下:

#!/bin/sh

echo "start"; date

#env

ORACLE_BASE=/oracle/app/oracle

export ORACLE_BASE

ORACLE_HOME=/oracle/app/oracle/product/9.2.0

export ORACLE_HOME

ORACLE_SID=XXX

export ORACLE_SID

ORACLE_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

export ORACLE_NLS33

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

export LD_LIRARY_PATH

PATH=/usr/css/sbin:$ORACLE_HOME/bin:/usr/bin:$PATH

export PATH

LANG=en_US

export LANG

#backup

$ORACLE_HOME/bin/rman<

connect target

run

{

allocate channel c1 device type disk;

backup database format '/share1/backup/dbkup_%d_%T_%U';

sql 'alter system archive log current';

backup archivelog all delete input format '/share2/arcbkup/arcbkup/arc_%d_%T_%U';

}

exit;

EOF

echo "end"; date

在cron任务中定时实现定时备份,即加入这一条目

0 3 10 * * /home/oracle/backup.sh 即在每月10号凌晨3点运行备份脚本。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10617542/viewspace-962365/,如需转载,请注明出处,否则将追究法律责任。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值