RMAN 恢复非归档日志Oracle数据库

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638    QQ号:47079569    邮箱:service@parnassusdata.com

 

RMAN 备份、复原和恢复非归档日志数据库

正如在之前章节提到的那样, Oracle 强烈推荐在归档日志模式下运行数据库,如果不在归档日志模式下运行数据库, 由于缺少归档重做日志文件,你将不能恢复数据库,不能更改应用到恢复的数据文件。

RMAN你不能在数据库打开时备份数据库,如果你尝试, 会产生下列错误:

RMAN-03009: failure of backup command on ORA_DISK_1 channel at 10/21/2009 11:00:45

ORA-19602: cannot backup or copy active file in noarchivelog mode
RMAN>

但是, 从安装阶段备份数据库,甚至应用增量备份并将其恢复到具体的时间点是可能的。在下面的情景中, 我们将执行下列步骤,以理解如何复原和恢复非归档日志数据库备份 。

  • 备份在no archivelog模式下运行的数据库
  • 对数据库做一些更改,并进行增量备份
  • 重命名包含数据库的所有物理文件的文件夹
  • 复原备份并恢复

以下是详细步骤

  • 备份数据库,备份之前,请确保您已经配置了RMAN执行控制文件的自动备份,这将会帮助我们容易地复原控制文件。
  • 连接到RMAN,运行下列命令:

RMAN> shutdown immediate
RMAN> startup mount
RMAN> configure controlfile autobackup on;
RMAN> backup database;
RMAN> startup;
database is already started
database opened

创建一个表,并插入一行,然后,采用数据库的级别1增量备份:

SQL>
create
table test (str varchar2(10));
Table created.

SQL>
insert into
test values(‘test’);
1 row created.

SQL>
commit;
Commit complete.

SQL>
select * from
test;

STR
———-
TEST

SQL>
shutdown immediate
SQL>
startup mount

RMAN> backup incremental level 1 database;
RMAN> shutdown immediate;

重命名oradata 文件夹,创建一个空的oradata 文件夹,用于存储复原的数据文件,在 nomount模式下打开数据库,从自动备份中复原控制文件,然后切换到mount 模式,复原所有的数据文件,然后,然后,使用noredo关键字执行恢复,为了不寻找那些应该应用到数据文件的重做日志文件。

RMAN> startup nomount;
RMAN> restore controlfile from autobackup;
RMAN> alter database mount;
RMAN> restore database;
RMAN> recover database;
RMAN-03002: failure of recover command at 10/21/2009 12:26:19
RMAN-06054: media recovery requesting unknown log: thread 1 seq 2
lowscn 549157

#As you see, RMAN looks for redo log files to be applied. Thus, we use
NOREDO keyword to bypass redo log files as weve lost them all

RMAN> recover database noredo;
RMAN> alter database open resetlogs;

现在, 查询完全和增量备份之间创建的表测试:

SQL>
select * from
test;

STR
—–
TEST

如显示的那样, RMAN复原了备份数据文件,并应用了一个增量备份,即便数据库在noarchivelog 模式下运行。

Comment

*

沪ICP备14014813号-2

沪公网安备 31010802001379号