Oracle控制文件的恢复

如果Oracle控制文件是从备份中恢复的,下面就为您详细介绍Oracle控制文件的恢复,供您参考,希望对您学习Oracle控制文件能有所帮助。

创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的宝安网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

那么数据库在open过程中又将如何呢?

首先备份Oracle控制文件控制文件,打开数据库,增进检查点:

 
 
 
  1. [oracle@jumper eygle]$ cp control01.ctl control01.ctl.bak
  2. [oracle@jumper eygle]$ sqlplus "/ as sysdba"
  3. SQL*Plus: Release 9.2.0.4.0 - Production on Fri Aug 11 10:46:05 2006
  4. Copyright (c) 1982, 2002, Oracle Corporation.   All rights reserved.
  5. Connected to an idle instance.
  6. SQL> startup
  7. ORACLE instance started.
  8. Total System Global Area   139531744 bytes
  9. Fixed Size                    452064 bytes
  10. Variable Size              121634816 bytes
  11. Database Buffers            16777216 bytes
  12. Redo Buffers                  667648 bytes
  13. Database mounted.
  14. Database opened.
  15. SQL> alter system checkpoint;
  16. System altered.
  17. SQL> shutdown immediate;
  18. Database closed.
  19. Database dismounted.
  20. ORACLE instance shut down.
  21. SQL> exit
  22. Disconnected from Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
  23. With the Partitioning option
  24. JServer Release 9.2.0.4.0 - Production

然后恢复旧的控制文件,mount数据库,转储数据文件头:

 
 
 
  1. [oracle@jumper eygle]$ mv control01.ctl control01.ctl.n
  2. [oracle@jumper eygle]$ mv control01.ctl.bak control01.ctl 
  3. [oracle@jumper eygle]$ sqlplus "/ as sysdba"
  4. SQL*Plus: Release 9.2.0.4.0 - Production on Fri Aug 11 10:46:50 2006
  5. Copyright (c) 1982, 2002, Oracle Corporation.   All rights reserved.
  6. Connected to an idle instance.
  7. SQL> startup mount;
  8. ORACLE instance started.
  9. Total System Global Area   139531744 bytes
  10. Fixed Size                    452064 bytes
  11. Variable Size              121634816 bytes
  12. Database Buffers            16777216 bytes
  13. Redo Buffers                  667648 bytes
  14. Database mounted.
  15. SQL> alter session set events 'immediate trace name file_hdrs level 10';
  16. Session altered.
  17. SQL> !

我们看Oracle控制文件控制文件的信息(选择一个文件):

 
 
 
  1. DATA FILE #4: 
  2.    (name #4) /opt/oracle/oradata/eygle/eygle01.dbf
  3. creation size=0 block size=8192 status=0xe head=4 tail=4 dup=1
  4. tablespace 4, index=4 krfil=4 prev_file=0
  5. unrecoverable scn: 0x0000.00000000 01/01/1988 00:00:00
  6. Checkpoint cnt:61 scn: 0x0000.002acb1e 08/11/2006 10:44:38
  7. Stop scn: 0x0000.002acb1e 08/11/2006 10:44:38
  8. Creation Checkpointed at scn:   0x0000.0015078d 06/06/2006 09:41:54

再看数据文件头信息:

 
 
 
  1. FILE HEADER:
  2.          Software vsn=153092096=0x9200000, Compatibility Vsn=134217728=0x8000000
  3.          Db ID=1407686520=0x53e79778, Db Name='EYGLE'
  4.          Activation ID=0=0x0
  5.          Control Seq=989=0x3dd, File size=1280=0x500
  6.          File Number=4, Blksiz=8192, File Type=3 DATA
  7. Tablespace #4 - EYGLE   rel_fn:4 
  8. Creation    at    scn: 0x0000.0015078d 06/06/2006 09:41:54
  9. Backup taken at scn: 0x0000.00000000 01/01/1988 00:00:00 thread:0
  10. reset logs count:0x232bee1f scn: 0x0000.0007c781 recovered at 08/11/2006 10:11:26
  11. status:0x0 root dba:0x00000000 chkpt cnt: 64 ctl cnt:63
  12. begin-hot-backup file size: 0
  13. Checkpointed at scn:   0x0000.002acb98 08/11/2006 10:46:24

我们注意到数据文件的chkpt cnt: 64 要大约控制文件的Checkpoint cnt:61,也就是说控制文件是旧的。

此时尝试打开数据库就会出现如下错误:

 
 
 
  1. [oracle@jumper udump]$ sqlplus "/ as sysdba"
  2. SQL*Plus: Release 9.2.0.4.0 - Production on Fri Aug 11 10:51:20 2006
  3. Copyright (c) 1982, 2002, Oracle Corporation.   All rights reserved.
  4. Connected to:
  5. Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
  6. With the Partitioning option
  7. JServer Release 9.2.0.4.0 - Production
  8. SQL> alter database open;
  9. alter database open
  10. *
  11. ERROR at line 1:
  12. ORA-01122: database file 1 failed verification check
  13. ORA-01110: data file 1: '/opt/oracle/oradata/eygle/system01.dbf'
  14. ORA-01207: file is more recent than controlfile - old controlfile

Oracle告诉我们,控制文件是旧的。此时我们可以通过重建控制文件或者从旧的数据备份开始恢复。

标题名称:Oracle控制文件的恢复
文章URL:http://www.shufengxianlan.com/qtweb/news36/83186.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联