RMAN 命令.docx
《RMAN 命令.docx》由会员分享,可在线阅读,更多相关《RMAN 命令.docx(8页珍藏版)》请在冰豆网上搜索。
![RMAN 命令.docx](https://file1.bdocx.com/fileroot1/2023-7/26/4cccf846-fed6-4731-8651-3a345794ba54/4cccf846-fed6-4731-8651-3a345794ba541.gif)
RMAN命令
RMAN命令
RMAN命令
2008年06月25日星期三11:
27连接到目标数据库(不用恢复目录数据库)
rmantarget/nocatalog显示rman配置
RMAN>showall;====================
报告目标数据库的物理结构
RMAN>reportschema;报告陈旧备份
RMAN>reportobsolete;报告不可恢复的数据文件
RMAN>reportunrecoverable;列出备份信息
RMAN>listbackup;RMAN>listbackupofdatabase;RMAN>listbackupoftablespacetable_name;RMAN>listbackupofcontrolfile;RMAN>listbackupofspfile;RMAN>listbackupsetid;========================
校验备份信息:
RMAN>crosscheckbackup;RMAN>crosscheckbackupofdatabase;RMAN>crosscheckbackupoftablespacesystem;RMAN>crosscheckbackupofcontrolfile;RMAN>crosscheckbackupofspfile;========================
删除备份
UsetheALLOCATECHANNELFORMAINTENANCEcommandtomanuallyallocateachannelinpreparationforissuingaCHANGE,DELETE,orCROSSCHECKcommand.YoucanusetheRELEASECHANNELcommandtounallocatethechannel.
ALLOCATECHANNELFORMAINTENANCEdevicetype(disk,sbt...)
RMAN>deleteobsolete;--删除陈旧备份RMAN>deleteexpiredbackup;RMAN>deletebackupsetid;RMAN>deletebackup;--删除所有备份1列出对应物 RMAN>listincarnation;2列出备份2.1概述可用的备份 RMAN>listbackupsummary;
B表示backup
F表示FULL
A表示archivelog
01表示incrementalbackup
S说明备份状态(A AVAILABLE XEXPIRED)2.2按备份类型列出备份 RMAN>listbackupbyfile;
按照数据文件备份,归档日志备份,控制文件备份,服务器参数文件备份 列出2.3列出详细备份 RMAN>listbackup;2.4列出过期备份 RMAN>listexpiredbackup;2.5列出表空间和数据文件备份
listbackupoftablespace和listbackupofdatafile输出和listbackup相似
如:
listbackupoftablespaceuser_tbs;
listbackupofdatafile3;2.6列出归档日志备份 RMAN>listarchivelogall; 简要信息
RMAN>listbackupofarchivelogall; 详细信息2.7列出控制文件和服务器参数文件
RMAN>listbackupofcontrofile;
RMAN>listbackupofspfile;=====================================================
=====================================================
RMAN的report命令1.报告最近没有被备份的数据文件
RMAN>reportneedbackupdays=3;2.报告备份冗余或恢复窗口
RMAN>reportneed backupredundancy=2;
RMAN>reportneedbackuprecoverywindowof2days;3.报告数据文件的不可恢复操作
RMAN>reportunrecoverable;4.报告数据库模式
RMAN>reportschema;5.报告丢弃的备份
如果使用了保存策略,备份会标记为丢弃状态 RMAN>reportobsolete; 删除丢弃状态备份RMAN>deleteobsolete;=====================================================
=====================================================
RMAN的crosscheck命令1备份集有两种状态A(Available,RMAN认为该项存在于备份介质上)X(Expired,备份存在于控制文件或恢复目录中,但是并没有物理存在于备份介质上)2crosscheck的目的是检查RMAN的目录以及物理文件,如果物理文件不存在于介质上,将标记为Expired。
如果物理文件存在,将维持Available。
如果原先标记为Expired的备份集再次存在于备份介质上(如恢复了损坏的磁盘驱动器后),crosscheck将把状态重新从Expired标记回Available。
3crosscheck输出分两部分。
第一部分列出确定存在于备份介质上的所有备份集片,第二部分列出不存在于备份介质上的备份集片,并将其标记为Expired。
当设置备份保存策略后,一个备份过期,crosscheck之后标记为丢弃的备份状态依旧为availabel,要删除丢弃备份deleteobsolete。
4示例:
crosscheckbackup
crosscheckbackupofdatafile1;
crosscheckbackupoftablespaceusers;
crosscheckbackupofcontrofile;
crosscheckbackupofcontrolfile;
crosscheckbackuptag='SAT_BACKUP';
crosscheckbackupcompletedafter'sysdate-2'
crosscheckbackupcompletedbetween'sysdate-5'and'sysdate-2'
crosscheckbackupdevicetypesbt;
crosscheckarchivelogall;
crosscheckarchiveloglike'%ARC00012.001'
crosscheckarchivelogfromsequence12;
crosscheckarchiveloguntilsequence522;=====================================================
=====================================================
RMAN的validate命令1validate命令验证备份集片是否能够被还原2listbackupsummary;得到了备份集得主键ID如40,然后validatebackupset40;
=====================================================
=====================================================
RMAN的备份保存策略以及change,delete命令0.带delete参数的change命令删除备份集,从备份介质,并且从控制文件和恢复目录中删除。
changebackupset117,118delete;
changebackuppiece1304delete;
changearchiveloguntillogseq=544delete;1.两类策略:
恢复窗口备份保存策略(recoverywindowsbackupretensionpolicy) 基于时间
备份冗余备份保存策略(backupredundancybackupretensionpolicy)基于备份的数量两类策略互相排斥2.即使使用了备份保存策略,备份到期并不删除,只是在RMAN目录中标记为丢弃,看到的状态依旧为available;
要查看标记为丢弃的备份reportobsolete,只有使用deleteobsolete才真正物理删除。
3.configureretensionpolicytorecoverywindowof7days;
configureretensionpolicytoredundancy3;
显示结果showall;4.查看到期丢弃的备份时,可能需要手工保存一些备份,可以使用change命令带keep参数,使用这个命令后,那些被修改的备份将被认为是个long-termbackup,不在受保存策略影响也就是说deleteobsolete也不删除。
5.要使备份时候不受保存策略影响,使用带keep参数的backup命令
backupdatabasekeepforever;
backupdatabasekeep5days;6.change命令功能可以修改备份为永久保存并将以及该备份的相关的日志保存下来,保证总能将备份恢复到当前时间点
changebackupset31keepforeverlogs;
可以设置备份丢弃的新日期 ,将备份在多保存7天,7天后将删除
changebackupset32keepuntiltime'sysdata+7'logs;7.change可以将备份集设置为unavailable
changebackupset33unavailable;
标记为unavailable状态的备份集并不参与crosscheck;
=====================================================
=====================================================
恢复目录的记录删除1.$ORACLE_HOME/rdbms/admin/prgrmanc.sql脚本定期删除恢复目录中具有DELETED状态的记录2.要删除旧的对应物记录incarnation.必须从DBINC表中删除这些对应物,使用RC_DATABASE_INCARNATION视图来确定要删除的对应物。
记录要删除的每个对应物的DBINC_KEY
随后启动SQL*Plus,执行deletefromdbincwheredbinc_key=2;
=====================================================
=====================================================
手工同步恢复目录resynccatalog;Oracle同步恢复目录的时候,首先创建快照控制文件,然后比较这个文件和恢复目录,完成后,Oracle更新恢复目录,使恢复目录和控制文件同步
=====================================================
=====================================================
在RMAN中存储脚本1,连接到目标数据库和恢复目录
rmantarget/catalogrman/rman@rman9i2,创建脚本
RMAN>createscriptmy_bk_script
2>{backupdatabaseplusarchivelog;}
createscriptmy_bk_script3,打印脚本
RMAN>printscriptmy_bk_script;
printingstoredscipt:
my_bk_script
{backupdatabaseplusarchivelog;}4,运行这个脚本,备份目标数据库
RMAN>run{executesciptmy_bk_script;}5删除脚本
RMAN>deletescriptmy_bk_script;
=====================================================
=====================================================
archivelog模式下的完全恢复step1:
setoracle_sid=recover
rmantargetrman_backup/password
configurecontrolfileautobackupon;step2:
backupdatabaseplusarchivelogdeleteinput;step3:
shutdownimmediate;step4:
重命名所有的数据文件和控制文件,不重命名联机重做日志。
step5:
startupnomount;
setDBID=****
restorecontrolfilefromautobackup;
alterdatabasemount;step6:
restoredatabase;
recoverdatabase;
alterdatabaseopenresetlogs;表空间恢复sql"altertablespaceusersoffline";
sql"altertablespacetoolsoffline";
restoretablespaceusers,tools;
recovertablespaceusers,tools;
sql"altertablespaceusersonline";
sql"altertablespacetoolsonline";数据文件恢复sql"alterdatabasedatafile3offline";
sql"alterdatabasedatafile'd:
oracleoradatausers01.dbf'offline";
restoredatafile3
restoredatafile'd:
oracleoradatausers01.dbf';
recoverdatafile3
recoverdatafile'd:
oracleoradatausers01.dbf';
sql"alterdatabasedatafile3online";
sql"alterdatabasedatafile'd:
oracleoradatausers01.dbf'online";=====================================================
=====================================================
切换当前的incarnation回到resetlogs前RESETDATABASETOINCARNATIONinc_key=====================================================
=====================================================RMAN高级恢复1基于时间点的恢复
run
{
setuntiltime"to_date('07/01/0215:
00:
00','mm/dd/yyhh24:
mi:
ss')"'
restoredatabase;
recoverdatabase;
alterdatabaseopenresetlogs;
}2基于SCN的恢复
startupmount;
restoredatabaseUNTILSCN10000;
recoverdatabaseUNTILSCN10000;
alterdatabaseopenresetlogs;3基于日志序列的恢复
startupmount;
restoredatabaseUNTILSEQUENCE100thread1;
recoverdatabaseUNTILSEQUENCE100thread1;
alterdatabaseopenresetlogs;
==================================
c:
\>rmancmdfile=''log=''