RMAN实战14:用RMAN恢复ORACLE归档日志、控制文件、spfile及logminer的使用
2015-12-23 20:59
966 查看
归档日志
恢复所有备份的归档到默认位置
恢复指定范围内的归档日志
用命令块将归档日志恢复到非默认位置
控制文件的恢复
spfile 文件的恢复
logminer工具的使用
主要介绍了用RMAN将归档日志、控制文件、spfile恢复到默认位置或其他位置
恢复是可能需要归档重做日志,提交把归档恢复,提高恢复速度
将归档重做日志恢复到非默认位置
需要用logminer分析日志中的内容,关于LogMiner的简单实用,文中最后会有介绍
用下面这个命令来将所有已经备份的归档(从上面sql查出来的归档)还原到原位置,如果这些归档都存在的话:
执行前进行交叉验证一次,作用是验证控制文件中备份信息是否磁盘上备份对的上号:
恢复所有备份的归档到默认位置
恢复指定范围内的归档日志
用命令块将归档日志恢复到非默认位置
控制文件的恢复
spfile 文件的恢复
logminer工具的使用
主要介绍了用RMAN将归档日志、控制文件、spfile恢复到默认位置或其他位置
归档日志
RMAN在恢复的过程中如果需要归档文件进行redo一般会在原归档日志找归档,本地找不需要归档的情况下再去备份集、备份片中找一家备份的归档日志,所以在一般情况下不需要恢复归档,单在如下情况下可能要需要恢复归档日志:恢复是可能需要归档重做日志,提交把归档恢复,提高恢复速度
将归档重做日志恢复到非默认位置
需要用logminer分析日志中的内容,关于LogMiner的简单实用,文中最后会有介绍
恢复所有备份的归档到默认位置
下面的这sql来查询曾经产生过的归档日志:sys@CYANG> select * from v$log_history ;
用下面这个命令来将所有已经备份的归档(从上面sql查出来的归档)还原到原位置,如果这些归档都存在的话:
RMAN> restore archivelog all;
执行前进行交叉验证一次,作用是验证控制文件中备份信息是否磁盘上备份对的上号:
crosscheck archivelog all;
恢复指定范围内的归档日志
RMAN> restore archivelog from sequence 68 until sequence 78 thread 1; RMAN> restore archivelog sequence between 68 and 78 thread 1; # 在磁盘上的归档不会被恢复,如果强制进行覆盖可硬用force 参数: RMAN> restore archivelog from sequence 1 force;
用命令块将归档日志恢复到非默认位置
run{ set archivelog destination to '/u01/archtemp'; restore archivelog from sequence 8 force; }
控制文件的恢复
# 从恢复目录中恢复 $ rman target / catalog rcat/foo@rcat RMAN> startup nomount; RMAN> list backup of controlfile; RMAN> startup nomount; RMAN> restore controlfile; # 从autobackup中恢复 $ rman target / RMAN> startup nomount; RMAN> restore controlfile from autobackup; # 如果知道备份的控制文件名可以指定恢复 RMAN> startup nomount; RMAN> restore controlfile from '/u01/O12C/rman/rman_ctl_c-3423216220-20130113-01.bk';
spfile 文件的恢复
# 从恢复目录恢复 $ rman target / catalog rcat/foo@rcat RMAN> startup nomount; RMAN> restore spfile; # 用自动恢复 RMAN> startup nomount force; RMAN> restore spfile to '/tmp/spfile.ora' from '/u01/O12C/rman/rman_ctl_c-3423216220-20130113-00.bk'; # 然后vi修改下,在改名字求OK了 $ cp /tmp/spfile.ora $ORACLE_HOME/dbs/spfileo12c.ora
logminer工具的使用
这个是oracle数据库的一个工具,用于发掘归档日志中的数据:--初始化 SQL> @?\rdbms\admin\dbmslm.sql; 程序包已创建。 授权成功。 同义词已创建。 SQL> @?\rdbms\admin\dbmslmd.sql; 程序包已创建。 同义词已创建。 SQL> --修改时间格式 alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; --验证时间格式 select sysdate from dual --用一个业务用户连接,做一些更改的操作,并提交 select * from test1 delete from test1 where job_id='AD_VP' update test1 set max_salary=max_salary+1000 --用sysdba连接将在线日志归档 conn /as sysdba alter system switch logfile; --查看日志 select t.first_time, t.name from v$archived_log t order by t.first_time --选择要分析的日志,用sys用户 desc execute dbms_logmnr.add_logfile(logfilename=>'C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2015_06_22\O1_MF_1_1_BRHVGN9R_.ARC',options=>dbms_logmnr.new); --开始分析 execute dbms_logmnr.start_logmnr(options=> dbms_logmnr.dict_from_online_catalog); --查看分析内容 select * from v$logmnr_contents lc where lc.seg_owner='USER1' execute dbms_logmnr.end_logmnr; --结束分析 execute dbms_logmnr.end_logmn
相关文章推荐
- Oracle备忘录
- Oracle中trunc函数、round 函数、ceil函数和floor函数的使用
- Oracle 行转列、列转行 的Sql语句总结
- Oracle合并多列到一行wm_concat
- Oracle表空间的一些介绍
- Oracle体系结构(三)---DBWR机制
- Oracle数据库备份、恢复及常见问题
- oracle服务器迁移后注意事项
- RMAN实战12:ORACLE数据块坏块的检查和恢复
- ORACLE安装心得,大家一起分享,假设不正确的地方,大家请指出来
- Oracle-单表合并列
- Oracle-单表合并列
- Oracle建表插数据等等
- Oracle数据库12560及更改密码为永久
- Oracle一个表中的数据插入另一张表
- oracle插入大量数据
- Oracle 调度程序(scheduler)摘自一位大神
- Oracle数据库几种启动和关闭方式
- oracle 合并多行记录
- Oracle体系结构(二)---日志处理机制