用Oracle归档日志进行恢复方法

联机重演日志没有丢失应使用完成恢复,如联机重演日志损坏,而又没有备份,就只能进行不完全恢复。

一、完全恢复:
1.使用命令“svrmgrl”调用行方式服务器管理;
2.输入命令“connect internal”,然后输入命令“startup mount’;
3.输入命令“recover database;”
4.按下ENTER,接受默认值。
5.然后输入命令“alter database open;”完成数据库恢复。

二、不完全恢复
警告:
应用不完成恢复前,必须将数据库做一次完全冷备份,因为应用不完全恢复后,联机重演日志将重置,以前的所有日志不可用。
如果恢复不成功,数据库就不能使用了。再次强调,做完全冷备份后再应用不完全恢复。

1).基于变化的恢复(change-based recovery)
    要 执行基于变化的恢复,需要知道丢失日志之前的系统写入归档重演日志的最大的变化号(SCN),然后可以启动恢复语句恢复数据库直到改变 scn_number,其中比scn_number是写到已归档重演日志文件顺序号386的SCN(即,小于丢失日志顺序号387的SCN)。可以从 V$log_history视图中得到SCN信息。

select first_change# from v$log_history where sequence#=387;

其中387为最后一个有效的日志文件号加1,该例是查找386.
知道了SCN后,使用下述步骤完成恢复
1.使用命令“svrmgrl”调用行方式服务器管理;
2.输入命令“connect internal”,然后输入命令“startup mount’;
3.输入命令“recover database until change 9999;”
4.在回答Oracle第一个归档重演日志建议信息时,输入“auto”,Oracle在找到第387号重演日志之前停止恢复。
5.用命令“alter database open resetlogs;”打开数据库。(应用该命令前请确认数据库已备份,如打开失败,日志将不可用)

2).基于停止恢复(cancel-based recovery)
1.使用命令“svrmgrl”调用行方式服务器管理;
2.输入命令“connect internal”,然后输入命令“startup mount’;
3.输入命令“recover database until cancel;”,Oracle提示需要的第一个归档重演日志文件名.按下ENTER键接受缺省文件名,并且—路ENTER直到询问顺序号387的日志。输入“cancel”,停止恢复操作。
4.用命令“alter database open resetlogs;”打开数据库。(应用该命令前请确认数据库已备份,如打开失败,日志将不可用)

3).基于时间的恢复(time-based recovery)
为 使用基于时间的恢复,必须知道记录在V$log_history归档重演日志序号387(丢失重演日志)的时间,通过执行查询语句 “select time from v$log_history where sequence#=387;”得到。本例得到的时间 是:2002-06-23 14:42:04

现在开始实施恢复。
1.使用命令“svrmgrl”调用行方式服务器管理;
2.输入命令“connect internal”,然后输入命令“startup mount’;
3.输入命令“recover database until time '2002/06/23 14:42:04';”,Oracle提示需要的第一个归档重演日志文件名,输入“auto”,Oracle恢复归档重演日志直到序号为387的日志,停止恢复操作。
4.用命令“alter database open resetlogs;”打开数据库。(应用该命令前请确认已数据库已备份,如打开失败,日志将不可用)

提示: 使用基于时间的恢复,时间的格式是YYYY/MM/DD HH24:MI:SS,并且用单引号括起。

附:如何启用Oracle的归档方式
1.参照以下内容编辑init.ora文件:
log_archive_start = true
log_archive_dest_1 = " LOCATION=D:\Oracle\oradata\ORCL\archive "
og_archive_format = %%ORACLE_SID%%T%TS%S.ARC
2.关闭数据库
svrmgrl> connect internal
svrmgrl> shutdown normal
3.然后启动实例并安装该数据库,但不打开数据库。
svrmgrl> startup mount
4.接着,发布下列更改数据库的命令。
Svrmgrl> alter database archivelog;
5.现在,数据库已经更改为归档方式,您可以打开数据库。
svrmgrl> alter database open;

提示:也可以使用DBA studio工具启用数据库的归档方式,操作很简单

转载于:https://blog.51cto.com/soonrun/488349

用Oracle归档日志进行恢复方法相关推荐

  1. linux 误删除mysql表能恢复吗,Linux中误删除数据文件和归档日志的恢复方法

    误删除前,归档日志2个,用户数据4480064条 复制代码 代码如下: [oracle@station90 datafile]$ sqlplus /nolog SQL> conn hr/hr C ...

  2. oracle归档日志太多(ORA-00257: archiver error. Connect internal only, until freed)错误的处理方法

    1.原因 oracle归档日志太多 2.解决方法 删除一天前的oracle归档日志 3.删除步骤 1)使用sqlplus登录oracle sqlplus / as sysdba 2)查看归档日志使用信 ...

  3. oracle归档日志参数reopen=30,Oracle 归档日志 -- CSDN 比较全的说明文档

    -- Oracle归档日志 --==================== Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的过程称之为归档.相应的日志被称为归档日志. 一. ...

  4. 正确删除ORACLE归档日志文件

    在controlfile中记录着每一个archivelog的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的 controlfile中仍然记录着这些archivelog的信息,在ora ...

  5. Oracle归档日志与非归档日志的切换及路径设置

    Oracle归档日志与非归档日志的切换及路径设置 Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的过程称之为归档.相应的日志被称为归档日志. 一.归档日志 是联机重做日志 ...

  6. 5.1 损坏联机日志的恢复方法

    5.1 损坏联机日志的恢复方法 5.1.1 损坏非当前联机日志  大家都清楚,联机日志分为当前联机日志和非当前联机日志,非当前联机日志的损坏是比较简单的,一般通过clear命令就可以解决问题. 1.启 ...

  7. 误删除 Oracle 数据库数据的恢复方法

    学习数据库时,我们只是以学习的态度,考虑如何使用数据库命令语句,并未想过工作中,如果误操作一下,都可能导致无可挽回的损失. 今天主要以oracle数据库为例,介绍关于表中数据删除的解决办法.(不考虑全 ...

  8. oracle archiev,Oracle 归档日志 archivelog

    --==================== -- Oracle归档日志 --==================== Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的过 ...

  9. 二 查看oracle归档日志路径

    一,检查是否开启归档,开启的方法 数据的存档模式的操作必须要在mount中进行,且数据库要处于非open状态.所有关闭存档模式前,我们需要查看当前数据库的状态,并且关闭数据库,启动到mount,才可进 ...

最新文章

  1. 浅谈java中的四个核心概念【转】
  2. python基础6(来自廖雪峰的官方网站)
  3. C语言 · 比较字符串
  4. Hadoop MapReduce V2——找出每个月气温最高的2天
  5. java classpath设置_Java CLASSPATH设置
  6. P5706 【深基2.例8】再分肥宅水(python3实现)
  7. vue-cli 引用elementUI打包后文件过大
  8. jquery-演练-表格的模态框新增与点击删除功能
  9. Swif基本语法以及与OC比较三
  10. mysql case quchong_处理mysql的查询语句去重案例一则
  11. Expression Blend学习5控件-TextButton
  12. nanopc t3开发板系统烧录_基础教程18 定制 Arduino 系统
  13. HTML制作qq空间主页
  14. 计算机人员保密承诺书,涉密网络人员保密承诺书
  15. 无人机学习笔记 8 雷达工作波段划分
  16. TJA1050 引脚
  17. 微信 html自动加载js,微信小程序实现图片预加载组件
  18. PAT_乙级_1002_筱筱
  19. 《网络基础学习之三》认识网线制作工具
  20. STC8单片机ADC采样注意事项

热门文章

  1. 循环获取另一个php变量,通过引用将多个变量传递给foreach循环(php)
  2. arduino i2c 如何写16位寄存器_基于STM32使用I2C读取传感器数据
  3. TabError: inconsistent use of tabs and spaces in indentation
  4. eclipse修改字体大小
  5. 【BZOJ1061】【codevs1803】志愿者招募,神奇建图费用流
  6. 【codevs1250】Fibonacci数列,矩阵乘法入门
  7. python中代码块使用缩进来表示对吗_Python 为什么使用缩进来划分代码块?
  8. 苹果6换屏多钱_iphone12换屏多少钱 苹果12/12pro换屏幕官方价格报价
  9. 2017.4.16 麦森数 思考记录
  10. 华为公布鸿蒙2.0内测清单,华为鸿蒙操作系统2.0版支持的设备清单流出,荣耀30s...