操作系统:GNU/Linux数据库管理系统:Oracle10g一、安装RecoveryCatalog1,用dbca创建一个DATABASEcatdb,用于存放recoverycatalogdata[oracle@localhost~]$dbca2,在catdb中创建一个名为rcat_ts的表空间作为用户rman的默认表空间[oracle@localhost~]$sqlplussys/oracle@catdbassysdbaSQLcreatetablespacercat_ts;SQLcreateuserrmanidentifiedbyoracletemporarytablespacetempDefaulttablespacercat_tsquotaunlimitedonrcat_ts;3,授予catlog所有者rmanrecovery_catalog_owner角色,该角色提供给用户所有查询和维护recoverycatalog所必需的权限SQLgrantconnect,resource,recovery_catalog_ownertorman;4,启动rman,以catalog所有者rman登录[oracle@localhost~]$rmancatalogrman/oracle@catdbRMANcreatecatalogtablespacercat_ts;5,用rman同时连接到target数据库、catalog数据库,在新建的recoverycatalog中注册target数据库[oracle@localhost~]$rmantargetsys/oracle@orclcatalogrman/oracle@catdbRMANregisterdatabase;6,察看已在recoverycatalog中注册的target数据库[oracle@localhost~]$sqlplusrman/oracle@catdbSQLselect*fromdb;二、配置RMAN1,同时连接target数据库和recoverycatalog数据库[oracle@localhost~]$rmantargetsys/oracle@orclcatalogrman/oracle@catdb2,RMANshowall(检查配置)configuredefaultdevicetypetodisk(设置默认的备份的设备为磁盘)CONFIGUREDEVICETYPEDISKPARALLELISM1BACKUPTYPETOBACKUPSET;(设置备份的并行级别)configurechannel1devicetypediskformat'/home/new/backup_%U'(设置备份文件格式)configurechannel2devicetypediskformat'/home/oracle/backup_%U'(设置备份文件格式)configurecontrolfileautobackupon(打开控制文件的自动备份)configurecontrolfileautobackupformatfordevicetypediskto'/home/new/ctl_%F'(设置控制文件备份格式)三.备份测试备份全库1,同时连接target数据库和recoverycatalog数据库[oracle@localhost~]$rmantargetsys/oracle@orclcatalogrman/oracle@catdb2,RMANbackupdatabaseplusarchivelogdeleteinput;3,连接target数据库[oracle@localhost~]$sqlplussys/oracle@orclassysdbaSQLconnhr/hr;SQLselectsalaryfromemployeeswhereemployee_id=157;SQLupdateemployeessetsalary=2000whereemployee_id=157;SQLcommit;SQLselectsalaryfromemployeeswhereemployee_id=157;四.恢复测试复原及恢复全库1,连接target数据库[oracle@localhost~]$sqlplussys/oracle@orclassysdba2,把target数据库先关闭,然后启动到mount状态SQLshutdownimmediate;SQLstartupmount;3,复原及恢复全库RMANrestoredatabasechannelORA_DISK_1:restorecomplete,elapsedtime:00:05:10RMANrecoverdatabasemediarecoverycomplete,elapsedtime:00:00:074,连接target数据库[oracle@localhost~]$sqlplussys/oracle@orclassysdba5,打开target数据库SQLalterdatabaseopen;6,查看已录入的事物SQLconnhr/hr;SQLselectsalaryfromemployeeswhereemployee_id=157;假设备份了一个表空间users恢复表空间:rmantargetrman/rman@test2006catalogrman/rman@test2007sql'altertablespaceusersofflineimmediate'(使TEST2006的USERS表空间脱机)进入test2006selecttablespace_name,statusfromdba_tablespaces;(检查USERS已经脱机)退出RMAN删除D:\oracle\oradata\TEST2006\users01.dbfrmantargetrman/rman@test2006catalogrman/rman@test2007restoretablespaceusersrecovertablespaceuserssql'altertablespaceusersonline'(使TEST2006的USERS表空间在线)进入test2006selecttablespace_name,statusfromdba_tablespaces;(检查USERS已经在线)三、物理(热)备份。Linux下Oracle10.2.0.1RMAN备份及恢复步骤介绍切换服务器归档模式,如果已经是归档模式可跳过此步:%sqlplus/nolog(启动sqlplus)SQLconn/assysdba(以DBA身份连接数据库)SQLshutdownimmediate;(立即关闭数据库)SQLstartupmount(启动实例并加载数据库,但不打开)SQLalterdatabasearchivelog;(更改数据库为归档模式)SQLalterdatabaseopen;(打开数据库)SQLaltersystemarchivelogstart;(启用自动归档)SQLexit(退出)2、连接:%rmantarget='gti/gti123@LANDF';(启动恢复管理器)3、基本设置:RMANconfiguredefaultdevicetypetodisk;(设置默认的备份设备为磁盘)RMANconfiguredevicetypediskparallelism2;(设置备份的并行级别,通道数)RMANCONFIGURECHANNEL1DEVICETYPEDISKFORMAT'/home/oracle/backup/data/backup_%U';(设置备份的文件格式,只适用于磁盘设备)RMANCONFIGURECHANNEL2DEVICETYPEDISKFORMAT'/home/oracle/backup/data1/backup_%U';(设置备份的文件格式,只适用于磁盘设备)RMANconfigurecontrolfileautobackupon;(打开控制文件与服务器参数文件的自动备份)RMANconfigurecontrolfileautobackupformatfordevicetypediskto'/home/oracle/backup/data/ctl_%F';(设置控制文件与服务器参数文件自动备份的文件格式)4、查看所有设置:RMANshowall5、查看数据库方案报表:RMANreportschema;6、备份全库:RMANbackupdatabaseplusarchivelogdeleteinput;(备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志)7、备份表空间:热备份(归档状态下才有效果)1、altertablespacetablespace_namestartbackup;2、拷贝你的该表空间的数据文件备份3、altertablespacetablespace_nameendbackup;4、一个一个表空间做完,就备份完了RMANbackuptablespacesystemplusarchivelogdeleteinput;(备份指定表空间及归档的重做日志,并删除旧的归档日志)RMANbackuptablespaceUNDOTBSplusarchivelogdeleteinput;(备份指定表空间及归档的重做日志,并删除旧的归档日志)RMANbackuptablespaceSYSAUXplusarchivelogdeleteinput;(备份指定表空间及归档的重做日志,并删除旧的归档日志)RMANbackuptablespaceTEMPplusarchivelogdeleteinput;(备份指定表空间及归档的重做日志,并删除旧的归档日志)8、备份归档日志:RMANbackuparchivelogalldeleteinput;9、复制数据文件:RMANcopydatafile1to'/home/oracle/product/10.2.0.1/backup/system.copy';/*RMANcopy'/home/oracle/data/gti_sys01.dbf'to'/home/oracle/product/10.2.0.1/backup/system.copy';RMANcopy'/home/oracle/data/gti_undotbs.dbf'1to'/home/oracle/product/10.2.0.1/backup/undo.copy';RMANcopy'/home/oracle/data/sysaux_01.dbf'1to'/home/oracle/product/10.2.0.1/backup/sysaux.copy';*/10、查看备份和文件复本:RMANlistbackup;11、验证备份:RMANvalidatebackupset3;12、从自动备份中恢复服务器参数文件:RMANshutdownimmediate;(立即关闭数据库)RMANstartupnomount;(启动实例)RMANrestorespfiletopfile'/backup1/initgti.ora'fromautobackup;(从自动备份中恢复服务器参数文件)13、从自动备份中恢复控制文件:RMANshutdownimmediate;(立即关闭数据库)RMANstartupnomount;(启动实例)RMANrestorecontrolfileto'/backup1'fromautobackup;(从自动备份中恢复控制文件)13、恢复和复原全数据库:RMANshutdownimmediate;(立即关闭数据库)RMANexit(退出)%mv/home/oracle/product/10.2.0