您现在的位置是:主页 > news > 做标志的网站/分销系统

做标志的网站/分销系统

admin2025/5/4 11:14:29news

简介做标志的网站,分销系统,工作室起名大全免费取名,温州网站建设案例一直有个疑问,如果Oracle是closed的,这时候当前联机日志组全部损坏,怎么恢复?我在网上查到的恢复方法在最后都需要:alter database open resetlogs但是resetlogs后,以前的备份就不好用了。难道没有其他的方法&#xff…

做标志的网站,分销系统,工作室起名大全免费取名,温州网站建设案例一直有个疑问,如果Oracle是closed的,这时候当前联机日志组全部损坏,怎么恢复?我在网上查到的恢复方法在最后都需要:alter database open resetlogs但是resetlogs后,以前的备份就不好用了。难道没有其他的方法&#xff…

一直有个疑问,如果Oracle是closed的,这时候当前联机日志组全部损坏,怎么恢复?

我在网上查到的恢复方法在最后都需要:

alter database open resetlogs

但是resetlogs后,以前的备份就不好用了。

难道没有其他的方法,绕过 resetlogs吗?

我用的是 oralce 10.1.0.2.0 on Windows,

试验步骤如下:

当前联机日志组全部成员损坏(Oracle closed)

1.模拟这种情况,

关闭数据库,然后删除当前日志组对应的所有文件。

为了简化试验,每个日志组只使用一个日志文件:

SQL> select group#,status,member from v$logfile order by group#

GROUP# STATUS  MEMBER

--------- ------- ----------------------------------

1         C:\ORACLE\ORADATA\DB10\REDO01.LOG

2         H:\NEWREDO02.LOG

3         C:\ORACLE\ORADATA\DB10\REDO03.LOG

SQL>  select group#, status from v$log;

GROUP# STATUS

---------- ----------------

1 INACTIVE

2 CURRENT

3 ACTIVE

联机日志第2组是当前组,日志文件 H:\NEWREDO02.LOG。

关闭数据库

SQL> shutdown immediate;

删除 H:\NEWREDO02.LOG。

2. 检查状况

启动数据库时会报错:

SQL> startup

ORACLE instance started.

Total System Global Area  176160768 bytes

Fixed Size                   788028 bytes

Variable Size             149944772 bytes

Database Buffers           25165824 bytes

Redo Buffers                 262144 bytes

Database mounted.

ORA-00313: open failed for members of log group 2 of thread 1

ORA-00312: online log 2 thread 1: 'H:\NEWREDO02.LOG'

3. 恢复 (需要 resetlogs)

参考了精华帖子和网上其他资源:

http://www.itpub.net/viewthread. ... 3Ddigest&page=1

http://www.itpub.net/viewthread. ... 3Ddigest&page=1

因为数据库是关闭的,数据文件和控制文件处于完全一致状态,

所以不需要restore,直接recover就可以。

SQL> recover database until cancel;

Media recovery complete.

SQL> alter database open resetlogs;

Oracle会自动创建 redo02.log文件

4.这种恢复方法的不足之处是最后需要 resetlogs,这样以前的备份就不好用了。

(别问我为什么不好用了,我还没测试过,都这么说的),

难道没有其他的方法,绕过 resetlogs吗?