oracle rman本地备份,Rman-ORACLE数据库RMAN实现自动备份

1.备份方式:

在M模块数据库各节点使用nfs方式挂载10.30.1.12的/billbak4/MDSPDBbak目录,作为备份存储空间,可以满足RAC架构数据库备份的需求。

2.配置NFS服务器(以下操作需要有root 用户权限):

2.1使用以下命令检查NFS服务是否启动:

# service nfs status

# chkconfig –list nfs

# service nfs restart

2.2.配置文件中指定共享目录(生产环境中要对应修改为12个节点的IP)

# vi /etc/exports

/orabk 172.30.4.26(rw,async,no_root_squash)

/orabk 172.30.4.27(rw,async,no_root_squash)

2.3生效新的exports 内容。

# exportfs –rv

3.Oracle 服务器上挂载nfs共享目录(以下操作在M模块的每个节点上都要执行)

3.1.建立本地备份目录,如 /rmanbk。

3.2使用mount命令进行挂载。

# mount -t nfs -o rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,actimeo=0,

vers=3,timeo=600 172.30.1.78:/u01/rmanbk /rmanbk

3.3修改备份目录的权限:

#chown oracle:oinstall /rmanbk

#chmod 755 /rmanbk

3.4修改fstab文件,设置NFS自动挂载

# vi /etc/fstab

172.30.1.78:/u01/rmanbk /rmanbk nfs rw,hard,nointr,tcp,noac,vers=3,timeo=600,rsize=32768,wsize=32768 0 0[@more@]

ORACLE数据库RMAN实现自动备份:

1.备份方式:

在M模块数据库各节点使用nfs方式挂载10.30.1.12的/billbak4/MDSPDBbak目录,作为备份存储空间,可以满足RAC架构数据库备份的需求。

2.配置NFS服务器(以下操作需要有root 用户权限):

2.1使用以下命令检查NFS服务是否启动:

# service nfs status

# chkconfig –list nfs

# service nfs restart

2.2.配置文件中指定共享目录(生产环境中要对应修改为12个节点的IP)

# vi /etc/exports

/orabk 172.30.4.26(rw,async,no_root_squash)

/orabk 172.30.4.27(rw,async,no_root_squash)

2.3生效新的exports 内容。

# exportfs –rv

3.Oracle 服务器上挂载nfs共享目录(以下操作在M模块的每个节点上都要执行)

3.1.建立本地备份目录,如 /rmanbk。

3.2使用mount命令进行挂载。

# mount -t nfs -o rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,actimeo=0,

vers=3,timeo=600 172.30.1.78:/u01/rmanbk /rmanbk

3.3修改备份目录的权限:

#chown oracle:oinstall /rmanbk

#chmod 755 /rmanbk

3.4修改fstab文件,设置NFS自动挂载

# vi /etc/fstab

172.30.1.78:/u01/rmanbk /rmanbk nfs rw,hard,nointr,tcp,noac,vers=3,timeo=600,rsize=32768,wsize=32768 0 0

4.编写RMAN 备份脚本(以下在其中的一个节点上执行,其它节点上会看到共享的脚本文件)

4.1在其中一个节点上建立备份脚本和备份日志的存放目录

$ mkdir /rmanbk/script

$ mkdir /rmanbk/logs

$ cd /rmanbk/script

4.2编写0级备份脚本(oracle用户进行):

注:以下脚本中用到的节点名字及文件路径在生产环境都应按照实际情况进行修改。

$ cat rman_level_0.rman

run{

allocate channel d1 device type disk MAXPIECESIZE=8G connect ;

allocate channel d2 device type disk MAXPIECESIZE=8G connect ;

backup incremental level 0 database format '/rmanbk/db_%d_%s_%c_%p_%t.dbf'

plus archivelog delete all input format '/rmanbk/arc_%d_%s_%c_%p_%t.dbf';

crosscheck backupset;

delete noprompt expired backupset;

delete noprompt obsolete;

release channel d1;

release channel d2;

}

run

{

allocate channel d1 device type disk connect ;

delete archivelog all backed up 1 times to device type disk like '/arch1/%.dbf';

release channel d1;

}

run

{

allocate channel d2 device type disk connect ;

delete archivelog all backed up 1 times to device type disk like '/arch2/%.dbf';

release channel d2;

}

4.3编写1级增量备份脚本(oracle用户进行):

$ cat rman_level_1.rman

run{

allocate channel d1 device type disk MAXPIECESIZE=8G connect ;

allocate channel d2 device type disk MAXPIECESIZE=8G connect ;

backup incremental level 1 database format '/rmanbk/db_%d_%s_%c_%p_%t.dbf'

plus archivelog delete all input format '/rmanbk/arc_%d_%s_%c_%p_%t.dbf';

crosscheck backupset;

delete noprompt expired backupset;

delete noprompt obsolete;

release channel d1;

release channel d2;

}

run

{

allocate channel d1 device type disk connect ;

delete archivelog all backed up 1 times to device type disk like '/arch1/%.dbf';

release channel d1;

}

run

{

allocate channel d2 device type disk connect ;

delete archivelog all backed up 1 times to device type disk like '/arch2/%.dbf';

release channel d2;

}

4.4编写0级shell脚本(oracle用户进行):

$ vi backup_level_0.sh

#!/bin/bash

DATE=`date +%Y%m%d`

DATE_BEGIN_BACKUP=`date +%Y-%m-%d" "%H:%M:%S`

echo "------------- Start at " $DATE_BEGIN_BACKUP "--------------------"

export PATH=/u01/app/oracle/product/10.2.0/db_1/bin:/bin:/sbin:/usr/css/bin:/usr/local/bin

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

export TERM=linux

export NLS_LANG=american_america.zhs16gbk

export LD_LIBRARY_PATH=/u01/app/oracle/product/10.2.0/db_1/lib

export HOME=/home/oracle

export ORACLE_SID=sid_name

rman target / log=/rmanbk/logs/$DATE.log append cmdfile=/rmanbk/script/rman_level_0.rman

#DATE_END_BACKUP=`date +%Y-%m-%d" "%H:%M:%S`

echo ""

#echo "------------- End at " $DATE_END_BACKUP "--------------------"

4.5编写1级shell脚本(oracle用户进行):

$ cat backup_level_1.sh

#!/bin/bash

DATE=`date +%Y%m%d`

DATE_BEGIN_BACKUP=`date +%Y-%m-%d" "%H:%M:%S`

echo "------------- Start at " $DATE_BEGIN_BACKUP "--------------------"

export PATH=/u01/app/oracle/product/10.2.0/db_1/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1

export TERM=linux

export NLS_LANG=american_america.zhs16gbk

export LD_LIBRARY_PATH=/u01/app/oracle/product/10.2.0/db_1/lib

export HOME=/home/oracle

export ORACLE_SID=klir2

rman target / log=/orabk/logs/$DATE.log append cmdfile=/orabk/script/rman_level_1.rman

DATE_END_BACKUP=`date +%Y-%m-%d" "%H:%M:%S`

echo ""

echo "------------- End at " $DATE_END_BACKUP "--------------------"

5.在一个节点上编写oracle的crontab脚本,启动定时备份操作:

$ crontab -e

0 2 * * 0 /rmanbk/script/backup_level_0.sh

0 2 * * 1,2,3,4,5,6 /rmanbk/script/backup_level_1.sh

6. 设置增量备份的trace文件,

SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '/orabk/a.f' REUSE;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值