zoukankan      html  css  js  c++  java
  • oracle usermaneged recovery(三)

    完全恢复:
    3.恢复打开的数据库(数据库故障引起宕机);
    介质或者硬件故障导致数据库关闭
    7*24小时运行,损坏的文件不属于系统表空间和回滚表空间
    例子:
    rm -rf /database/oradata/skyread/sf01.dbf 
    数据库已经因硬盘故障关闭,以上的sf01.dbf在改硬盘上
    SQL> conn /as sysdba
    Connected to an idle instance.
    SQL> startup mount;  --启动数据到mount状态
    ORACLE instance started.

    Total System Global Area 5049942016 bytes
    Fixed Size                  2090880 bytes
    Variable Size            1375733888 bytes
    Database Buffers         3657433088 bytes
    Redo Buffers               14684160 bytes
    Database mounted.
    SQL> alter database open;--由于数据文件损坏无法打开数据库
    alter database open
    *
    ERROR at line 1:
    ORA-01157: cannot identify/lock data file 26 - see DBWR trace file
    ORA-01110: data file 26: '/database/oradata/skyread/sf01.dbf'
    SQL> alter database datafile '/database/oradata/skyread/sf01.dbf' offline drop; --脱机故障的表空间
    Database altered.
    SQL> alter database open; --脱机故障文件后打开
    Database altered.
    SQL> alter database rename file '/database/oradata/skyread/sf01.dbf' to '/home/oracle/sf01.dbf'; 由于硬盘故障无法使用,这里使用备份数据文件
    Database altered.
    SQL> recover datafile 26; --进行介质恢复
    Media recovery complete.
    SQL> alter database datafile '/home/oracle/sf01.dbf' online; --数据文件online
    Database altered.
    SQL> col NAME for a50
    SQL> set linesize 150
    SQL> SELECT d.file# f#, d.name, d.status, h.status
      2  FROM v$datafile d, v$datafile_header h
      3  WHERE d.file# = h.file#;

            F# NAME                                               STATUS  STATUS
    ---------- -------------------------------------------------- ------- -------
             1 /database/oradata/skyread/system01.dbf             SYSTEM  ONLINE
             3 /database/oradata/skyread/sysaux01.dbf             ONLINE  ONLINE
             4 /database/oradata/skyread/users01.dbf              ONLINE  ONLINE
            18 /database2/oradata/skyread/TBS_MRPMUSIC01.dbf      ONLINE  ONLINE
            26 /home/oracle/sf01.dbf                              ONLINE  ONLINE
            31 /database2/oradata/skyread/undotbs02               ONLINE  ONLINE

    通过以上步骤恢复正常
    4.在没有备份的情况先恢复数据文件
    没有备份的数据文件故障的恢复,一定要有该文件创建以来的所有归档
    文件不属于系统表空间和回滚表空间
    控制文件知道这个文件的名称
    SQL> create tablespace tbs_test datafile '/database/oradata/skyread/tbs_test.dbf' size 10M; --创建测试表空间
    Tablespace created.
    SQL> create table t1 (a int) tablespace tbs_test; --创建测试表
    Table created.
    SQL> insert into t1 values(1); --插入数据
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> select file_name,tablespace_name from dba_data_files where tablespace_name='TBS_TEST';
    FILE_NAME                                          TABLESPACE_NAME
    -------------------------------------------------- ------------------------------
    /database/oradata/skyread/tbs_test.dbf             TBS_TEST
    rm -rf /database/oradata/skyread/tbs_test.dbf    --模拟故障删除该数据文件
    SQL>  alter tablespace tbs_test offline immediate;  --回到数据库offline表空间,如果数据库关闭的,那么数据库打开到mount状态,数据文件脱机
    Tablespace altered.
    SQL> select * from v$recover_file; --查看需要恢复的数据文件

         FILE# ONLINE  ONLINE_ ERROR                                                                CHANGE# TIME
    ---------- ------- ------- ----------------------------------------------------------------- ---------- -------------------
             2 OFFLINE OFFLINE FILE NOT FOUND                                                             0
    SQL> alter database create datafile '/database/oradata/skyread/tbs_test.dbf'; --手工创建数据文件如果原来的不能使用,可以加上as '老的数据文件'
    Database altered.
    SQL>  select * from v$recover_file;

         FILE# ONLINE  ONLINE_ ERROR                                                                CHANGE# TIME
    ---------- ------- ------- ----------------------------------------------------------------- ---------- -------------------
             2 OFFLINE OFFLINE                                                                   1.2269E+11 2013-05-02 16:09:33
    SQL> recover tablespace tbs_test; --介质恢复
    Media recovery complete.
    SQL> alter tablespace tbs_test online; --联机表空间
    Tablespace altered.
    SQL> select * from t1;  --数据恢复了

             A
    ----------
             1
  • 相关阅读:
    《魏坤琳的科学育儿宝典》笔记
    大千世界中,万物皆有时节
    心里健康基本要素
    不带评论的观察是人类智力的最高形式
    《七律·人民解放军占领南京》
    《最好的防御就是进攻》-- 向任总汇报无线业务会议纪要 2013年9月5日
    《深淘滩,低作堰》-- 任正非在运作与交付体系奋斗表彰大会上的讲话 2009年4月24日
    《市场经济是最好的竞争方式,经济全球化是不可阻挡的潮流》-- 任正非在财经系统表彰大会上的讲话 2009年3月24日
    《开放、妥协与灰度》-- 任正非在2009年全球市场工作会议上的讲话 2009年1月15日
    《让青春的火花,点燃无愧无悔的人生》-- 任正非在无线产品线奋斗大会上的讲话纪要 2008年5月31日
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3102417.html
Copyright © 2011-2022 走看看