设为首页 收藏本站
查看: 657|回复: 0

[经验分享] oracle user-maneged recovery(一)

[复制链接]

尚未签到

发表于 2016-7-20 10:37:26 | 显示全部楼层 |阅读模式
之前介绍了用户管理的备份,这里介绍一下恢复一.非归档模式关闭数据库的恢复
1.shutdown immediate; 关闭数据库
2.使用操作系统命令拷贝最新的备份(数据文件和控制文件,如果备份了日志文件)
3.进行不完全恢复recover database until cancel using backup;
4.重置日志打开数据库alter database open resetlogs;
二.数据文件离线或者表空间离线的恢复
SQL> create table t1 tablespace tbs_sf as select * from dba_objects;  --创建测试表到指定表空间
SQL> select file_id,file_name from dba_data_files where TABLESPACE_NAME='TBS_SF'; --可以看到数据文件时26号
FILE_ID FILE_NAME
---------- --------------------------------------------------
    26 /database/oradata/skyread/sf01.dbf
   
SQL> alter database datafile 26 offline drop; --数据文件脱机,这里是模拟故障,恢复的时候相当于从备份拷贝一个新文件回来
Database altered.

SQL> select count(*) from t1; --可见无法查看该表空间的表
select count(*) from t1
          *
ERROR at line 1:
ORA-00376: file 26 cannot be read at this time
ORA-01110: data file 26: '/database/oradata/skyread/sf01.dbf'
SQL> select hxfil file_id,fhsta status,fhscn scn,fhrba_seq seq from x$kcvfh where hxfil=26;


FILE_ID   STATUS SCN           SEQ
---------- ---------- ---------------- ----------
    26     4 122693804311       2
SQL> select GROUP#,BYTES,ARCHIVED,STATUS,SEQUENCE# from v$log; --可见红色的日志没有被覆盖,可以进行恢复


  GROUP#   BYTES ARC STATUS      SEQUENCE#
---------- ---------- --- ---------------- ----------
    1 536870912 YES INACTIVE         1
   2 536870912 NO CURRENT          2
    3 536870912 YES UNUSED          0
    4 536870912 YES UNUSED          0
    5 536870912 YES UNUSED          0
SQL> recover datafile 26; --进行恢复
Media recovery complete.
SQL> alter database datafile 26 online;


Database altered.


SQL> select count(*) from t1;


COUNT(*)
----------
  50483   

三.归档模式下进行完全恢复
条件:
1.设置为归档后的进行的有效备份
2.有效备份至今所有的归档都在
3.没有归档的重做日志文件
优点:
1.只需要恢复损坏的文件
2.提交的数据不会丢失
3.可以在数据库打开的时候进行恢复(非system空间和undo空间)
SQL> alter database datafile 26 offline drop; --模拟故障,数据文件损坏
Database altered.
SQL> select GROUP#,BYTES,ARCHIVED,STATUS,SEQUENCE# from v$log;


  GROUP#   BYTES ARC STATUS      SEQUENCE#
---------- ---------- --- ---------------- ----------
    1 536870912 YES INACTIVE         1
   2 536870912 NO CURRENT          2
    3 536870912 YES UNUSED          0
    4 536870912 YES UNUSED          0
    5 536870912 YES UNUSED          0
SQL> select * from v$recover_file;--查看进行恢复是需要恢复的数据文件


       FILE# ONLINE ONLINE_ ERROR             CHANGE# TIME
-------------------- ------- ------- --------------------------- -------------------
         26 OFFLINE OFFLINE              122693905229 2013-04-27 15:05:39
SQL> alter system switch logfile;  --多做几次,把序列为2的日志覆盖掉
SQL> select GROUP#,BYTES,ARCHIVED,STATUS,SEQUENCE# from v$log; --已经覆盖掉


       GROUP#        BYTES ARC STATUS           SEQUENCE#
-------------------- -------------------- --- ---------------- --------------------
         1      536870912 YES ACTIVE               6
         2      536870912 NO CURRENT               7
         3      536870912 YES INACTIVE              3
         4      536870912 YES ACTIVE               4
         5      536870912 YES ACTIVE               5
         
SQL> select * from v$recovery_log;--查看进行恢复是需要的归档


      THREAD#      SEQUENCE# TIME        ARCHIVE_NAME
-------------------- -------------------- ------------------- --------------------------------------------------
         1          2 2013-04-25 16:24:26 /database/oradata/arch/1_2_813495053.dbf
SQL> recover automatic datafile 26; --使用auto模式,自动应用归档和重做日志文件恢复数据文件
Media recovery complete.
SQL> alter database datafile 26 online; --更改数据文件在线


Database altered.


SQL> select count(*) from t1;


      COUNT(*)
--------------------
       50483

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-246823-1-1.html 上篇帖子: oracle and or 优先级 下篇帖子: 【Oracle】关于null的讨论
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表