Oracle重做日志恢复数据模拟实验

Posted 黄昏前黎明后

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle重做日志恢复数据模拟实验相关的知识,希望对你有一定的参考价值。

一 系统环境:

1、操作系统:oracle Linux 5.6
2、数据库: Oracle 11g 

二 Oracle 重做日志的作用: [模拟介质恢复]
1. 关闭数据库归档模式:
[[email protected] ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 6 23:49:30 2017

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn /as sysdba
Connected.
SQL> show user
USER is "SYS"
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> start mount
SP2-0310: unable to open file "mount.sql"
SQL> startup mount
ORACLE instance started.

Total System Global Area  830930944 bytes
Fixed Size                  2217912 bytes
Variable Size             478152776 bytes
Database Buffers          348127232 bytes
Redo Buffers                2433024 bytes
Database mounted.
SQL> alter database noarchivelog;

Database altered.  
   
2.创建测试表空间hltest:

create tablespace hltest datafile  
‘hltest.ora‘ size 5M  
AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED  
default storage (initial 128K next 1M pctincrease 0);  
3.创建测试用户与测试表:
drop user hl cascade;  
create user hl identified by hl default tablespace hltest;  
grant connect,resource to hl;  
conn hl/hl;
 ----创建表并填充数据 
create table a(a number);  
begin  
 for i in 1..100000 loop  
  insert into a values(i);  
  end loop;  
 end;  
  
commit;  
4. 拷贝test.ora为test1.ora文件。
5. insert into a select * from a;    --20万条
6.关闭数据库
  shutdown immediate
7. 将文件test1.ora与test.ora名称互换。
8. 再次启动数据库
 SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area  830930944 bytes
Fixed Size                  2217912 bytes
Variable Size             478152776 bytes
Database Buffers          348127232 bytes
Redo Buffers                2433024 bytes
Database mounted.
ORA-01113: file 8 needs media recovery
ORA-01110: data file 8:
‘/u01/app/oracle/product/11.2.0/dbhome_1/dbs/u01apporacleoradataorclhltest.ora‘

9. 进行介质恢复:
SQL> recover database;
Media recovery complete.
SQL> alter database open ;

Database altered.

三、心得:
   Oracle 联机重做日志(ONLINE REDO LOG FILE)主要用于数据库的介质恢复,比如数据文件的损坏。
          归档日志(ARCHIVED LOG FILE)其实就是对在线日志的备份,毕竟在线日志空间有限而仅能保存一定时间的重做日志数据。
          归档日志与全库备份文件的结合恢复效果更好。
下一篇将进行模拟数据表删除通过RMAN进行恢复。

以上是关于Oracle重做日志恢复数据模拟实验的主要内容,如果未能解决你的问题,请参考以下文章

如何使用最近的 Oracle 备份文件(从昨天开始)和仅在线重做日志来恢复另一个位置的数据库(灾难恢复)?

Oracle 手工不完全恢复总结

oracle联机重做日志文件(online redo log file)

ORACLE配置重做日志文件

Oracle——redo+undo总结

Oracle重做日志组状态及切换解析