用Oracle归档日志进行数据库恢复的方法_sstevencao的博客-程序员秘密

技术标签: 操作系统  Oracle  数据库  

Oracle数据库备份的方法很多,下面就为您介绍用Oracle归档日志进行数据库恢复的方法,希望对您学习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工具启用数据库的归档方式,操作很简单

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sstevencao/article/details/83983393

智能推荐

Math函数_养鹰的兔子的博客-程序员秘密

        转自https://blog.csdn.net/qq_15128547/article/details/50588988        Math.abs(12.3);                    //12.3 返回这个数的绝对值        Math.abs(-12.3);                //12.3                Math.co...

linux下载sra数据库,使用fastq-dump从NCBI的SRA数据库下载数据_鞠起的博客-程序员秘密

测序类的论文,一般需要将原始测序reads数据上传到某个公开的数据库,然后在文章末尾标明数据存储位置和登录号。NCBI的SRA (Sequence Read Archive) 数据库(http://www.ncbi.nlm.nih.gov/sra/) 是最常用的存储测序数据的数据库。如何从SRA数据库下载他人公开的数据,以作己用呢?fastq-dump-X5-Z SRR492257#直接看到...

解决“远程主机被迫关闭了一个现有的连接”的问题_远程主机强迫关闭了一个现有连接怎么解决_予清欢_lyh的博客-程序员秘密

在虚拟环境的py36中pip一些库的时候,都会出现“远程主机被迫关闭了一个现有的连接”的error提示,所以之前都是用conda install来实现所需库的安装,今天将“360安全卫士”关闭后,问题就解决了,就可以实现pip安装,并不在弹出上述问题了!(个人心得,仅供参考,欢迎交流)...

android 最炫酷的效果(跳动的数字 《仿支付宝效果》)_android 数字动画_别碰我的IDEA的博客-程序员秘密

效果图: 点击start将会从初始值 到结束值 以滚动的形式进行轮滚。(仿支付宝)1.创建思想:首先我们可以确定的是动画,这是一个动画,我们可以选择通过属性动画来进行实现;然后对这些数字进行约束,进行格式化,我会一步一步讲解实现步骤,2.实现过程:1) 首先这是一个文本,所以我们要自定义一个文本,ScrollingDigitalAnimation 继承 TextView...

Servlet的学习_小希一夏的博客-程序员秘密

1.Servlet的运行流程分析(1)请完整的写出视频中在画图中Servlet创建流程?Servlet创建流程:1、创建一个项目,并在项目中创建一个包(an.sz.servlet)2、在包中创建一个实现了HTTPServlet的java类3、覆写service方法,在方法中声明请求处理的规则4、在web.xml文件中配置servlet5、将web目录中webroot下的所有内容复制到...

随便推点

dispose的困惑_dispose 耗费时间长_河南阿锋的博客-程序员秘密

为了释放数据库连接池的资源,仅需要执行close,执行dispose是多余的。 执行Close()不释放数据库连接池的资源,而是把连接放回连接池中待用;Dispose则会把这个连接彻底销毁掉,不会再放入连接池。如果所有的连接都被Dispose的话,每次使用数据库都必须重新创建连接,这样很耗费资源。因此不要用Dispose,.NET会维护连接池,连接Open的时候从连接池中取出一个没有使用的连接

java 读取raw文件_android 读取raw下TXT文件_weixin_39876877的博客-程序员秘密

直接贴code吧,一个方法如下:public static void readFile(){InputStream myFile=null;myFile=res.openRawResource(R.raw.cet4);//cet4为一个TXT文件BufferedReader br = null;try {br = new BufferedReader(newInputStreamReader(my...

JQuery EasyUI01_吴不甜的博客-程序员秘密

一.什么是 jQuery EasyUI jQuery EasyUI 是一组基于 jQuery 的 UI 插件集合,而 jQuery EasyUI 的目标就是帮助Web 开发者更轻松的打造出功能丰富并且美观的 UI 界面。开发者不需要编写复杂的JavaScript,也不需要对 css样式有深入的了解,开发者需要了解的只有一些简单的 html标签。官方网站:http://www.jeasyui.com...

View(1) - 绘制原理_四夕口鸟的博客-程序员秘密

体系Activity -> phoneWindow ->DecorView -> 各ViewGroup等1.DecorView(FrameLayout)包含StateView、TitileView、ContentView 等子View ,setContentView 设置的是DecorView子View。2.Activity 托管 phoneWindow实例对象,ph...

POP3、SMTP和IMAP_流浪的侠客的博客-程序员秘密

POP3      POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收

vue导出excel表格_无名之辈程序媛的博客-程序员秘密

一.安装三个依赖npm install -S file-saver npm insall -S xlsxnpm install -D script-loader二.在src文件夹下新建excel文件夹,后在excel文件夹下新建Bolb.js和Export2Excel.jsBolb.js文件如下代码:(function (view) { "use strict"; view.URL = view.URL || view.webkitURL; if (vie

推荐文章

热门文章

相关标签