200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > RMAN数据库恢复 之归档模式有(无)备份-丢失数据文件的恢复

RMAN数据库恢复 之归档模式有(无)备份-丢失数据文件的恢复

时间:2021-01-11 13:20:16

相关推荐

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\test01.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 NM12 NM23 NM3

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

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

2.2 在RMAN模式下恢复

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

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

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

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

SQL> alter database datafile 'D:\TEST\TEST01.DBF' offline;数据库已更改。SQL> host del D:\TEST\TEST01.DBFRMAN> restore datafile 'D:\TEST\TEST01.DBF';启动 restore 于 24-12月-14在恢复目录中注册的数据库的新原型正在启动全部恢复目录的 resync完成全部 resync分配的通道: ORA_DISK_1通道 ORA_DISK_1: SID=178 设备类型=DISK创建数据文件, 文件号 = 8 名称 = D:\TEST\TEST01.DBF没有完成还原; 所有文件均为只读或脱机文件或者已经还原完成 restore 于 24-12月-14正在启动全部恢复目录的 resync完成全部 resyncRMAN> recover datafile 'D:\TEST\TEST01.DBF';启动 recover 于 24-12月-14使用通道 ORA_DISK_1正在开始介质的恢复介质恢复完成, 用时: 00:00:01完成 recover 于 24-12月-14SQL> alter database datafile 'D:\TEST\TEST01.DBF' online;数据库已更改。SQL> CONN TEST/TEST@ORCL;已连接。SQL> SELECT * FROM TEST;ID NAME---------- ----1 NM12 NM23 NM3

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。