系统linux、oracle10g、以前的备份也没有了。我用备份的控制文件,启动不起来,问下,在现在的情况下 如何重建控制文件?

解决方案 »

  1.   

    记得以前某人说过,DBA永远也不要执行rm -rf 命令
      

  2.   

    使用旧的控制文件
    1.recover database using backup controlfile;
    2.如果提示找不到联机日志文件,则手工指定;
    使用旧的控制文件转储重建控制文件
    1.alter database backup controlfile to trace;
    2.使用转储脚本重建控制文件
    3.recover database;
      

  3.   

    可以查看alter.log文件,找到控制文件信息,手工创建控制文件
      

  4.   

    Oracle 的控制文件有三个, control01.ctl,control02.ctl,control03.ctl, 他们保存的内容是一样的,就是为了避免误操作,如果删了某一个,可以把其他的copy 在重命名一下就可以了。如果三个都删了,而且没有备份,就只能重建控制文件了。完成之后,在recover一下数据库就好了。 不过这样会有数据丢失。 
    SQL> create controlfile reuse database woody noresetlogs archivelog
      2  LOGFILE
      3  GROUP 1 '/u01/app/oracle/oradata/woody/redo01.log',
      4  GROUP 2 '/u01/app/oracle/oradata/woody/redo02.log',
      5  GROUP 3 '/u01/app/oracle/oradata/woody/redo03.log'
      6  DATAFILE
      7  '/u01/app/oracle/oradata/woody/sysaux01.dbf',
      8  '/u01/app/oracle/oradata/woody/system01.dbf',
      9  '/u01/app/oracle/oradata/woody/UNDOTBS01.dbf'
    10  CHARACTER SET ZHS16GBK
    11  ;
    参考:控制文件:
    http://blog.csdn.net/tianlesoftware/archive/2009/12/13/4974440.aspx------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    DBA1 群:62697716(满); DBA2 群:62697977
      

  5.   

    DBA的确应该永远不要用rm,系统管理员也不应该用rm,rm谁知道你什么时候脑子发热误删了别的文件呢?强烈建议用mv代替rm,mv完可以备份出来,如果的确不需要可以删掉,用rm就太危险了
      

  6.   

    http://hi.baidu.com/loveyurui/blog/item/779e5d6275c7c7d48cb10d48.html如果连备份都没有了  只好重建 丢失些数据了
      

  7.   

    把文件恢复回来就行了,LINUX UNIX 下小文件恢复起来还是不是特别麻烦的。