数据库

 首页 > 数据库 > Oracle > Oracle 10g的控制文件(1)——部分控制文件丢失的恢复

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

分享到:
【字体:
导读:
         摘要:在oracle中,每个控制文件(controlfile)的内容都是相同的。一个控制文件记录了整个数据库的物理结构,它包含以下信息:1.数据库名2.数据文件和重做日志文件的文件名和路径3.数据库创建的时间戳为了安全起... SyntaxHighlighter.all(); ...

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

在oracle中,每个控制文件(control file)的内容都是相同的。一个控制文件记录了整个数据库的物理结构,它包含以下信息:
1.数据库名
2.数据文件和重做日志文件的文件名和路径
3.数据库创建的时间戳
为了安全起见,oracle一般会设置3-5个控制文件,这些都是在pfile或者spfile中指定的,我们也可以在pfile或spfile中指定添加一些新的控制文件。
 
控制文件部分丢失了,也就是少了其中的一个或者几个,那么数据库是一定无法开启的,那么我们可以采用拷贝控制文件的方式来解决此问题。下面将给大家模拟此过程。
在数据库打开的情况下,我们可以通过v$controlfile视图查看当前的控制文件的使用情况:
 
SQL> select name from v$controlfile;
    

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

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

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

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

 
  通过以上步骤我们就解决由于数据库控制文件部分丢失所造成的数据库无法开启的问题了。
 
 
 
作者 SkyWorld
Oracle 10g的控制文件(1)——部分控制文件丢失的恢复
分享到:
Oracle 10g的控制文件(2)——添加控制...
Oracle 10g的控制文件(2)——添加控制文件  在oracle 10g中,创建好一个数据库,默认会有3个控制文件,control01.ctl,control02.ctl,control03.ctl,我们可以为数据库手动添加一些控制文件。   在数据打开的情况下,我们可以在sqlplus中通过show parameter control来查看当前所使用的控制文件的情况。 SQL> show p...
oracle中用profile限定用户资源
oracle中用profile限定用户资源 一、目的: Oracle系统中的profile可以用来对用户所能使用的数据库资源进行限制,使用Create Profile命令创建一个Profile,用它来实现对数据库资源的限制使用,如果把该profile分配给用户,则该用户所能使用的数据库资源都在该profile的限制之内。   二、条件: 创建profile必须要有CREAT...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……