一个奇怪的问题,不知道大家是否有遇到没有

[复制链接]
查看11 | 回复7 | 2014-9-5 10:25:05 | 显示全部楼层 |阅读模式
datafile 12 丢失,需要通过之前的备份来恢复。可是在恢复之后关闭数据库,重启数据库;
把系统把datafile 12 offline后再online时,竟然抱
ORA-01113: file 12 needs media recovery
不知道大家有没有遇到这样的问题。。。






=====================================================
例子的输出:
SQL> recover datafile 12;
ORA-00279: change 1165903 generated at 06/28/2008 22:16:32 needed for thread 1
ORA-00289: suggestion : /oradata/data/standby/archlog/dg_0000000012.arc
ORA-00280: change 1165903 for thread 1 is in sequence #12
Specify log: {=suggested | filename | AUTO | CANCEL}
ORA-00279: change 1165997 generated at 06/28/2008 22:19:36 needed for thread 1
ORA-00289: suggestion : /oradata/data/standby/archlog/dg_0000000013.arc
ORA-00280: change 1165997 for thread 1 is in sequence #13
ORA-00278: log file '/oradata/data/standby/archlog/dg_0000000012.arc' no longer
needed for this recovery
Specify log: {=suggested | filename | AUTO | CANCEL}
auto
Log applied.
Media recovery complete.
SQL> alter database datafile 12 online;
Database altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1731167504 bytes
Fixed Size
742672 bytes
Variable Size
671088640 bytes
Database Buffers 1056964608 bytes
Redo Buffers
2371584 bytes
Database mounted.
Database opened.
SQL> alter database datafile12 offline;
Database altered.
SQL> c/off/on/
1* alter database datafile12 online
SQL> /
alter database datafile12 online
*
ERROR at line 1:
ORA-01113: file 12 needs media recovery
ORA-01110: data file 12: '/oradata/data/standby/data/t1.dbf'
回复

使用道具 举报

千问 | 2014-9-5 10:25:05 | 显示全部楼层
需要做一下数据同步。
回复

使用道具 举报

千问 | 2014-9-5 10:25:05 | 显示全部楼层
原帖由 五“宅”一生 于 2008-6-28 23:20 发表
需要做一下数据同步。


不解?
我的理解是:在第一次recovery时,数据已经通过redo log同步了。
干净关闭数据库,再重启,这是没有fail 的事务参与,那何来同步?
回复

使用道具 举报

千问 | 2014-9-5 10:25:05 | 显示全部楼层
因为SCN时刻在变。
回复

使用道具 举报

千问 | 2014-9-5 10:25:05 | 显示全部楼层
offline之后再online当然会要求进行Media recovery啊,这有什么奇怪么?
回复

使用道具 举报

千问 | 2014-9-5 10:25:05 | 显示全部楼层
原帖由 披发头陀 于 2008-6-29 00:06 发表
offline之后再online当然会要求进行Media recovery啊,这有什么奇怪么?

嗯。文件在read only后再read write,数据库并不需要做media recovery。这时data file header是被冻结,SCN没有去更新,那ORACLE在read only => read write时为啥没有提示要做media recovery。
而对offline 的文件却有如此的提示?
另外, 想知道这时数据库是否仅仅是更新data file header?
===========================================
确实是这样,只有做recover就可以online。 但不知道此时recover 做了什么?




SQL> alter database datafile '/oradata/data/standby/data/t2.dbf' offline;
Database altered.
SQL> c/off/on/
1* alter database datafile '/oradata/data/standby/data/t2.dbf' online
SQL> /
alter database datafile '/oradata/data/standby/data/t2.dbf' online
*
ERROR at line 1:
ORA-01113: file 13 needs media recovery
ORA-01110: data file 13: '/oradata/data/standby/data/t2.dbf'

SQL> recover datafile 13;
Media recovery complete.
SQL>
SQL>
SQL> select * from v$recover_file;
FILE# ONLINEONLINE_
---------- ------- -------
ERROR
CHANGE#
----------------------------------------------------------------- ----------
TIME
---------
12 OFFLINE OFFLINE

1187252
28-JUN-08

SQL> alter database datafile 12 online;
alter database datafile 12 online
*
ERROR at line 1:
ORA-01113: file 12 needs media recovery
ORA-01110: data file 12: '/oradata/data/standby/data/t1.dbf'

SQL> recover datafile 12 ;
Media recovery complete.
SQL> alter database datafile 12 online;
Database altered.
回复

使用道具 举报

千问 | 2014-9-5 10:25:05 | 显示全部楼层
自己顶下。
回复

使用道具 举报

千问 | 2014-9-5 10:25:05 | 显示全部楼层
在mount状态下offline datafile n
然后recover
之后不要shutdown
直接把datafile n online然后把数据库open
试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行