18.7、Performing Complete User-Managed Media Recovery

完毕一致性备份,把数据库恢复到当前的scn是最好的结果。能够恢复整个数据库。恢复单个表空间。或恢复数据文件。一致性恢复不须要resetlogs打开数据库,非一致性恢复须要resetlogs打开数据库。Backup and Recovery Basics提供了关于介质恢复的信息。

18.7.1、Performing Closed Database Recovery

能够在一个操作中恢复全部损坏的数据文件。也能够分开操作恢复每一个损坏的数据文件。

18.7.1.1、Preparing for Closed Database Recovery

(1)关闭数据库,检查出现故障的介质设备

(2)假设引起介质失败的问题是暂时的,假设数据没有损坏(比方,磁盘或控制器掉电),不须要介质恢复:仅仅需启动数据库。又一次開始操作。

假设不能修复,就进行下面步骤

18.7.1.2、Restoring Backups of the Damaged or Missing Files

(1)推断哪些数据文件须要恢复

(2)找到损坏的数据文件的近期备份。只还原损坏的数据文件:不要还原没有损坏的数据文件或不论什么重做日志文件。假设没有不论什么备份。只能创建一个数据文件(有归档)

alter database create datafile 'xxx' as 'xxx' size xxx reuse

(3)使用操作系统命令把数据文件还原到默认位置或新的位置。

alter database rename file 'xxx' to 'xxx';

18.7.1.3、Recovering the Database

(1)使用系统管理员权限连接数据库,启动数据库到mount

(2)查询v$datafile获得数据文件名称和状态

(3)须要恢复的数据文件必须是在线的,除了offline normal的表空间或read-only表空间

select 'alter dabase datafile ' || name || ' online;' from  v$datafile;

(4)运行recover database,recover tablespace xxx,recover datafile 'xxx'等语句

(5)没有自己主动地恢复,必须接受或拒绝每一个指出的日志。假设自己主动地恢复,数据库自己主动地应用日志。

(6)介质恢复完毕,数据库返回:Media recovery complete。

(7)alter database open

18.7.2、Performing Datafile Recovery in an Open Database

当数据库处于打开状态时,出现介质失败。不能被写时返回错误。一般表空间的仅仅是损坏的数据文件离线,不能查询时返回错误,一般表空间的仅仅是损坏的数据文件不会离线。

当数据库处于打开状态时,该恢复过程不能用做system表空间的全然介质恢复。

假设system表空间的数据文件损坏,数据库自己主动关闭。

18.7.2.1、Preparing for Open Database Recovery

(1)数据库处于打开,发现须要恢复,把包括损坏的数据文件的表空间离线。

(2)假设引起介质失败的问题是暂时的,假设数据没有损坏(比方。磁盘或控制器掉电),不须要介质恢复:仅仅需启动数据库,又一次開始操作。假设不能修复,就进行下面步骤

18.7.2.2、Restoring Backups of the Inaccessible Datafiles

(1)推断哪些数据文件须要恢复

(2)找到损坏的数据文件的近期备份。

只还原损坏的数据文件:不要还原没有损坏的数据文件或不论什么重做日志文件。假设没有不论什么备份,只能创建一个数据文件(有归档)

alter database create datafile 'xxx' as 'xxx' size xxx reuse

SQL> alter database create datafile '/oracle/oradata/boss/testtbs04_01.dbf' as '/oracle/oradata/boss/testtbs04_01.dbf' size 10m reuse;

(3)使用操作系统命令把数据文件还原到默认位置或新的位置。

alter database rename file 'xxx' to 'xxx';

18.7.2.3、Recovering Offline Tablespaces in an Open Database

(1)运行recover database,recover tablespace xxx,recover datafile 'xxx'等语句

(2)没有自己主动地恢复,必须接受或拒绝每一个指出的日志。假设自己主动地恢复,数据库自己主动地应用日志。

(3)介质恢复完毕,数据库返回:Media recovery complete。

SQL> recover automatic tablespace testtbs04; 

(4)alter database open

模拟1、创建表空间testtbs04,创建一个表,删除相应的数据文件,做关闭数据库的恢复

(1)

SQL> create tablespace testtbs04

  2    datafile '/oracle/oradata/boss/testtbs04_01.dbf' size 10m

  3    autoextend on next 1m maxsize unlimited

  4    logging

  5    extent management local autoallocate

  6    blocksize 8k

  7    segment space management auto

  8    flashback on;

(2)

SQL> create table test04(id number, name varchar2(30)) tablespace testtbs04;

SQL> insert into test04 values(1, 'xxxxx');

SQL> insert into test04 values(2, 'yyyyy');

SQL> commit;

(3)

SQL> select group#,members,sequence#,archived,status,first_change# from v$log;

GROUP#    MEMBERS  SEQUENCE# ARC STATUS           FIRST_CHANGE#

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

         1          1          0 YES UNUSED                       0

         2          1          0 YES UNUSED                       0

         3          1          1 NO  CURRENT                 697986

SQL> alter system switch logfile;

SQL> alter system switch logfile;

SQL> alter system switch logfile;

SQL> select group#,members,sequence#,archived,status,first_change# from v$log;

GROUP#    MEMBERS  SEQUENCE# ARC STATUS           FIRST_CHANGE#

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

         1          1          2 YES INACTIVE                707835

         2          1          3 YES INACTIVE                707837

         3          1          4 NO  CURRENT                 707840

(4)

$ rm -rf testtbs04_01.dbf

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup open;

SQL> col "文件名称" for a40;

SQL> col "表空间名" for a10

SQL> set linesize 150

SQL>

select

  ts.name "表空间名"

  , df.file# "文件号"

  , df.checkpoint_change# "检查点"

  , df.name "文件名称"

  , df.status "在线状态"

  , rf.error "恢复原因"

  , rf.change# "系统变更号"

  , rf.time

  from v$tablespace ts,v$datafile df,v$recover_file rf

where ts.ts#=df.ts# and df.file#=rf.file#

order by df.file#;

SQL> select

  2    ts.name "表空间名"

  3    , df.file# "文件号"

  4    , df.checkpoint_change# "检查点"

  5    , df.name "文件名称"

  6    , df.status "在线状态"

  7    , rf.error "恢复原因"

  8    , rf.change# "系统变更号"

  9    , rf.time

 10    from v$tablespace ts,v$datafile df,v$recover_file rf

 11  where ts.ts#=df.ts# and df.file#=rf.file#

 12  order by df.file#;

表空间名       文件号     检查点 文件名称                                   在线状  恢复原因           系统变更号 TIME

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

TESTTBS02           8     652783 /oracle/oradata/boss/testtbs02_01.dbf    OFFLINE OFFLINE NORMAL              0

TESTTBS04          10     707840 /oracle/oradata/boss/testtbs04_01.dbf    ONLINE  FILE NOT FOUND              0

(5)

SQL> alter database create datafile '/oracle/oradata/boss/testtbs04_01.dbf' as '/oracle/oradata/boss/testtbs04_01.dbf' size 10m reuse;

SQL> select file#,name,status,CHECKPOINT_CHANGE#,recover from v$datafile_header where file#=10;

FILE# NAME                                     STATUS  CHECKPOINT_CHANGE# REC

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

        10 /oracle/oradata/boss/testtbs04_01.dbf    ONLINE              707602 YES

(6)

SQL> recover automatic tablespace testtbs04; 

Media recovery complete.

SQL> alter database open;

SQL> select * from test04;

ID NAME

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

         1 xxxxx

         2 yyyyy

Performing User-Managed Database-18.7、Performing Complete User-Managed Media Recovery的更多相关文章

  1. Performing a full database disaster recovery with RMAN

    Performing a full database disaster recovery with RMAN1. Make the RMAN backup set pieces available.2 ...

  2. ORA-10456:cannot open standby database;media recovery session may be in process

    http://neeraj-dba.blogspot.com/2011/10/ora-10456-cannot-open-standby-database.html   Once while star ...

  3. 关闭归档提示:ORA-38774: cannot disable media recovery - flashback database is enabled

    SQL> select * from v$version; Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit P ...

  4. C#、VB.NET 使用System.Media.SoundPlayer播放音乐

    原文:C#.VB.NET 使用System.Media.SoundPlayer播放音乐 同步播放: System.Media.SoundPlayer player = new System.Media ...

  5. Oracle实例的恢复、介质恢复( crash recovery)( Media recovery)

    实例的恢复( crash recovery) 什么时候发生Oracle实例恢复? shutdown abort; 数据库异常down掉(机器死机,掉电...) 实例恢复的原因是数据有丢掉,使用redo ...

  6. MySQL5.7.18 备份、Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份,数据导入导出

    粗略介绍冷备,热备,温暖,及Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份 --备份的目的 灾难恢复:意外情况下(如服务器宕机.磁盘损坏等)对损 ...

  7. MySQL安装卸载、idea中Database的使用、常用的sql语句

    MySQL安装卸载 MySQL安装 在下面的资源链接中下载MySQL软件压缩包(绿色版),这个版本是MySQL5.7.29的,本教程也只适用于这个绿色版的,如果下载的是安装包那就可能有些地方不一样了, ...

  8. leetcode 1.Two Sum 、167. Two Sum II - Input array is sorted 、15. 3Sum 、16. 3Sum Closest 、 18. 4Sum 、653. Two Sum IV - Input is a BST

    1.two sum 用hash来存储数值和对应的位置索引,通过target-当前值来获得需要的值,然后再hash中寻找 错误代码1: Input:[3,2,4]6Output:[0,0]Expecte ...

  9. .NET Core CSharp初级篇 1-8泛型、逆变与协变

    .NET Core CSharp初级篇 1-8 本节内容为泛型 为什么需要泛型 泛型是一个非常有趣的东西,他的出现对于减少代码复用率有了很大的帮助.比如说遇到两个模块的功能非常相似,只是一个是处理in ...

随机推荐

  1. 解决Win10 中打开VS2012 出现“ASP.NET 4.0 尚未在 Web 服务器上注册”

    系统升级为win10后,在使用vs2012打开原来的项目时,会出现“ASP.NET 4.0 尚未在 Web 服务器上注册”的问题,如图: 想到在win8.1系统下,也出现过同样的问题,就直接使用命令提 ...

  2. 【bzoj3771】Triple FFT+容斥原理

    题目描述 樵夫的每一把斧头都有一个价值,不同斧头的价值不同.总损失就是丢掉的斧头价值和. 他想对于每个可能的总损失,计算有几种可能的方案. 注意:如果水神拿走了两把斧头a和b,(a,b)和(b,a)视 ...

  3. HDU 3622 Bomb Game(二分+2-SAT)

    Bomb Game Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  4. easyUI 接收Spring Mvc中@ResponseBody中文乱码解决

    接触springMVC不够深入,乱码困扰我到深夜,特此留下记忆: @responsebody默认滴是ISO-8859-1 Controller注解参数 @ResponseBody 标注后返回Strin ...

  5. 洛谷P1816 忠诚

    P1816 忠诚 569通过 1.5K提交 题目提供者该用户不存在 标签云端 难度普及+/提高 时空限制1s / 128MB 提交  讨论  题解 最新讨论更多讨论 主席树的常数貌似大于线段树… TL ...

  6. 移动端页面a input去除点击效果及pc端切换

    1 手机端页面a button input去除点击效果以及闪屏问题 添加: a, button, input { -webkit-tap-highlight-color: rgba(255, 0, 0 ...

  7. 上传图片获取base64位编码

    function loadImg(){ //获取文件 ].files[]; //创建读取文件的对象 var reader = new FileReader(); //创建文件读取相关的变量 var i ...

  8. 解决 unity 用 vs通过wifi 真机联调 一直连接不上

    平时 在公司网络太差,要通过wifi 用vs真机联调时,vs一直连不上设备,很是蛋疼...用下面官方给出的方法可以解决 Attaching MonoDevelop Debugger To An And ...

  9. 问题:viewController不会调用dealloc()不会销毁

    问题 在调试程序时,我从ViewController A push进 ViewController B,在从B back时发现程序不会执行B里面的dealloc(),很诡异的问题,因为按理说此时点击b ...

  10. sgu 275 To xor or not to xor 线性基 最大异或和

    题目链接 题意 给定\(n\)个数,取其中的一个子集,使得异或和最大,求该最大的异或和. 思路 先求得线性基. 则求原\(n\)个数的所有子集的最大异或和便可转化成求其线性基的子集的最大异或和. 因为 ...