RMAN脚本.docx

上传人:b****5 文档编号:4660024 上传时间:2022-12-07 格式:DOCX 页数:22 大小:22.72KB
下载 相关 举报
RMAN脚本.docx_第1页
第1页 / 共22页
RMAN脚本.docx_第2页
第2页 / 共22页
RMAN脚本.docx_第3页
第3页 / 共22页
RMAN脚本.docx_第4页
第4页 / 共22页
RMAN脚本.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

RMAN脚本.docx

《RMAN脚本.docx》由会员分享,可在线阅读,更多相关《RMAN脚本.docx(22页珍藏版)》请在冰豆网上搜索。

RMAN脚本.docx

RMAN脚本

ORACLE10Grman备份脚本

上一篇/下一篇 2010-01-2321:

44:

55/个人分类:

ORACLE

#!

/bin/bash

back_path="/10g/backup";

back_log="/10g/backup/log";

rman_name=“cisco”;

rman_pw="rman";

rman_log_name="rman";

rman_log_pass="cisco";

rman_sid=“zsh1”;

rman_bin=/opt/oracle/product/9.2.0.4/bin

date_w=`date+%w`;

case$date_win

5)#指的是周五执行

$rman_binlog$back_log/level0_`date+%Y-%m-%d`.log<

connecttarget$rman_name/$rman_pw

run{

allocatechanneld1typedisk;

allocatechanneld2typedisk;

backupfulldatabaseformat'$back_path/`date+%Y%m%d`_full_%d_%s_%p_%u.bak'

tag='full'includecurrentcontrolfile;

sql'altersystemarchivelogcurrent';

backuparchivelogallformat'$back_path/`date+%Y%m%d`_archivelog_%d_%s_%p_%u.bak'deleteallinput;

releasechanneld2;

releasechanneld1;

}

crosscheckbackup;

deletenopromptexpiredbackup;

deletenopromptobsolete;

exit

EOF

;;

#以上是完全备份

 

7)#指的是周日执行

$rman_binlog$back_log/level0_`date+%Y-%m-%d`.log<

connectcatalog$rman_log_name/$rman_log_pass

connecttarget$rman_name/$rman_pw

run{

allocatechanneld1typedisk;

allocatechanneld2typedisk;

backupincrementallevel0databaseformat'$back_path/`date+%Y%m%d`_level0_%d_%s_%p_%u.bak'

tag='level0'includecurrentcontrolfile;

sql'altersystemarchivelogcurrent';

backuparchivelogallformat'$back_path/`date+%Y%m%d`_archivelog_%d_%s_%p_%u.bak'deleteallinput;

releasechanneld2;

releasechanneld1;

}

crosscheckbackup;

deletenopromptexpiredbackup;

deletenopromptobsolete;

resynccatalog;

exit

EOF

;;

#以上是0级备份

 

3)#指的是周三执行

$rman_binlog$back_log/level1_`date+%Y-%m-%d`.log<

connectcatalog$rman_log_name/$rman_log_pass

connecttarget$rman_name/$rman_pw

run{

allocatechanneld1typedisk;

backupincrementallevel1format'$back_path/`date+%Y%m%d`_level1_%d_%s_%p_%u.bak'tag='level1'database;

sql'altersystemarchivelogcurrent';

backuparchivelogallformat'$back_path/`date+%Y%m%d`_archivelog_%d_%s_%p_%u.bak'deleteallinput;

releasechanneld1;

}

crosscheckbackup;

deletenopromptexpiredbackup;

deletenopromptobsolete;

resynccatalog;

exit;

EOF

;;

#以上是1级备份

1|2|4|5|6)#指的是周一,二,四,五,六执行

$rman_binlog$back_log/level2_`date+%Y-%m-%d`.log<

connectcatalog$rman_log_name/$rman_log_pass

connecttarget$rman_name/$rman_pw

利用LINUX的crintab进行执行!

 

RMAN备份脚本及自动批处理(windows)

2010-02-0900:

05

RMAN备份脚本及自动批处理(windows)

接上章RMAN备份前工作:

C:

\DocumentsandSettings\Administrator>rmancatalogrmanuser1/rmanuser1target

system/system@oradb

RMAN>showall;

设置控制文件的自动备份和自动备份的目录(建议设置,备份目录自定)

RMAN>CONFIGURECONTROLFILEAUTOBACKUPON;

RMAN>CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO'd:

/backup/%F';

RMAN>exit;

按如上设置后,控制文件和spfile就会随着数据库备份自动备份到d:

/backup下;

建立脚本文件和批处理文件:

脚本文件,如文件名为orabackup.rcv,具体内容如下:

run{

allocatechanneld1typedisk;

allocatechanneld2typedisk;

backupincrementallevel0databaseformat'd:

\backup\level0_%d_%s_%p_%u.bak';

sql'altersystemarchivelogcurrent';

backuparchivelogallformat'd:

\backup\log_%d_%s_%p_%u.bak'deleteallinput;

releasechanneld2;

releasechanneld1;

}

crosscheckbackup;

deletenopromptexpiredbackup;

deletenopromptobsolete;

resynccatalog;

exit

批处理文件,如文件名为orabackup.bat,具体内容如下

rmancatalogrmanuser1/rmanuser1@oradatargetsystem/system@oradbCMDFILE'd:

\backup\orabackup.rcv'LOG’d:

\backup\oracl_%date'

将orabackup.bat和orabackup.rcv存放在同一目录下,执行orabackup.bat就可以调用orabackup.rcv备份数据库了,你可以再windows的计划任务里执行orabackup.bat就可以自动备份了;

RMAN备份脚本

===========================================================

作者:

hxhy()

发表于:

2007.10.3109:

35

分类:

ORACLE学习资料

出处:

---------------------------------------------------------------

注意:

此文档是本人由网络资料整理而成

备份策略:

星期天0级

星期一,二,四,五六2级

星期三1级

--本地

mkdir/home/oracle/backup

mkdir/home/oracle/backup/script

mkdir/home/oracle/backup/log

mkdir/home/oracle/backup/export

--备份目的地

mkdir/home/oracle/rman_backup

createtablespacerman_tbsdatafile'/oradata/luke/rman_tbs01.dbf'size1024M;

createuserrmanidentifiedbyrmandefaulttablespacerman_tbstemporarytablespacetemp;

grantconnect,resource,recovery_catalog_ownertorman;

rmancatalogrman/rman

createcatalogtablespacerman_tbs;

connecttargetsys/lukewhx@luke

registerdatabase;

reportschema;

configureretentionpolicytoredundancy2;

configureretentionpolicytorecoverywindowof7days;

--倒出RMAN用户数据脚本exp_rman.par

userid=rman/rman

file=/home/oracle/backup/export/rman.dmp

log=/home/oracle/backup/log/rman.log

--倒出RMAN数据SHELL脚本exp_rman.sh

#!

/bin/bash

cd$HOME

..bash_profile

cd$HOME/backup/script

expparfile=exp_rman.par

--零级备份RMAN脚本level0_backup.rcv

connectcatalogrman/rman

connecttargetsys/unumall@unu2

run{

allocatechanneld1typedisk;

allocatechanneld2typedisk;

backupincrementallevel0databaseformat'/home/oracle/rman_backup/level0_%d_%s_%p_%u.bak'

tag='level0'includecurrentcontrolfile;

sql'altersystemarchivelogcurrent';

backuparchivelogallformat'/home/oracle/rman_backup/log_%d_%s_%p_%u.bak'deleteall

input;

releasechanneld2;

releasechanneld1;

}

crosscheckbackup;

deletenopromptexpiredbackup;

deletenopromptobsolete;

resynccatalog;

--零级备份SHELL脚本的level0_backup.sh

#!

/bin/bash

cd$HOME

..bash_profile

cd$HOME/backup/script

rmancmdfile=level0_backup.rcvmsglog=$HOME/backup/log/level0_backup.log

./home/oracle/backup/script/exp_rman.sh

--一级差异增量备份RMAN脚本level1_backup.rcv

connectcatalogrman/rman

connecttargetsys/luke@luke

run{

allocatechanneld1typedisk;

backupincrementallevel1format'/home/oracle/rman_backup/level1_%d_%s_%p_%u.bak'tag=

'level1'database;

sql'altersystemarchivelogcurrent';

backuparchivelogallformat'/home/oracle/rman_backup/log_%d_%s_%p_%u.bak'deleteall

input;

releasechanneld1;

}

crosscheckbackup;

deletenopromptexpiredbackup;

deletenopromptobsolete;

resynccatalog;

--一级差异增量备份SHELL脚本level1_backup.sh#!

/bin/bash

cd$HOME

..bash_profile

cd/home/oracle/backup/script

rmancmdfile=level1_backup.rcvmsglog=$HOME/backup/log/level1.log

./home/oracle/backup/script/exp_rman.sh

--二级差异增量备份RMAN脚本level2_backup.rcv

connectcatalogrman/rman

connecttargetsys/luke@luke

run{

allocatechanneld1typedisk;

backupincrementallevel2format'/home/oracle/rman_backup/level2_%d_%s_%p_%u.bak'tag=

'level2'database;

sql'altersystemarchivelogcurrent';

backuparchivelogallformat'/home/oracle/rman_backup/log_%d_%s_%p_%u.bak'deleteall

input;

releasechanneld1;

}

crosscheckbackup;

deletenopromptexpiredbackup;

deletenopromptobsolete;

resynccatalog;

--二级差异增量备份SHELL脚本level2_backup.sh

#!

/bin/bash

cd$HOME

..bash_profile

cd/home/oracle/backup/script

rmancmdfile=level2_backup.rcvmsglog=$HOME/backup/log/level2.log

./home/oracle/backup/script/exp_rman.sh

提高RMAN增量备份性能

alterdatabaseenableblockchangetrackingusingfile

'/u01/app/oracle/admin/devdb/bdump/luke.log';

descv$block_change_tracking;

 

oraclerman备份脚本收集

2,常用备份脚本:

备份到磁盘:

(如果是磁带,将DISK改成'SBT_TAPE')

0级备份脚本:

RUN{

ALLOCATECHANNELch00TYPEDISK;

ALLOCATECHANNELch01TYPEDISK;

BACKUP

   INCREMENTALLEVEL=0

   SKIPINACCESSIBLE

   TAGhot_db_bk_level0

   FILESPERSET5

   FORMAT'bk_%s_%p_%t'

   DATABASE;

   sql'altersystemarchivelogcurrent';

RELEASECHANNELch00;

RELEASECHANNELch01;

ALLOCATECHANNELch00TYPEDISK;

ALLOCATECHANNELch01TYPEDISK;

BACKUP

  filesperset20

  FORMAT'al_%s_%p_%t'

  ARCHIVELOGALLDELETEINPUT;

RELEASECHANNELch00;

RELEASECHANNELch01;

ALLOCATECHANNELch00TYPEDISK;

BACKUP

   FORMAT'cntrl_%s_%p_%t'

   CURRENTCONTROLFILE;

RELEASECHANNELch00;

}

1级差异增量备份:

RUN{

ALLOCATECHANNELch00TYPEDISK;

ALLOCATECHANNELch01TYPEDISK;

BACKUP

   INCREMENTALLEVEL=1

   SKIPINACCESSIBLE

   TAGhot_db_bk_level0

   FILESPERSET5

   FORMAT'bk_%s_%p_%t'

   DATABASE;

   sql'altersystemarchivelogcurrent';

RELEASECHANNELch00;

RELEASECHANNELch01;

ALLOCATECHANNELch00TYPEDISK;

ALLOCATECHANNELch01TYPEDISK;

BACKUP

  filesperset20

  FORMAT'al_%s_%p_%t'

  ARCHIVELOGALLDELETEINPUT;

RELEASECHANNELch00;

RELEASECHANNELch01;

ALLOCATECHANNELch00TYPEDISK;

BACKUP

   FORMAT'cntrl_%s_%p_%t'

   CURRENTCONTROLFILE;

RELEASECHANNELch00;

}

1级累积增量备份脚本:

RUN{

ALLOCATECHANNELch00TYPEDISK;

ALLOCATECHANNELch01TYPEDISK;

BACKUP

   INCREMENTALLEVEL=1CUMULATIVE

   SKIPINACCESSIBLE

   TAGhot_db_bk_level0

   FILESPERSET5

   FORMAT'bk_%s_%p_%t'

   DATABASE;

   sql'altersystemarchivelogcurrent';

RELEASECHANNELch00;

RELEASECHANNELch01;

ALLOCATECHANNELch00TYPEDISK;

ALLOCATECHANNELch01TYPEDISK;

BACKUP

  filesperset20

  FORMAT'al_%s_%p_%t'

  ARCHIVELOGALLDELETEINPUT;

RELEASECHANNELch00;

RELEASECHANNELch01;

ALLOCATECHANNELch00TYPEDISK;

BACKUP

   FORMAT'cntrl_%s_%p_%t'

   CURRENTCONTROLFILE;

RELEASECHANNELch00;

}

恢复脚本:

RUN{

ALLOCATECHANNELch00TYPEDISK;

ALLOCATECHANNELch01TYPEDISK;

RESTOREDATABASE;

RECOVERDATABASE;

RELEASECHANNELch00;

RELEASECHANNELch01;

}

OracleRman备份脚本

编辑一个文本,

[oracle@oraclebak]$vifull.bak

source~/.bash_profile //加上这个是为了当我们crontab自动调用时可以执行.

rmantarget/  <

run{

changearchivelogallcrosscheck;  //标定控制文件中归档日志的状态.

crosscheckbackup; //交叉检测,系统删除了,但rman不知道.

deletenopromptexpiredbackup;  //让ramn知道,在系统里已经被删除的.

sql'altersystemarchivelogcurrent' //归档当前日志

backuparchivelogall format'/oraclebak/backup/ar_%u'; //备份归档日志

backupincrementallevel0databaseformat'/oraclebak/0_%u';//0级数据库备份(包括数据,控制,参数文件)

allocatechannelC1typedisk;

allocatechannelC2typedisk;

deletenopromptobsolete;  删除除其他版本的备份.

releasechannelC1;

releasechannelC2;

}

exi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1