如果自己搞不定可以找诗檀软件专业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