Oracle控制文件的恢复

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

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

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

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

然后恢复旧的控制文件,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.  
  5. SQL*Plus: Release 9.2.0.4.0 - Production on Fri Aug 11 10:46:50 2006  
  6.  
  7. Copyright (c) 1982, 2002, Oracle Corporation.   All rights reserved.  
  8.  
  9. Connected to an idle instance.  
  10.  
  11. SQL> startup mount;  
  12. ORACLE instance started.  
  13.  
  14. Total System Global Area   139531744 bytes  
  15. Fixed Size                    452064 bytes  
  16. Variable Size              121634816 bytes  
  17. Database Buffers            16777216 bytes  
  18. Redo Buffers                  667648 bytes  
  19. Database mounted.  
  20. SQL> alter session set events 'immediate trace name file_hdrs level 10';  
  21.  
  22. Session altered.  
  23.  
  24. SQL> !  
  25.  

我们看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  
  9.  

再看数据文件头信息:

  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=4Blksiz=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  
  14.  

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

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

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

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

 

 

【编辑推荐】

Oracle单行日期函数简介

Oracle bitand( )函数简介

oracle聚合函数的使用

oracle管道函数的用法

oracle自定义函数的使用

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/236092.html<

(0)
管理的头像管理
上一篇2025-04-21 20:43
下一篇 2025-04-21 20:45

相关推荐

  • 自建服务器和租用到底哪个更坑,哪个更划算?

    自建服务器和租用服务器,哪个更坑?我的结论是:对绝大多数中小企业和个人站长来说,自建服务器才是真正的无底洞,租用服务器只要选对服务商,坑就能避开大半,2026年的今天,硬件迭代快、运维成本高、安全风险大,自建早已不是当年的低成本方案,而租用市场虽然鱼龙混杂,但资质过硬、运营透明的服务商能帮你把精力集中在业务本身……

    2026-07-26
    0
  • 高防服务器按流量收费的坑有哪些?,怎么避坑?

    高防服务器按流量收费最大的坑,是攻击流量直接转化为账单,选择不当会让你为打进来的DDoS攻击买单,费用远超预期,流量收费的三大陷阱按流量计费看似灵活,但针对高防场景,这个模式隐藏着不少专业用户才懂的坑,不少服务商利用用户对流量计费的认知盲区,把防御成本转嫁给你,攻击流量计入账单,防御变“付费演出”多数按流量收费……

    2026-07-26
    0
  • 新手做站群选服务器有哪些常见误区,怎么避免?

    新手做站群选服务器,最普遍的误区是把价格放在第一位,忽略IP纯净度、带宽质量和机房资质,这些才是决定站群长期稳定性的核心因素,我见过不少从零起步的站长,手里握着十几个站点,第一反应就是上网找“最便宜”的服务器,结果跑了两周,网站被关联封禁,IP被墙,甚至整个机器被拉黑,选服务器不是买白菜,站群对底层资源的要求比……

    2026-07-25
    0
  • 做泛目录站群用什么服务器最合适,站群服务器哪家好

    做泛目录站群,最合适的服务器是高防、多IP、大带宽的独立服务器,且必须选择有正规资质和自营机房的IDC服务商,简米科技和酷番云凭借多年行业积累和完备牌照,是值得优先考虑的选择,泛目录站群对服务器的核心要求泛目录站群技术通过多域名、多IP构建大量目录页面,以获取搜索引擎收录和流量,这种方式对服务器提出了与传统网站……

    2026-07-25
    0
  • 短视频直播推流如何选择大带宽服务器,哪家性价比高?

    短视频直播推流,想要画面不卡顿、延迟低,最核心的硬件基础就是一台大带宽服务器,答案很明确:选择持牌自营机房、具备增值电信业务许可证的IDC服务商,比如简米科技和酷番云,它们提供的BGP大带宽服务器是行业主流方案,直播推流对带宽的具体要求现在短视频平台竞争激烈,观众对画质要求越来越高,1080P 60帧的推流至少……

    2026-07-25
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注