RMAN异机还原遭遇ORA-19698错误案例

实验环境:

              操作系统    :Oracle Linux Server release 5.7 64 bit

              数据库版本:Oracle Database 10g Release 10.2.0.4.0 - 64bit Production

案例说明:

为了测试、验证备份的有效性,需要将服务器A上的数据库的备份集还原到服务器B上,服务器B上已经创建了相同名称的ORACLE_SID和DB Name,对应数据文件目录环境完全一致

Step 1: startup nomount

Step 2:  restore spfile

Step 3: restore controlfile

Step 4:  startup mount;

Step 5:  restore database

Step 6: recover database


于在没有在RMAN还原时忘记设置 DBID,结果在执行recover database时报ORA-19698:
/u01/oradata/SCM2/redo01.log is from different database: id=4146921064,
db_name=SCM2

RMAN> recover database;

Starting recover at 14-MAY-14

using channel ORA_DISK_1

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of recover command at 05/14/2014 10:15:30

ORA-19698: /u01/oradata/SCM2/redo01.log is from different database: id=4146921064, db_name=SCM2

此时需要删除redo日志文件,结果在sqlplus里面删除redo日志文件,遇到下面一系列问题。其实可以直接使用rm命令直接删除redo日志文件这样简单方便得多。

SQL> alter database drop logfile group 1;
 
Database altered.
 
RMAN> recover database;
 
Starting recover at 14-MAY-14
 
using channel ORA_DISK_1
 
RMAN-00571: ===========================================================
 
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
 
RMAN-00571: ===========================================================
 
RMAN-03002: failure of recover command at 05/14/2014 10:28:49
 
ORA-19698: /u01/oradata/SCM2/redo02.log is from different database: id=4146921064, db_name=SCM2
 
SQL> alter database drop logfile group 2;
 
ERROR at line 1:
 
ORA-01567: dropping log 2 would leave less than 2 log files for instance SCM2
 
(thread 1)
 
ORA-00312: online log 2 thread 1: '/u01/oradata/SCM2/redo02.log'
 
SQL> alter database add logfile group 1('/u01/oradata/SCM2/redo01.log') size 50M reuse;
 
Database altered.
 
SQL> alter database drop logfile group 2;
 
Database altered.
 
RMAN> recover database;
 
Starting recover at 14-MAY-14
 
using channel ORA_DISK_1
 
RMAN-00571: ===========================================================
 
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
 
RMAN-00571: ===========================================================
 
RMAN-03002: failure of recover command at 05/14/2014 10:32:09
 
ORA-19698: /u01/oradata/SCM2/redo03.log is from different database: id=4146921064, db_name=SCM2
 
SQL> alter database drop logfile group 3;
 
alter database drop logfile group 3
 
*
 
ERROR at line 1:
 
ORA-01623: log 3 is current log for instance SCM2 (thread 1) - cannot drop
 
ORA-00312: online log 3 thread 1: '/u01/oradata/SCM2/redo03.log'
 

[oracle@DB-Server SCM2]$ rm redo03.log

删除redo03.log后,recover database成功

时间: 2024-10-03 13:30:55

RMAN异机还原遭遇ORA-19698错误案例的相关文章

RMAN异机恢复遭遇ORA-01547、ORA-01152、ORA-01110错误案例

测试环境:     操作系统  :  Red Hat Enterprise Linux ES release 4 (Nahant Update 4)   VMWARE     数据库     :  Oracle Database 10g Release 10.2.0.4.0 - Production     简要介绍,一台服务器A位于虚拟机VMWARE上,由于测试需要,在VMWARE上克隆了该系统作为服务器B,过了一段时间,由于数据变更,需要将服务器A上的ORACLE数据库还原恢复到服务器B上.

RMAN异机还原的ORA-19698错误

实验环境: 操作系统    :Oracle Linux Server release 5.7 64 bit 数据库版本:Oracle Database 10g Release 10.2.0.4.0 - 64bit Production 案例说明: 为了测试.验证备份的有效性,需要将服务器A上的数据库的备份集还原到服务器B上,服务器B上已经创建了相同名称的ORACLE_SID和DB Name,对应数据文件目录环境完全一致 Step 1: startup nomount Step 2:  resto

Linux平台下RMAN异机恢复总结

下面总结.整理一下RMAN异机恢复这方面的知识点,这篇笔记在个人笔记里面躺了几年了,直到最近偶然被翻看到,遂整理.总结一下.如下所示,个人将整个RMAN异机恢复分为准备工作和操作步骤两大部分.当然,准备工作里面,有些步骤不是必须的,可以跳过或忽略的.这个取决于你的实际环境和你对RMAN异机恢复的熟悉程度.   准备工作   1:了解一下目标服务器与源服务器的操作系统版本信息   需要对比一下目标服务器与源服务器的操作系统版本是否一致,具体来说,操作系统版本信息.内核信息(例如Oracle Lin

Oracle中使用RMAN 异机复制数据库

RMAN 异机复制和同机复制操作步骤是一样的,不同的是我们需要把备份的文件copy到辅助库上 实验平台: REDHAT linux 4.7 + oracle 10g 目标库信息: ORACLE_BASE: /u01/app/oracle ORACLE_HOME: /u01/app/oracle/product/10.2.0/db_1 ORACLE_SID:orcl IP: 192.168.1.20 辅助库信息: ORACLE_BASE: /u01/app/oracle ORACLE_HOME:

Oracle rman异机备份问题

问题描述 Oracle rman异机备份问题 初学oracle rman,遇到了不大理解的地方. 我想实现的是:现在两台主机,含有数据的A机与空机B.想实现在B中备份A. 现在在B中建立了恢复目录,在A的rman中使用语句: backup database: 进行全库备份(因为测试,所以使用这一简单方式). 但我想实现的是在B中保留A的备份,这样A down掉后我可以从B去恢复. 请问是在B的rman中直接操作,还是需要将A的备份直接复制到B的指定位置中实现备份? 关于这一机制不是很理解,可能问

RMAN还原遭遇ORA-32006&ORA-27102错误

案例环境:     服务器A:            操作系统 : Red Hat Enterprise Linux ES release 4 (Nahant Update 6)           数据库版本: Oracle Database 10g Release 10.2.0.4.0 32bit Production   服务器B:            操作系统 : Oracle Linux Server release 5.7           数据库版本: Oracle Datab

RMAN冷备份异机还原

1:环境准备     在新的服务器上安装ORACLE实例,安装过程中需要注意源服务器与目标服务器的ORACLE_SID一致,另外确保安装路径与源路径一致(不仅是安装目 录,甚至包括数据文件.控制文件目录.联机重做日志文件所在目录都要注意).如果不一致相当麻烦,需要修改spfile. 2:RMAN做冷备份 使用cold_backup.sh将数据库备份到/u04/migration目录下面 mkdir -p /u04/migration mkdir -p /u04/migration/log cat

oracle 11g RMAN异机恢复过程

原库确定数据文件,日志文件,tempfile 文件信息 select group#,status,type, member from v$logfile; col name format a65 select file#,name,bytes/1024/1024 MB from v$datafile; select name from v$controlfile; 1.创建实例 oradim (命令行下包含多种可选项,可自行选择) oradim -new -sid maxld 在已有数据库运行的

rman异机duplicate active数据库的实现

实验环境: 源数据库服务器名:beijing    数据库全局名和SID: orcl 辅助数据库:suzhou 只安装数据库软件,没有新建数据库 在辅助服务器 suzhou上复制一个例程名和数据库名都是bj的数据库. 步骤如下: (1)辅助 数据库服务器suzhou上构建辅助数据库目录结构 (2)suzhou服务器上建立数据库复 制例程服务 (3)源数据库服务器名beijing上创建pfile,并复制到辅助数据库,修 改相关内容 (4)在辅助服务器suzhou上用pfile文件,将辅助数据库启动