|
原帖由 anran_guojianjun 于 2010-6-29 20:43 发表 ![]()
但后者标识File Type=4 BACKUP CONTROL 。这也许就是ORACLE判定是否
是备份的控制文件的方法。但这个控制文件并不OLD,只是身份不同了。ORACLE同样提示resetlogs.
确如Yong Huang所说ORACLE做了"mark"
至于controlfile sequence number变成0,我没有测出来。
"标识File Type=4 BACKUP CONTROL" is interesting. It could mean two things.
(1) There's a field inside the controlfile. According to
http://www.vijaymukhi.com/oracled.doc
Oracle8 controlfile bytes 56 and 57 are Filetype. Since "Ctrl Seq No" hasn't changed from Oracle8 to Oracle 10gR2, let's assume Filetype hasn't changed either. So I ran od on the actual (current) controlfile and my backup one (junk.ctl). Unfortunately, they both show 0 for those two bytes. It's possible the offset for this field has moved.
or
(2) this field does not exist any more. Instead, the "marker" is derived from something else, "Ctrl Seq No" or something else.
When you use a dump method provided by Oracle, the current controlfile will not dump the real info. I mean, for example, when you use controlf event to dump the current controlfile to trace, the sequence number is a non-zero number. But if you use od to check, it's 0. That's why it's hard to 测出来 controlfile sequence number变成0.
Yong Huang |
|