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. 12.18栈、队列练习题

    12.18栈.队列练习题 要求: 栈和队列是线性数据结构的代表,结构简单,易于理解. 1.Noi网站上的必须全做完. 2.codevs上栈和队列的所有等级题全部做 3.线性结构中有个知识点是哈希,12 ...

  2. 什么是13薪,真的有18薪、25薪的不?

    什么是13薪,真的有18薪.25薪的不? https://m.sohu.com/a/327971897_100035960 我解答了很多读者的职业问题,其中有一类的叫做"背景调查" ...

  3. 2020高德技术年刊:18万字、750页+,智慧出行最佳技术实践都在这了

    年味逾浓,春节渐近. 高德技术年刊如期而至. 过去的一年里,高德业务快速发展,国庆出行节的日活跃用户数突破1.5亿,又创新高.高德技术人在支撑业务快速发展的同时也在持续创新:导航个性化.引擎服务化.基 ...

  4. 18.AtomicReference、AtomicStampReference底层原理。多个变量更新怎么保证原子性?CAS的ABA问题怎么解决?

    老王:小陈啊,上一章我们说了AtomicInteger.AtomicBoolean的底层原理,这一篇我们就来说说Atomic系列的另一个分类AtomicReference和AtomicStampRef ...

  5. Minecraft 1.18.1、1.18.2模组开发 22.狙击枪(Sniper Rifle)

    Minecraft 1.18.1.1.18.2模组开发 05.发射器+投掷物 我们今天在模组中实现一把狙击枪. 1.与第5期教程类似,我们需要首先制作枪械的模型和子弹的模型: 不过我们本次希望狙击枪在 ...

  6. python正则匹配字母后面四位数字_怎么写一条正则去匹配15位、18位、还有最后一个字符为字母的身份证号...

    大佬们,我想用一条正则表达式在一堆字符串里面去匹配匹配15位.18位.还有最后一个字符为字母的身份证号.那一堆字符串如下: |_ Potentially risky methods: TRACE |_ ...

  7. 问题 I: 4.18 join、split  删除字符串s=‘zzz xx y u v w ttt ‘中多余的空白字符,如果有连续多个空白字符,只保留一个。

    问题 I: 4.18 join.split 时间限制: 1 Sec 内存限制: 128 MB 提交: 3507 解决: 2657 [提交] [状态] [讨论版] [命题人:wangbs] 题目描述 4 ...

  8. 【JavaScript】身份证号码合规性校验(支持18位、15位)

    [JavaScript]身份号码(同时支持18位号码.15位号码)合规性校验 一.身份证号码校验 这个方法共分为4个部分,分别对身份证号码的格式和长度.前2位省份编码.出生日期.18位号码的校验码进行 ...

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

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

最新文章

  1. python制作缩略图
  2. VS Web.config 密码加密加密
  3. Acwing第 31 场周赛【完结】
  4. PandasSQL语法归纳总结,真的太全了
  5. PAT学习资料汇总(PAT甲级、PAT顶级、PAT考试经验)
  6. LeetCode : Number of Segments in a String
  7. matlab简单分析频域滤波和时域滤波
  8. ZooKeeper分布式过程协同技术详解2——了解ZooKeeper
  9. 【原创】Mac 工作协同之文件共享问题
  10. 前端vue实现PDF预览
  11. 最小二乘法曲线拟合(c++实现)
  12. 阿里云智能巡检管家使用攻略及功能示例
  13. union和union all哪个效率高
  14. 手机修图软件测试,10款好用的手机图片编辑器软件排行榜
  15. jquery ZeroClipboard实现黏贴板功能,兼容所有浏览器
  16. 附近的宠物店在哪里_离我家近的宠物医院 附近宠物诊所医院
  17. Vue上传文件 iview Upload UI 组件上传组件
  18. python批量移动文件到指定文件夹_使用python批量将文件夹中的文件移动到某个文件夹下...
  19. 家电类CCC认证流程
  20. 转:青年教师科研方向规划

热门文章

  1. UA MATH567 高维统计II 随机向量10 Grothendieck不等式的证明 版本二:kernel trick
  2. 达梦数据库的基本使用
  3. PE文件结构 - 数据目录表学习
  4. GIS地图界面和计算机图形学填充算法
  5. C++反汇编代码分析
  6. Windows建立目录软连接
  7. Codeforces #499 E Border ( 裴蜀定理 )
  8. HDU 1166 敌兵布阵
  9. CSS样式表初始化代码
  10. js字符串的各种格式的转换 ToString,Format