zoukankan      html  css  js  c++  java
  • RMAN数据库恢复 之归档模式有(无)备份-丢失数据文件的恢复

    1、归档模式有备份,丢失数据文件的恢复
    归档模式有备份,不管丢失什么数据文件,直接在RMAN下RESTOER--->RECOVER--->OPEN即可。

    RMAN> STARUP MOUNT;
    
    RMAN> RESTORE DATAFILE 5; --恢复丢失的数据文件,序号为5;
    
    RMAN> RECOVER DATAFILE 5; --应用归档文件,联机重做日志文件执行数据库修复,将数据文件恢复到最近时间点(就是应用备份后到数据文件 
    丢失前的那些更改,以保持数据库的一致性状态)
    
    RMAN> ALTER DATABASE OPEN;

    2、归档模式无备份,丢失数据文件的恢复
    说明:如果丢失的是SYSTEM表空间中的数据文件,则必须要有备份,否则无法恢复。如果丢失的是临时表空间,则不需要恢复,重建一个就可以了。如果丢失的是其它表空间的数据文件,从其创建时刻起所有的重做日志文件都还在,因此只需要重建该数据文件后,通过RECOVER应用重做日志,重建该数据文件的内容即可。
    2.1 非RMAN模式恢复(用户管理和备份方式)

    准备测试数据:

    SQL> CREATE TABLESPACE TEST DATAFILE 'D:TEST	est01.dbf' size 10M;
    表空间已创建。
    
    SQL> CREATE USER TEST IDENTIFIED BY TEST DEFAULT TABLESPACE TEST QUOTA UNLIMITED ON TEST;
    用户已创建。
    
    SQL> GRANT CONNECT,RESOURCE TO TEST;
    授权成功。
    
    SQL> create table test(id number(2), name varchar2(4));
    表已创建。
    
    SQL> insert into test values(1,'NM1');
    已创建 1 行。
    
    SQL> insert into test values(2,'NM2');
    已创建 1 行。
    
    SQL> insert into test values(3,'NM3');
    已创建 1 行。
    
    SQL> COMMIT;
    提交完成。
    
    SQL> SELECT * FROM TEST;
    ID NAME
    ---------- ----
    1 NM1
    2 NM2
    3 NM3

    --以SYS连接,修改数据文件为offline,删除test01.dbf,并执行数据文件恢复

    SQL> alter database datafile 'D:TEST	est01.dbf' offline;
    数据库已更改。
    
    SQL> host del D:TEST	est01.dbf
    
    SQL> alter database create datafile 'D:TESTTEST01.DBF';
    数据库已更改。
    (如果是原路径无法访问,可在创建数据文件时指定新的路径:alter database create datafile 'E:TESTTEST01.DBF' as 'D:TEST 
    TEST01.DBF';)
    SQL> recover datafile 'D:TESTTEST01.DBF';
    完成介质恢复。
    
    SQL> conn TEST/TEST@ORCL;
    已连接。
    
    --以sys连接实例,修改数据文件状态为ONLINE:
    SQL> ALTER DATABASE DATAFILE 'D:TESTTEST01.DBF' ONLINE;
    数据库已更改。
    
    SQL> conn TEST/TEST@ORCL;
    已连接。
    ------------------查看数据,已恢复。
    SQL> SELECT * FROM TEST;
    ID NAME
    ---------- ----
    1 NM1
    2 NM2
    3 NM3

    2.2 在RMAN模式下恢复
    与用户管理的备份和恢复模式相比,只多了一步连接RMAN的操作。

    C:UsersAdministrator>rman catalog RMANCT/RMANCT@ORCL;
    
    恢复管理器: Release 11.2.0.1.0 - Production on 星期三 12月 24 22:05:29 2014
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
    
    连接到恢复目录数据库
    
    RMAN> CONNECT TARGET /
    
    连接到目标数据库: ORCL (DBID=1392118573)

    -----------------------------------------------------------------------------
    同样将数据文件置于OFFLINE,删除数据文件,RESTORE,再RECOVER,置数据文件为ONLINE即可。

    SQL> alter database datafile 'D:TESTTEST01.DBF' offline;
    
    数据库已更改。
    
    SQL> host del D:TESTTEST01.DBF
    
    RMAN> restore datafile 'D:TESTTEST01.DBF';
    
    启动 restore24-12月-14
    在恢复目录中注册的数据库的新原型
    正在启动全部恢复目录的 resync
    完成全部 resync
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: SID=178 设备类型=DISK
    
    创建数据文件, 文件号 = 8 名称 = D:TESTTEST01.DBF
    没有完成还原; 所有文件均为只读或脱机文件或者已经还原
    完成 restore24-12月-14
    正在启动全部恢复目录的 resync
    完成全部 resync
    
    RMAN> recover datafile 'D:TESTTEST01.DBF';
    
    启动 recover 于 24-12月-14
    使用通道 ORA_DISK_1
    
    正在开始介质的恢复
    介质恢复完成, 用时: 00:00:01
    
    完成 recover 于 24-12月-14
    
    SQL> alter database datafile 'D:TESTTEST01.DBF' online;
    
    数据库已更改。
    
    SQL> CONN TEST/TEST@ORCL;
    已连接。
    SQL> SELECT * FROM TEST;
    
    ID NAME
    ---------- ----
    1 NM1
    2 NM2
    3 NM3
  • 相关阅读:
    如何在Ubuntu Server 18.04上安装Microsoft的Procmon
    如何在Ubuntu 20.04上安装Wine 5.0
    如何在Kali Linux 2020中启用SSH服务
    如何在Ubuntu 20.04 LTS Focal Fossa上安装Apache Groovy
    如何使用命令在Ubuntu 20.04 Linux上安装Vmware Tools
    在Ubuntu 20.04 LTS Focal Fossa上安装Zabbix Agent
    hdu 2089 不要62
    hdu 2093 成绩排名
    hdu 2104 hide handkerchief
    leetcode147对链表进行插入排序
  • 原文地址:https://www.cnblogs.com/rusking/p/4183532.html
Copyright © 2011-2022 走看看