当前位置:  数据库>oracle

Oracle手工完全恢复案例(归档模式)

    来源: 互联网  发布时间:2017-05-23

    本文导语: 在做案例之前,先查看v$archived_log记录,发现太多了,考虑清除这些归档然后生成一些再做实验。 在操作系统上删除这些归档并不会在控制文件中有记录,所以查看v$archived_log时还会有记录,考虑用RMAN来删除: RMAN>delete archiveloga...

在做案例之前,先查看v$archived_log记录,发现太多了,考虑清除这些归档然后生成一些再做实验。

在操作系统上删除这些归档并不会在控制文件中有记录,所以查看v$archived_log时还会有记录,考虑用RMAN来删除:

RMAN>delete archivelogall;

之后再查看v$archived_log发现还有记录。google了下怎么解决,有三种方法。

相关阅读: Oracle手工恢复案例(非归档模式)

1.重建控制文件,例如 backup controlfileto trace后重建该控制文件,但要求有数据文件均存在。

2.设置control_file_record_keep_time=0 然后等待记录被重用,这样很不好。

3.使用包来清理,注意不要在生产库上这么做

PROCEDURE resetCfileSection(record_typeINbinary_integer);

– This procedure attemptsto reset the circular controlfilesection.

– Input parameters:

– record_type

– The circular record type whose controlfile sectionisto be reset.

execute sys.dbms_backup_restore.resetCfileSection(11); ==> 清理v$ARCHIVED_LOG对应的记录

execute sys.dbms_backup_restore.resetCfileSection(28); ==>清理v$rman_status对应的记录

手工完全恢复 案例一:media fuilure 丢失数据文件,其他文件不丢失

模拟环境:

首先做一个冷备。

查看当前日志状态

select group#,sequence#,archived,statusfrom v$log;

GROUP# SEQUENCE# ARC STATUS

----------------------- ----------------

1 4 NO CURRENT

2 2 YES INACTIVE

3 3 YES INACTIVE

查看归档日志

select name,sequence#from v$archived_log;

NAME SEQUENCE#

------------------------------------------------------------------------------------------

/u01/fast_recovery_area/MIKE/archivelog/2013_06_28/o1_mf_1_1_8wtf58m4_.arc 1

/u01/fast_recovery_area/MIKE/archivelog/2013_06_28/o1_mf_1_2_8wtf59cw_.arc 2

/u01/fast_recovery_area/MIKE/archivelog/2013_06_28/o1_mf_1_3_8wtf5ctc_.arc 3

此时我用test用户创建一个t1表,使用的是TEST表空间

create table t1(id number);

写一个循环插入数据

begin

for i in 1..10

loop

insert into t1 values(i);

end loop;

end;

/

提交

commit;

查看下当前日志

select group#,sequence#,archived,statusfrom v$log;

GROUP# SEQUENCE# ARC STATUS

----------------------- ----------------

1 4 NO CURRENT

2 2 YES INACTIVE

3 3 YES INACTIVE

刚才的操作变化记录在了sequence为4的日志中。下面切一组日志,让其归档。

alter system switch logfile;

现在模拟介质失败

rm -f /u01/oradata/mike/*.dbf

关库

shutdown abort

起库

startup

出错

ORA-01157: cannot identify/lockdatafile1- see DBWR tracefile

ORA-01110:datafile1:'/u01/oradata/mike/system01.dbf'

查看所需要恢复的文件

select file#,error from v$recover_file;

FILE# ERROR

---------------------------------------------------------------------------

1 FILENOTFOUND

2 FILENOTFOUND

3 FILENOTFOUND

4 FILENOTFOUND

5 FILENOTFOUND

8 FILENOTFOUND

现在开始还原

cp /backup/cold/mike/*.dbf/u01/oradata/mike/

再查看控制文件头部和数据文件头部SCN的差异

sys@MIKE>selectfile#,checkpoint_change#from v$datafile;

FILE# CHECKPOINT_CHANGE#

---------- ------------------

1 1553122

2 1553122

3 1553122

4 1553122

5 1553122

8 1553122

sys@MIKE>selectfile#,checkpoint_change#from v$datafile_header;

FILE# CHECKPOINT_CHANGE#

---------- ------------------

1 1552527

2 1552527

3 1552527

4 1552527

5 1552527

8 1552527


    
 
 

您可能感兴趣的文章:

  • 切换Oracle的归档模式以及非归档模式
  • oracle的归档模式 ORACLE数据库归档日志常用命令
  • 更改Oracle数据库的归档模式
  • 查看修改Oracle10G归档日志空间的限制
  • 关于Oracle将目标数据库设为归档模式应该注意的问题
  • Oracle 删除归档日志实例
  • oracle 如何关闭打开归档日志
  • Oracle数据库归档模式的切换
  • Linux下Oracle归档日志自动清理脚本代码(sh)
  • Oracle中归档模式的定义简述
  • Oracle10g自动归档设置
  • 更改Oracle数据库到归档模式
  • oracle日志操作模式(归档模式和非归档模式的利与弊)
  • Oracle 11G闪回数据归档新功能详述
  • win平台oracle rman备份和删除dg备库归档日志脚本
  • Oracle相关:Rman Crosscheck删除失效归档
  • Oracle切换为归档模式的步骤及问题解决
  • Oracle新手教程 手工创建数据库的全部脚本及说明
  • 高手救命,很急——ORACLE817安装在UNIXWARE711上,手工启动数据库后在netasst中连接错误,高手帮我看看?
  • [小技巧]手工扩大Oracle数据库表空间的方法
  • Oracle数据库手工扩大表空间的方法
  • ORACLE DATAGUARD中手工处理日志v$archive_GAP的方法
  • Oracle中手工创建数据库的全部脚本与说明
  • Oracle11.2 命令行手工最简创建数据库的过程
  • Linux下Oracle手工建库过程
  • 手工创建Oracle数据库控制文件的策略
  • 手工配置Oracle 10G Enterprise Manager过程
  • 在Oracle中手工对任务进行分区的方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle数据库恢复后心得
  • 关于系统重装后Oracle数据库完全恢复的解决办法
  • oracle drop table(表)数据恢复方法
  • Oracle数据库备份和恢复工具 RMan
  • oracle备份恢复的具体方法
  • oracle中误删除表后恢复语句(FLASHBACK)
  • oracle冷备份恢复和oracle异机恢复使用方法
  • 在Oracle 10gR2中设定指定的恢复点实现轻松闪回
  • Oracle重做日志文件损坏或丢失后的恢复
  • Oracle11g备份和恢复功能的提高
  • 实战Oracle数据库备份与恢复
  • Oracle数据库冷备份的异地恢复
  • oracle下实现恢复一个丢失的数据文件的代码
  • 详解通过Backup Exec来实施Oracle灾难恢复
  • Oracle的恢复管理器及DBMS_JOB包分析
  • Oracle数据库文件恢复以及备份思路
  • Oracle数据库备份恢复最佳实践
  • oracle如何恢复被覆盖的存储过程
  • rman恢复方案和oracle异机恢复
  • oracle数据库创建备份与恢复脚本整理
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,