Oracle rman备份异机恢复

一、 实验环境

db_A:192.168.0.3        db_B:192.168.0.4

db_A为生产数据库,db_B为后备(不运行);两个数据库的环境完全一样。

二、操作

1.db_A的操作

在db_A上进行rman的0级备份

$rman target /

RMAN>backup incremental level=0 database format='/oradata/back/%u';

添加计划任务执行以下脚本:

db_rsync.sh

#!/bin/sh

#keep tow db Synchronous

Oracle_HOME=/oracle/app/oracle/product/10.2.0/db_1

bak_dir=/oradata/back

archive_dir=/oradata/arch

[email protected]

passwd=ufsoft

ls -l $bak_dir | awk '{print $NF}'|sed '1d'>list1

ls -l $archive_dir | awk '{print $NF}'|sed '1d'>list2

Rsync_exec1(){

        expect -c "

        set timeout 7200;

        spawn rsync -rpogtv --files-from=list1  $bak_dir $dest_db:$bak_dir

        expect {

        \"*yes/no*\" {send \"yes\r\";exp_continue}        

       \"*password*\" {send \"$passwd\r\";}

        }

        expect eof;"

Rsync_exec2(){

        expect -c "

        set timeout 7200;

        spawn rsync -rpogtv  --files-from=list2 $archive_dir $dest_db:$archive_dir

        expect {

                \"*password*\" {send \"$passwd\r\";}

        }

        expect eof;"

}

Rsync_exec1

Rsync_exec2

rm -f list1 list2

相关推荐