热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

rman实验之归档模式无备份,正常关机丢失数据文件的恢复

rman实验之归档模式无备份,正常关机丢失数据文件的恢复并不是所有数据文件丢失都能够直接被恢复,如system;也不是所有数据文件丢失都需要恢复,如temp表空间。下面模拟一张业务表。1创建演示环境[...SyntaxHighlighter.all();

rman实验之归档模式无备份,正常关机丢失数据文件的恢复
 
并不是所有数据文件丢失都能够直接被恢复,如system;也不是所有数据文件丢失都需要恢复,如temp表空间。  
    下面模拟一张业务表。
    1 创建演示环境
[sql] 
sys@ORCL> archive log list;  
Database log mode              Archive Mode  
Automatic archival             Enabled  
Archive destination            USE_DB_RECOVERY_FILE_DEST  
Oldest online log sequence     16  
Next log sequence to archive   18  
Current log sequence           18  
sys@ORCL> create tablespace think datafile '/u01/app/oracle/oradata/ORCL/datafile/think.dbf' size 10m;  
  
Tablespace created.  
    www.2cto.com  
sys@ORCL> create user think identified by think default tablespace think quota unlimited on think;  
  
User created.  
  
sys@ORCL> grant connect,resource to think;  
  
Grant succeeded.  
  
sys@ORCL> conn think/think  
Connected.  
think@ORCL> create table tt (name varchar2(20));  
  
Table created.  
  
think@ORCL> insert into tt values('think');  
  
1 row created.  
  
think@ORCL> commit;  
  
Commit complete.  
  
think@ORCL> select * from tt;  
  
NAME  
--------------------  
think  
  www.2cto.com  
    2 模拟数据文件丢失
[sql] 
sys@ORCL> shutdown immediate;  
Database closed.  
Database dismounted.  
ORACLE instance shut down.  
sys@ORCL> host rm -rf /u01/app/oracle/oradata/ORCL/datafile/think.dbf  
重新启动数据库  
sys@ORCL> startup  
ORACLE instance started.  
  
Total System Global Area  419430400 bytes  
Fixed Size                  1219760 bytes  
Variable Size             125829968 bytes  
Database Buffers          289406976 bytes  
Redo Buffers                2973696 bytes  
Database mounted.  
ORA-01157: cannot identify/lock data file 8 - see DBWR trace file  
ORA-01110: data file 8: '/u01/app/oracle/oradata/ORCL/datafile/think.dbf'  
 
****************************用户管理的恢复方式***********************
    3 执行修复和恢复
[sql] 
sys@ORCL> alter database create datafile '/u01/app/oracle/oradata/ORCL/datafile/think.dbf';  
  
Database altered.  
    www.2cto.com  
sys@ORCL> recover datafile 8;  
Media recovery complete.  
 
    4 查询数据
[sql] 
sys@ORCL> alter database open;  
  
Database altered.  
  
sys@ORCL> conn think/think  
Connected.  
think@ORCL> select * from tt;  
  
NAME  
--------------------  
think  
 
*****************************rman恢复**********************
 
[sql] 
[oracle@localhost ~]$ rman target /  
  
Recovery Manager: Release 10.2.0.1.0 - Production on Tue Aug 7 00:03:44 2012  
  
Copyright (c) 1982, 2005, Oracle.  All rights reserved.  
  
connected to target database: ORCL (DBID=1316499950, not open)  
    www.2cto.com  
RMAN> restore datafile 8;  
  
Starting restore at 07-AUG-12  
using target database control file instead of recovery catalog  
allocated channel: ORA_DISK_1  
channel ORA_DISK_1: sid=155 devtype=DISK  
  
creating datafile fno=8 name=/u01/app/oracle/oradata/ORCL/datafile/think.dbf  
restore not done; all files readonly, offline, or already restored  
Finished restore at 07-AUG-12  
  
RMAN> recover datafile 8;  
  
Starting recover at 07-AUG-12  
using channel ORA_DISK_1  
  
starting media recovery  
media recovery complete, elapsed time: 00:00:03  
  
Finished recover at 07-AUG-12  
  
RMAN> alter database open;  
    www.2cto.com  
database opened  
sys@ORCL> conn think/think  
Connected.  
think@ORCL> select * from tt;  
  
NAME  
--------------------  
think  
    小结:丢失的数据文件,能够恢复的关键是,从其创建时刻起所有的重做日志文件都还在,因此我们才可以在重建该数据文件后,通过recover命令应用所有重做日志的方式,重建该数据文件的内容。
 
 
作者 linwaterbin

推荐阅读
author-avatar
唯爱辉1314
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有