学习oracle技术,每天学一点,每天进步一点

单个控制文件损坏的解决方法

上一篇 / 下一篇  2008-02-29 08:50:28 / 个人分类:数据库维护

oracle 9i 默认控制文件为三个,控制文件记录数据库的创建时间,归档记录,和发生检查点时更新数据文件和控制文件时的scn,等等数据库重要信息,如果在运行过程中,有一个控制文件损坏,在系统要写控制文件时,就会down,三个控制文件

最好不要放在同一个目录下,放在不同硬盘下,做好镜象,这样一个损坏,就可以使用好的覆盖坏的即可,以下是测试例子

1. 用ULTRAEDIT工具 修改control02.ctl控制文件 模拟损坏ITPUB个人空间&v8]v'U)|3{.^+L#K)L
2.SQL> alter system checkpoint;   发生检查点,系统要更新数据文件头和控制文件ITPUB个人空间l`9RLf1K}5K
alter system checkpoint
8s&L l'F ~i_5y0*
$i4pY$e'foe0ERROR at line 1:
OWCex%C`0ORA-03113: end-of-file on communication channel


{m%F4Z-|k0SQL> alter system switch logfile;ITPUB个人空间#y5Z&n$i%{ TJ7`
alter system switch logfileITPUB个人空间t5A'~!No*y
*ITPUB个人空间'uf4R nT)G
ERROR at line 1:
5fb"x!gUn0ORA-03114: not connected to ORACLEITPUB个人空间4[`{!JV/_p

n^l2bW_QQ8p@0alert.log 记录如下:
1[/Y/g8L ?O0Thu Feb 28 17:47:48 2008
Z7KP,aW-c0Errors in file d:\oracle\admin\paul\bdump\paul_ckpt_2860.trc:ITPUB个人空间;CS-q BsF
ORA-00211: controlfile does not match previous controlfilesITPUB个人空间j7c&w5W\rf-e?kX
ORA-00202: controlfile: 'D:\ORACLE\ORADATA\PAUL\CONTROL02.CTL'
.iz%A vmP_Ws'O0ITPUB个人空间8`2V/R yF!fE
Thu Feb 28 17:47:48 2008ITPUB个人空间 ];h+X0G(a
CKPT: terminating instance due to error 211
Dv0mmz)}#M3x0Thu Feb 28 17:47:51 2008
.F1]nw%Y-|C0Errors in file d:\oracle\admin\paul\bdump\paul_pmon_3268.trc:
`5~(bfM0ORA-00211: controlfile does not match previous controlfiles
`l6x-Ib `'|.C(H J6u7pTPUB个人空间u3{&ea)W%p
Thu Feb 28 17:48:06 2008ITPUB个人空间.jO3iW3fu.J%h3_
Instance terminated by CKPT, pid = 2860ITPUB个人空间K N;PS Q{
ITPUB个人空间2Z$vY%`"l/j.fT4Z5Y
3.把好的覆盖坏的,改名为坏的控制文件名即可

4.startup  database  正常


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-08-22  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 14606
  • 日志数: 273
  • 图片数: 2
  • 建立时间: 2007-12-11
  • 更新时间: 2008-08-20

RSS订阅

Open Toolbar