NBU75备份oracle.docx
- 文档编号:8960266
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:21
- 大小:119.08KB
NBU75备份oracle.docx
《NBU75备份oracle.docx》由会员分享,可在线阅读,更多相关《NBU75备份oracle.docx(21页珍藏版)》请在冰点文库上搜索。
NBU75备份oracle
1、建立连接
[root@localhost~]#su-oracle
[oracle@localhost~]$cd/usr/openv/netbackup/bin
[oracle@localhostbin]$./oracle_link
2012年08月25日星期六09:
43:
28CST
AllOracleinstancesshouldbeshutdownbeforerunningthisscript.
PleaselogintotheUnixsystemastheOracleownerforrunningthisscript
Doyouwanttocontinue?
(y/n)[n]y
LIBOBKpath:
/usr/openv/netbackup/bin
ORACLE_HOME:
/orcl/oracle
Oracleversion:
10.2.0.1.0
Platformtype:
i686
LinkingLIBOBK:
ln-s/usr/openv/netbackup/bin/libobk.so/orcl/oracle/lib/libobk.so
Done
Pleasecheckthetracefilelocatedin/tmp/make_trace.4459
tomakesurethelinkingprocesswassuccessful.
2、创建备份脚本
[root@localhost~]#mkdir-p/usr/openv/netbackup/script
[root@localhost~]#cd/usr/openv/netbackup/ext/db_ext/oracle/samples/rman
[root@localhostrman]#ls
cold_database_backup.shdatabase_restore.shhot_tablespace_backup.sh
cold_duplex_database_backup_full.shhot_database_backup.shpit_database_restore.sh
[root@localhostrman]#cphot_database_backup.sh/usr/openv/netbackup/script/
[root@localhostrman]#cd/usr/openv/netbackup/script/
[root@localhostscript]#ls
hot_database_backup.sh
[root@localhostscript]#mvhot_database_backup.shrman.sh
[root@localhostscript]#chmodo+xrman.sh
[root@localhostscript]#virman.sh
#!
/bin/sh
#$Header:
hot_database_backup.sh,v1.22002/08/0623:
51:
42$
#
#bcpyrght
#***************************************************************************
#*$VRTScprght:
Copyright1993-2008SymantecCorporation,AllRightsReserved$*
#***************************************************************************
#ecpyrght
#
#---------------------------------------------------------------------------
#hot_database_backup.sh
#---------------------------------------------------------------------------
#ThisscriptusesRecoveryManagertotakeahot(inconsistent)database
#backup.Ahotbackupisinconsistentbecauseportionsofthedatabaseare
#beingmodifiedandwrittentothediskwhilethebackupisprogressing.
#YoumustrunyourdatabaseinARCHIVELOGmodetomakehotbackups.Itis
#assumedthatthisscriptwillbeexecutedbyuserroot.InorderforRMAN
#toworkproperlyweswitchuser(su-)totheoracledbaaccountbefore
#execution.IfthisscriptrunsunderauseraccountthathasOracledba
#privilege,itwillbeexecutedusingthisuser'saccount.
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
#Determinetheuserwhichisexecutingthisscript.
#---------------------------------------------------------------------------
CUSER=`id|cut-d"("-f2|cut-d")"-f1`
#---------------------------------------------------------------------------
#Putoutputin
#Note:
outputdirectoryrequireswritepermission.
#---------------------------------------------------------------------------
RMAN_LOG_FILE=${0}.out
#---------------------------------------------------------------------------
#Youmaywanttodeletetheoutputfilesothatbackupinformationdoes
#notaccumulate.Ifnot,deletethefollowinglines.
#---------------------------------------------------------------------------
if[-f"$RMAN_LOG_FILE"]
then
rm-f"$RMAN_LOG_FILE"
fi
#-----------------------------------------------------------------
#Initializethelogfile.
#-----------------------------------------------------------------
echo>>$RMAN_LOG_FILE
chmod666$RMAN_LOG_FILE
#---------------------------------------------------------------------------
#Logthestartofthisscript.
#---------------------------------------------------------------------------
echoScript$0>>$RMAN_LOG_FILE
echo====startedon`date`====>>$RMAN_LOG_FILE
echo>>$RMAN_LOG_FILE
#---------------------------------------------------------------------------
#Replace/db/oracle/product/ora81,below,withtheOraclehomepath.
#---------------------------------------------------------------------------
ORACLE_HOME=/u01/app/oracle/product/11.2.0/
exportORACLE_HOME
OracleHOME目录,可通过env命令查出
#---------------------------------------------------------------------------
#Replaceora81,below,withtheOracleSIDofthetargetdatabase.
#---------------------------------------------------------------------------
ORACLE_SID=orcl
exportORACLE_SID
Oracle实例名
#---------------------------------------------------------------------------
#Replaceora81,below,withtheOracleDBAuserid(account).
#---------------------------------------------------------------------------
ORACLE_USER=oracle
Oracle系统账户
#---------------------------------------------------------------------------
#Setthetargetconnectstring.
#Replace"sys/manager",below,withthetargetconnectstring.
#---------------------------------------------------------------------------
TARGET_CONNECT_STR=sys/Qweasd123
Sys用户及其密码
#---------------------------------------------------------------------------
#SettheOracleRecoveryManagername.
#---------------------------------------------------------------------------
RMAN=$ORACLE_HOME/bin/rman
#---------------------------------------------------------------------------
#Printoutthevalueofthevariablessetbythisscript.
#---------------------------------------------------------------------------
#中间代码不用更改,此处略
CMD_STR="
ORACLE_HOME=$ORACLE_HOME
exportORACLE_HOME
ORACLE_SID=$ORACLE_SID
exportORACLE_SID
$RMANtarget$TARGET_CONNECT_STRnocatalogmsglog$RMAN_LOG_FILEappend< RUN{ ALLOCATECHANNELch00TYPE'SBT_TAPE'; ALLOCATECHANNELch01TYPE'SBT_TAPE'; echosend'NB_ORA_POLICY=your_policy,NB_ORA_SERV=your_serverí'; 发送备份信息给相对应的备份策略,当每一台Oracle只有一个NBU备份策略时,次句可以不写 BACKUP $BACKUP_TYPE SKIPINACCESSIBLE TAGhot_db_bk_level0 FILESPERSET5 #recommendedformat FORMAT'bk_%s_%p_%t' DATABASE; sql'altersystemarchivelogcurrent'; RELEASECHANNELch00; RELEASECHANNELch01; #backupallarchivelogs ALLOCATECHANNELch00TYPE'SBT_TAPE'; ALLOCATECHANNELch01TYPE'SBT_TAPE'; echosend'NB_ORA_POLICY=your_policy,NB_ORA_SERV=your_serverí'; 发送备份信息给相对应的备份策略,当每一台Oracle只有一个NBU备份策略时,次句可以不写 BACKUP filesperset20 FORMAT'al_%s_%p_%t' ARCHIVELOGALL; RELEASECHANNELch00; RELEASECHANNELch01; ALLOCATECHANNELch00TYPE'SBT_TAPE'; DELETENOPROMPTARCHIVELOGALLCOMPLETEDBEFORE'SYSDATE-7'; RELEASECHANNELch00; 原脚本备份后直接删除归档日志,可以如上编写,删除7天前的归档日志 # #Note: Duringtheprocessofbackingupthedatabase,RMANalsobacksupthe #controlfile.Thisversionofthecontrolfiledoesnotcontainthe #informationaboutthecurrentbackupbecause"nocatalog"hasbeenspecified. #Toincludetheinformationaboutthecurrentbackup,thecontrolfileshould #bebackedupasthelaststepoftheRMANsection.Thisstepwouldnotbe #necessaryifwewereusingarecoverycatalog. # ALLOCATECHANNELch00TYPE'SBT_TAPE'; BACKUP #recommendedformat FORMAT'cntrl_%s_%p_%t' CURRENTCONTROLFILE; RELEASECHANNELch00; } EOF " #Initiatethecommandstring if["$CUSER"="root"] then su-$ORACLE_USER-c"$CMD_STR">>$RMAN_LOG_FILE RSTAT=$? else /usr/bin/sh-c"$CMD_STR">>$RMAN_LOG_FILE RSTAT=$? fi #--------------------------------------------------------------------------- #Logthecompletionofthisscript. #--------------------------------------------------------------------------- if["$RSTAT"="0"] then LOGMSG="endedsuccessfully" else LOGMSG="endedinerror" fi echo>>$RMAN_LOG_FILE echoScript$0>>$RMAN_LOG_FILE echo====$LOGMSGon`date`====>>$RMAN_LOG_FILE echo>>$RMAN_LOG_FILE exit$RSTAT 3、创建备份策略 3.1选择策略类型和存储位置 3.2创建备份策略 Frequency: 备份周期Retention: 保留周期 策略时间表,默认的Default-Application-Backup不要随意更改,一般只更改保留周期。 3.3选择备份客户端 3.4选择备份脚本 3.5执行备份策略 4、本机恢复 4.1删除数据文件 [root@orcl~]#cd/u01/app/oracle/oradata/orcl [root@orclorcl]#rm-rf*.dbf [root@orclorcl]# 4.2恢复数据文件 [oracle@orcloradata]$rmantarget/ RMAN>startupmount; connectedtotargetdatabase(notstarted) Oracleinstancestarted databasemounted TotalSystemGlobalArea839282688bytes FixedSize2217992bytes VariableSize528484344bytes DatabaseBuffers301989888bytes RedoBuffers6590464bytes RMAN>run{ 2>allocatechannelch00type'sbt_tape'; 3>send'NB_ORA_CLIENT='; 4>send'NB_ORA_SERV='; 5>restoredatabase; 6>recoverdatabase; 7>releasechannelch00; 8>} 4.3验证恢复效果 RMAN>alterdatabaseopen; databaseopened [root@orcl~]#cd/u01/app/oracle/oradata/orcl [root@orclorcl]#ll -rw-r-----.1oracleoinstall97484808月2417: 20control01.ctl -rw-r-----.1oracleoinstall1048657928月2417: 19example01.dbf -rw-r-----.1oracleoinstall524293128月2417: 19redo01.log -rw-r-----.1oracleoinstall524293128月2417: 19redo02.log -rw-r-----.1oracleoinstall524293128月2417: 20redo03.log -rw-r-----.1oracleoinstall5662392328月2417: 19sysaux01.dbf -rw-r-----.1oracleoinstall7235256328月2417: 19system01.dbf -rw-r-----.1oracleoinstall209797128月2417: 19temp01.dbf -rw-r-----.1oracleoinstall52510728月2417: 19users01.dbf 可以看到删除的数据文件都已经恢复 5: 异机恢复 5.1、配置恢复环境 在需要恢复的裸机上安装相同版本的oracle,并建相同实例名的数据库 (1)、磁盘空间分配一定要够 (2)、字符集要与生产机一致 (3)、恢复的时候如果nbu找不到相关目录也是恢复不了的 5.2、在NBUserver端设置可以异机恢复,新建下面的文件: C: \ProgramFiles\Veritas\NetBackup\db\altnames\No.Restrictions 5.3、进入到“ORACLE_BASE\oradata\ORACLE_SID\”目录中,删除原有的数据文件、控制文件和redo日志文件。 5.4、在需要恢复的备机上做如下操作 C: \Users\Administrator>setoracle_sid=orcl 5.5、恢复控制文件 C: \Users\Administrator>rmantarget/ 恢复管理器: Release11.2.0.1.0-Productionon星期三9月1209: 15: 232012 Copyright(c)1982,2009,Oracleand/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NBU75 备份 oracle