• 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

        

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

        

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

     

     

     

  • 相关阅读:
    转: java语法与ide级入门介绍 from: IBM dev
    Java Servlet 技术简介 from:IBM Dev
    腾讯开源组件-毫秒服务引擎
    JS中的slice和splice
    validform校验框架不显示错误提示
    jQuery获取不到隐藏DIV的高度和宽度
    前端页面下载
    Java传统下载和SpringMVC下载
    先尽人事,再听天命
    Java生成PDF之iTextPDF的使用
  • 原文地址:https://www.cnblogs.com/pgg200/p/2437199.html
Copyright © 2020-2023  润新知