• Oracle 10g 的控制文件(1)——部分控制文件丢失的恢复


    oracle中,每个控制文件(control file)的内容都是相同的。一个控制文件记录了整个数据库的物理结构,它包含以下信息:

    1.数据库名

    2.数据文件和重做日志文件的文件名和路径

    3.数据库创建的时间戳

    为了安全起见,oracle一般会设置3-5个控制文件,这些都是在pfile或者spfile中指定的,我们也可以在pfilespfile中指定添加一些新的控制文件。

     

    控制文件部分丢失了,也就是少了其中的一个或者几个,那么数据库是一定无法开启的,那么我们可以采用拷贝控制文件的方式来解决此问题。下面将给大家模拟此过程。

    在数据库打开的情况下,我们可以通过v$controlfile视图查看当前的控制文件的使用情况:

     

    SQL> select name from v$controlfile;

        

    由以上查询结果可知,我们一共用了3个控制文件,接下来我们在 /u01/app/oracle/oradata/orcl 目录中删除control03.ctl 模拟控制文件部分丢失。

     

    $ rm control03.ctl

        

      关闭数据库,并且重新启动数据库会报出控制文件验证错误。

        

      这个时候我们可以采取复制控制文件的方式来恢复控制文件,在存放控制文件的目录/u01/app/oracle/oradata/orcl中执行以下命令来复制一个控制文件,控制文件命名为control03.ctl

    $ cp control01.ctl control03.ctl

        

    于是,我们控制文件便恢复了,此时,我们再尝试打开数据库,这个时候数据库是肯定可以开启成功的。如下图所示:

        

      通过以上步骤我们就解决由于数据库控制文件部分丢失所造成的数据库无法开启的问题了。

     

     

     

  • 相关阅读:
    使用Windows Live Writer发布日志
    下雪
    Oracle中拼出树型结构
    [转载]Javascript中最常用的55个经典技巧
    博客访问者来自15个国家和地区
    [转载]一个帐号同一时间只能一个人登录
    换了博客的皮肤
    常见的开源软件许可
    java5中的Arrays
    青花瓷
  • 原文地址:https://www.cnblogs.com/pgg200/p/2437199.html
Copyright © 2020-2023  润新知