« 关于控制文件与数据文件头信息的说明 | Blog首页 | Google的Web Clips终于支持自添加RSS »
备份的控制文件和新的数据文件
链接:https://www.eygle.com/archives/2006/08/old_controlfile_and_new_datafile.html
继续上一节的介绍:
我们可以想象,如果控制文件是从备份中恢复的,那么数据库在open过程中又将如何呢?
首先备份控制文件,打开数据库,增进检查点:
[oracle@jumper eygle]$ cp control01.ctl control01.ctl.bak SQL*Plus: Release 9.2.0.4.0 - Production on Fri Aug 11 10:46:05 2006 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to an idle instance. SQL> startup Total System Global Area 139531744 bytes System altered. SQL> shutdown immediate; |
然后恢复旧的控制文件,mount数据库,转储数据文件头:
[oracle@jumper eygle]$ mv control01.ctl control01.ctl.n SQL*Plus: Release 9.2.0.4.0 - Production on Fri Aug 11 10:46:50 2006 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to an idle instance. SQL> startup mount; Total System Global Area 139531744 bytes Session altered. SQL> ! |
我们看控制文件的信息(选择一个文件):
DATA FILE #4: (name #4) /opt/oracle/oradata/eygle/eygle01.dbf creation size=0 block size=8192 status=0xe head=4 tail=4 dup=1 tablespace 4, index=4 krfil=4 prev_file=0 unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00 Checkpoint cnt:61 scn: 0x0000.002acb1e 08/11/2006 10:44:38 Stop scn: 0x0000.002acb1e 08/11/2006 10:44:38 Creation Checkpointed at scn: 0x0000.0015078d 06/06/2006 09:41:54 |
再看数据文件头信息:
FILE HEADER: Software vsn=153092096=0x9200000, Compatibility Vsn=134217728=0x8000000 Db ID=1407686520=0x53e79778, Db Name='EYGLE' Activation ID=0=0x0 Control Seq=989=0x3dd, File size=1280=0x500 File Number=4, Blksiz=8192, File Type=3 DATA Tablespace #4 - EYGLE rel_fn:4 Creation at scn: 0x0000.0015078d 06/06/2006 09:41:54 Backup taken at scn: 0x0000.00000000 01/01/1988 00:00:00 thread:0 reset logs count:0x232bee1f scn: 0x0000.0007c781 recovered at 08/11/2006 10:11:26 status:0x0 root dba:0x00000000 chkpt cnt: 64 ctl cnt:63 begin-hot-backup file size: 0 Checkpointed at scn: 0x0000.002acb98 08/11/2006 10:46:24 |
我们注意到数据文件的chkpt cnt: 64 要大约控制文件的Checkpoint cnt:61,也就是说控制文件是旧的。
此时尝试打开数据库就会出现如下错误:
[oracle@jumper udump]$ sqlplus "/ as sysdba" SQL*Plus: Release 9.2.0.4.0 - Production on Fri Aug 11 10:51:20 2006 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> alter database open; |
Oracle告诉我们,控制文件是旧的。此时我们可以通过重建控制文件或者从旧的数据备份开始恢复。
未完待续...
历史上的今天...
>> 2009-08-11文章:
By eygle on 2006-08-11 11:05 | Comments (15) | Internal | 862 |
同样的问题,大师阐述的就是明白,有条理,佩服呀?
ORA-00704: bootstrap process failure
ORA-00600: internal error code, arguments: [4000], [27], [], [], [], [], [], []
恢复时产生的错误, 老大是啥错误呀?
怎么恢复产生的这个错误啊?
以上测试是不会出这个错误的。
1) create control file
2) recover database using backup controlfile;
3) media recover ok
4) alter database open resetlogs;
就产生了以上错误
这种情况,重建控制文件,recover就行了,不要用using选项,也不用resetlog
thx
to 南非蚂蚁;
我就是把一个问题拆成了原子单位,这样方便大家理解。
自己读书的时候,也懒得一次看大堆东西。
请教一个问题:
采用backup controlfile恢复
执行alter database open resetlog, 但是不成功,
这种情况对于数据库有影响吗? thx
替换用旧的control替换新的后mount出错
idle> startup mount
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
ORA-00214: ???? 'E:\ORACLE\ORADATA\MIS\CONTROL02.CTL' ?? 2835 ??? 'E:\ORACLE\ORA
DATA\MIS\CONTROL01.CTL' ?? 2831 ???
现在在看这本书
那这里的checkpoint scn和其它的scn是什么区别呢?
感觉没起什么作用啊?
希望能得到您的指点
checkpoint scn也是scn,就是检查点发生时的SCN。
用来标示检查点位置的。
是不是使用备份的控制文件就只能恢复到控制文件表示的scn呢
有这样的问题,
9:00 冷备份数据库(数据文件和控制文件)
9:30 插入一个数据(并归档)
10:00 正常关闭数据库,
10:02 将9:00中冷备份的数据文件和控制文件都拷贝回来(取代原来的数据文件)
那么现在能根据控制文件恢复到9:30时的数据吗,还是要重建controlfile;
"未完待续..."
老大,能不给个链接!每次看完一篇文章后,下一篇文章要找半天!
如果是这样,那用alter database backup controlfile to ''命令备份了控制文件,如果一旦控制文件丢失,是否这个备份还是没用呢
请问一个问题,为什么利用旧的控制文件(控制文件早于数据文件)恢复后,打开数据库需要resetlogs;而用新的控制文件(数据文件早于控制文件)恢复后,打开数据库不需要resetologs;即数据库是如果确定何时需要resetlogs和不需要的?
注:两个操作都全部应用了在线联机日志文件