RMAN备份.docx
《RMAN备份.docx》由会员分享,可在线阅读,更多相关《RMAN备份.docx(31页珍藏版)》请在冰豆网上搜索。
![RMAN备份.docx](https://file1.bdocx.com/fileroot1/2023-2/6/0cd45ffe-8d7e-425a-ab9a-7bba4cc1b8e2/0cd45ffe-8d7e-425a-ab9a-7bba4cc1b8e21.gif)
RMAN备份
RMAN的使用
RMAN(RecoveryManager)是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的ORACLE工具。
只能用于8i或更高的版本中。
它能够备份整个数据库或数据库部件,如表空间,数据文件,控制文件,归档文件以及SPFILE参数文件。
目标数据库,就是RMAN进行备份与恢复的数据库,RMAN可以备份除了联机日志,PFILE,密码文件以外的数据文件,控制文件,归档日志,SPFILE。
恢复目录,用来保存备份与恢复信息的一个数据库,不建议创建在目标数据库上,使用恢复目录可以同时管理多个目标数据库,存储更多的备份信息,可以存储备份脚本。
在不使用恢复目录时,RMAN的某些操作不能执行。
RMAN可以运行在归档模式和非归档模式下,建议数据库运行在归档模式下。
切换服务器归档模式,如果已经是归档模式可跳过此步:
sqlplus/nolog(启动sqlplus)
SQL>conn/assysdba(以DBA身份连接数据库)
SQL>shutdownimmediate;(立即关闭数据库)
SQL>startupmount(启动实例并加载数据库,但不打开)
SQL>alterdatabasearchivelog;(更改数据库为归档模式)
SQL>alterdatabaseopen;(打开数据库)
SQL>altersystemarchivelogstart;(启用自动归档)
SQL>exit(退出)
连接
●本地数据库:
C:
\>setoracle_sid=oracle实例名
C:
\>rmantargetxxbs/xxbs
●远程数据库
RMANTARGETXXBS/XXBS@GUO(启动恢复管理器)
最基本的备份操作
RMAN联接到数据库后,使用RMAN的预定义配置(即CONFIGURE选项全部为#DEFAULT)
●备份整个数据库
RMAN>BACKUPDATABASE;
●恢复数据库过程
1.RMAN>shutdownimmediate;(立即关闭数据库)
2.加载数据库,不打开。
RMAN>STARTUPMOUNT;
3.利用RESTORE命令对整个数据库进行修复,将所有的数据文件都修复到它们原来的位置中。
4.利用RECOVER命令对修复后的所有数据文件进行恢复。
RMAN>RECOVERDATABASE
5.查看RESTORE和RECOVER命令的执行结果是否包含错误,如没有任何错误,打开数据库。
RMAN>ALTERDATABASEOPEN;
●表空间备份
RMAN>BACKUPTABLESPACEXXBS;
●恢复表空间备份
1.RMAN>shutdownimmediate;(立即关闭数据库)
2.加载数据库,不打开。
RMAN>STARTUPMOUNT;
3.利用RESTORE命令对包含损坏或丢失数据文件的表空间进行修复,并将数据文件修复到原来的位置中,再利用RECOVER对修复后的表空间进行恢复。
RMAN>SQL‘ALTERTABLESPACEXXBSOFFLINEIMMEDIATE’;
RMAN>RESTORETABLESPACEXXBS;
RMAN>RECOVERTABLESPACEXXBS;
4.将恢复后的表空间置为联机状态
RMAN>SQL‘ALTERTABLESPACEXXBSONLINE’;
5.打开数据库
++++++++++++++++++++++++++++++++++++++++++++++++++++++以下待完善……..
基本设置
RMAN>showall(查看当前所有的预定义配置),如果要修改某项预定义配置,使用CONFIGURE命令对它进行重新定义。
执行完毕后重新执行SHOWALL命令,相应配置后面的“#DEFAULT”字符消失。
如果将某项预定义配置恢复为默认值,可以在CONFIGURE中指定CLEAR关键字。
RMAN>configuredefaultdevicetypetodisk;(设置默认的备份设备为磁盘)
RMAN>configuredevicetypediskparallelism1;(设置备份的并行级别,通道数)
RMAN>configurechannel1devicetypediskfromat'backup_%U';(设置备份的文件格式,只适用于磁盘设备)
RMAN>configurecontrolfileautobackupon;(打开控制文件与服务器参数文件的自动备份)
RMAN>configurecontrolfileautobackupformatfordevicetypediskto'/backup1/ctl_%F';(设置控制文件与服务器参数文件自动备份的文件格式)
4、查看所有设置:
RMAN>showall(查看当前所有的预定义配置)
5、查看数据库方案报表:
RMAN>reportschema;
6、备份全库:
RMAN>backupdatabaseplusarchivelogdeleteinput;(备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志)
7、备份xxbs表空间:
RMAN>backuptablespacexxbsplusarchivelogdeleteinput;(备份指定表空间及归档的重做日志,并删除旧的归档日志)
8、备份归档日志:
RMAN>backuparchivelogalldeleteinput;
9、查看备份和文件复本:
RMAN>listbackup;
11、验证备份:
RMAN>validatebackupset11;
脚本方式
备份数据库表空间users
C:
\>RMANTARGETXXBS/XXBS@GUO
RMAN>run{
allocatechannelc1typedisk;
backuptag'xxbs'format'E:
\oracle\oradataxxbs_%u_%s_%p'
tablespacexxbs;
releasechannelc1;
}
备份整个数据库
RMAN>run{
allocatechannelc1typedisk;
backupdatabaseformat'e:
\dbbackup\2db.dmp';
}
===========================================================
上一页12
12、从自动备份中恢复服务器参数文件:
RMAN>shutdownimmediate;(立即关闭数据库)
RMAN>startupnomount;(启动实例)
RMAN>restorespfiletopfile'/backup1/mydb.ora'fromautobackup;(从自动备份中恢复服务器参数文件)
13、从自动备份中恢复控制文件:
RMAN>shutdownimmediate;(立即关闭数据库)
RMAN>startupnomount;(启动实例)
RMAN>restorecontrolfileto'/backup1'fromautobackup;(从自动备份中恢复控制文件)
13、恢复和复原全数据库:
RMAN>shutdownimmediate;(立即关闭数据库)
RMAN>exit(退出)
%mv/Oracle/dbs/tbs_12.f/oracle/dbs/tbs_12.bak(将数据文件重命名)
%mv/oracle/dbs/tbs_13.f/oracle/dbs/tbs_13.bak(将数据文件重命名)
%mv/oracle/dbs/tbs_14.f/oracle/dbs/tbs_14.bak(将数据文件重命名)
%mv/oracle/dbs/tbs_15.f/oracle/dbs/tbs_15.bak(将数据文件重命名)
%rmantarget=rman/rman@mydb(启动恢复管理器)
RMAN>startuppfile=/oracle/admin/mydb/pfile/initmydb.ora(指定初始化参数文件启动数据库)
RMAN>restoredatabase;(还原数据库)
RMAN>recoverdatabase;(恢复数据库)
RMAN>alterdatabaseopen;(打开数据库)
14、恢复和复原表空间:
RMAN>sql'altertablespaceusersofflineimmediate';(将表空间脱机)
RMAN>exit(退出恢复管理器)
%mv/oracle/dbs/users01.dbf/oracle/dbs/users01.bak(将表空间重命名)
%rmantarget=rman/rman@mydb(启动恢复管理器)
RMAN>restoretablespaceusers;(还原表空间)
RMAN>recovertablespaceusers;(恢复表空间)
RMAN>sql'altertablespaceusersonline';(将表空间联机)
15、增量备份与恢复:
第一天的增量基本备份:
RMAN>backupincrementallevel=0databaseplusarchivelogdeleteinput;
第二天的增量差异备份:
RMAN>backupincrementallevel=2databaseplusarchivelogdeleteinput;
第三天的增量差异备份:
RMAN>backupincrementallevel=2databaseplusarchivelogdeleteinput;
第四天的增量差异备份:
RMAN>backupincrementallevel=1databaseplusarchivelogdeleteinput;
第五天的增量差异备份:
RMAN>backupincrementallevel=2databaseplusarchivelogdeleteinput;
第六天的增量差异备份:
RMAN>backupincrementallevel=2databaseplusarchivelogdeleteinput;
第七天的增量差异备份:
RMAN>backupincrementallevel=0databaseplusarchivelogdeleteinput;
增量恢复:
RMAN>shutdownimmediate;
RMAN>exit
%mv/oracle/dbs/tbs_12.f/oracle/dbs/tbs_12.bak
%mv/oracle/dbs/tbs_13.f/oracle/dbs/tbs_13.bak
%mv/oracle/dbs/tbs_14.f/oracle/dbs/tbs_14.bak
%mv/oracle/dbs/tbs_15.f/oracle/dbs/tbs_15.bak
%rmantarget=rman/rman@mydb
RMAN>startuppfile=/oracle/admin/mydb/pfile/initmydb.ora
RMAN>restoredatabase;
RMAN>recoverdatabase;
RMAN>alterdatabaseopen。
format--文件输出格式,
%d--databasename,
%s--backupsetssequencenumber,
%p--backuppiecessequencenumber