Oracle备份,redo丢失和恢复的实操

数据库 Oracle
以下的文章主要描述的是Oracle备份,redo丢失和恢复的实际操作步骤,其中包括先阐述下测试环境,以及相关测试的相关步骤的介绍。

我们今天要和大家一起讨论的是Oracle备份,redo丢失和恢复的实际操作方案的实际应用,如果你对Oracle备份,redo丢失和恢复的实操感兴趣的话,以下的文章就会给你提供相关的知识,望你会有所收获。

一、先阐述下测试环境

系统数据库环境:window+Oracle10g R2+archive模式;

模拟Redo文件丢失,数据库在正常关闭的情况发现Redo丢失了;

二、测试

(1)、倘若丢了一个或多个redo组的一个成员。这种情况***处理,直接copy其它目录的成员,重新启动数据库即可。此种情况不作太多的说明;

(2)、倘若丢失的是一组或两组甚至全部Redo日志丢失,则有以下三种方法可以恢复;

A、clear logfile方法(以下的测试均属于是redo日志全部丢失的环境下)

1、关闭数据库;

2、手动删除所有redo文件;

3、启动数据库;

SQL> startup

Oracle 例程已经启动。

 

  1. Total System Global Area 612368384 bytes  
  2. Fixed Size 1250428 bytes  
  3. Variable Size 255855492 bytes  
  4. Database Buffers 348127232 bytes  
  5. Redo Buffers 7135232 bytes  

 

数据库装载完毕。

ORA-00313: 无法打开日志组 1 (用于线程 1) 的成员

ORA-00312: 联机日志 1 线程 1:

'E:\Oracle\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'

ORA-00312: 联机日志 1 线程 1: 'F:\REDO\REDO01_B.LOG'

SQL>

4、查看当前日志状态;

 

  1. SQL> select group#,members,archived,status from v$log;  
  2. GROUP# MEMBERS ARC STATUS  
  3. 1 2 YES INACTIVE  
  4. 2 2 NO CURRENT  
  5. 3 2 YES INACTIVE  
  6. SQL> 

 

5、clear生成非当前的日志;

 

  1. SQL>alter database clear logfile group1; 

 

数据库已更改。

SQL>

6、继续打开数据库;

 

  1. SQL> alter database open;  
  2. alter database open  
  3. *  

 

第 1 行出现错误:

ORA-00313: 无法打开日志组 2 (用于线程 1) 的成员

ORA-00312: 联机日志 2线程 1:

'E:\Oracle\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG'

ORA-00312: 联机日志 3 线程 1: 'F:\REDO\REDO02_B.LOG'

SQL>

 

  1. SQL> alter database clear logfile group 2;  
  2. alter database clear logfile group 2*  

 

第 1 行出现错误:

ORA-00350: 日志 2(实例 orcl 的日志, 线程 1) 需要归档

ORA-00312: 联机日志 2 线程 1:

'E:\Oracle\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG'

ORA-00312: 联机日志 2 线程 1: 'F:\REDO\REDO02_B.LOG'

报错;因为group2是当前状态;

此时只能从其它目录copy有效Oracle备份。然后在alter database;

 

  1. SQL>alter database clear unarchived logfile group2; 

数据库已更改。

然后再重建Group 3,方法同重建 Group 1;

 

  1. SQL> alter database clear logfile group 3; 

数据库已更改。

 

  1. SQL> alter database open; 

数据库已更改。

注意:倘若没有物理有效Oracle备份文件,数据库则将无法打开;用clear logifle这种方法,对于处于CURRENT状态的Redo,只能通过COPY有效的物理备份去打开数据库,否则无法打开;

【编辑推荐】

  1. Oracle表列的修改具体步骤介绍
  2. 开发Oracle存储过程的步骤介绍
  3. 创建Oracle procedure并调用在pl/sql里
  4. Oracle数据库中表的不同的连接方式描述
  5. 配置Oracle RAC中应注意的问题有哪些
责任编辑:佚名 来源: 博客园
相关推荐

2010-04-06 10:11:11

Oracle备份

2010-04-01 11:21:51

Oracle备份

2010-04-09 15:22:57

Oracle数据库

2010-04-12 09:36:29

Oacle merge

2010-04-15 11:41:21

Oracle 数据库

2010-04-15 14:18:30

Oracle创建

2010-05-10 17:00:53

Oracle死锁进程

2010-04-09 10:13:13

Oracle数据字典

2010-04-16 11:11:46

Oracle存储过程

2011-03-24 17:21:42

Oracle数据库Redo故障

2010-04-20 13:17:44

2010-04-30 11:29:19

Oracle Data

2010-04-20 16:24:52

Oracle EM

2010-04-16 17:35:39

Oracle进程

2010-04-19 17:39:04

Oracle导入

2010-04-13 16:30:13

Oracle权限

2023-08-25 09:39:38

数据库Oracle

2010-04-27 10:25:28

Oracle Subs

2011-05-26 09:36:07

Oracle数据库Redo故障

2010-04-13 14:00:00

Oracle inse
点赞
收藏

51CTO技术栈公众号