为数据库添加控制文件

      此文承接上一篇文章,由于对单个控制文件恢复后,数据库里只有一个控制文件,所以要为数据库添加控制文件。

1)在nomount状态修改spfile文件。由于数据库里只有一个控制文件control03.ctl

先将control03.ctl拷贝后重命名为control01.ctl ,control02.ctl ,

SQL> conn system/yang as sysdba
Connected to an idle instance.

SQL> startup nomount
ORACLE instance started.
Total System Global Area  535662592 bytes                                      
Fixed Size                  1334380 bytes                                      
Variable Size             138412948 bytes                                      
Database Buffers          390070272 bytes                                      
Redo Buffers                5844992 bytes                                       
  2)将控制文件添加到spfile文件里。                                                            
SQL> alter system set control_files=
  2  'f:\app\yang\oradata\oracl\control01.ctl',
  3  'f:\app\yang\oradata\oracl\control02.ctl',
  4  'f:\app\yang\oradata\oracl\control03.ctl' scope=spfile;

System altered.

3)修改后应关闭数据库,重新启动到nomount状态时会用到修改过的spfile文件。
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area  535662592 bytes                                      
Fixed Size                  1334380 bytes                                      
Variable Size             138412948 bytes                                      
Database Buffers          390070272 bytes                                      
Redo Buffers                5844992 bytes 

---出现没有料到的错误,不过重建过控制文件的话,ORA-00214  并不陌生。                                 
ORA-00214: control file 'F:\APP\YANG\ORADATA\ORACL\CONTROL03.CTL' version 8281
inconsistent with file 'F:\APP\YANG\ORADATA\ORACL\CONTROL01.CTL' version 8279

--此错误说明CONTROL03.CTL'   比CONTROL01.CTL'的版本高,

SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
4)重新拷贝CONTROL03.CTL 并将其重新命名CONTROL01.CTL 再试一下。 
                             
  SQL> alter system set control_files=
  2  'f:\app\yang\oradata\oracl\control01.ctl',
  3  'f:\app\yang\oradata\oracl\control02.ctl',
  4  'f:\app\yang\oradata\oracl\control03.ctl' scope=spfile;
System altered.
SQL> shutdown immediate
ORACLE instance shut down.
SQL> startup mount
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.
Total System Global Area  535662592 bytes                                      
Fixed Size                  1334380 bytes                                      
Variable Size             134218644 bytes                                      
Database Buffers          394264576 bytes                                      
Redo Buffers                5844992 bytes                                      
ORA-00214: control file 'F:\APP\YANG\ORADATA\ORACL\CONTROL01.CTL' version 8295
inconsistent with file 'F:\APP\YANG\ORADATA\ORACL\CONTROL02.CTL' version 8279

--此错误说明CONTROL01.CTL'   比CONTROL02.CTL'的版本高,号码改变了,因为我实验的时候打开了数据库。关闭数据库再次修改,

SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area  535662592 bytes                                      
Fixed Size                  1334380 bytes                                      
Variable Size             134218644 bytes                                      
Database Buffers          394264576 bytes                                      
Redo Buffers                5844992 bytes                                      
Database mounted.
SQL> select name from v$controlfile;
NAME                                                                           
--------------------------------------------------------------------------------
F:\APP\YANG\ORADATA\ORACL\CONTROL01.CTL                                        
F:\APP\YANG\ORADATA\ORACL\CONTROL02.CTL                                        
F:\APP\YANG\ORADATA\ORACL\CONTROL03.CTL                                        

这一次成功。。

不知道我的方法有什么不妥,希望各位拍砖。。。。

时间: 2024-10-28 09:28:14

为数据库添加控制文件的相关文章

单个控制文件损坏的恢复

        损坏单个控制文件是比较容易恢复的,因为数据库系统,控制文件都不是一个,而且所有的控制文件都互为镜像,只要拷贝一个好的控制文件替换坏的控制文件就可以.实验如下: 1) 查看系统的控制文件 SQL> select name from v$controlfile;NAME                                                                            ---------------------------------

Oracle恢复实验一:使用添加数据文件之前的控制文件

oracle|恢复|控制|数据 --------------------------------------------- 实验平台:windows + Oracle 10.1.0.2.0 Author:NinGoo  2005-03-26 --------------------------------------------   在备份控制文件之后,在数据库中又添加了数据文件,然后当前控制文件损坏,需要使用之前的备份控制文件来做恢复.   1.备份控制文件   SQL> alter data

Oracle RMAN还原与恢复讲解(二)如何还原控制文件

1.使用RMAN(不使用FRA)从自动备份中恢复控制文件 ORACLE 会默认地在$ORACLE_HOME/dbs 或者 $ORACLE_HOME/DATABASE 目录中创建服务器参数文件与控制文件. 假设已经还原了实例参数文件和启动了实例,还原控制文件时,一般过程是先设置ORACLE_SID 和 登陆 RMAN, 然后设置DBID, 使RMAN知道需要查找哪一个数据库的控制文件. 如果使用默认的位置来存储控制文件的自动备份,就可以简单的执行:Restore controlfile from

Oracle的控制文件简介

一.Oracle 控制文件 为二进制文件,初始化大小由CREATE DATABASE指定,可以使用RMAN备份 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等等 在参数文件中描述其位置,个数等等.通常采用分散放开,多路复用的原则.在mount阶段被读取,open阶段一直被使用 维护数据库一致性(数据库启动时会比较控制文件与联机日志文件中的ckpt,即起始scn号,如相等则正常启动,否则需要介质恢复) 一个控制文件只能属于一个数据库 控制文件的任意修改将写

探索ORACLE之RMAN_07控制文件丢失恢复

探索ORACLE之RMAN_07控制文件丢失恢复 作者:吴伟龙   Name:Prodence Woo QQ:286507175  msn:hapy-wuweilong@hotmail.com 1.     控制文件(controlfile)丢失恢复 基于控制文件的复合多路径性,它的丢失分为两种,一种是其中某个控制文件的损坏或丢失,另外一种是所有控制文件均丢失.基于第一种情况,只需把好的控制文件复制一份在损坏或丢失的那个控制文件路径下即可.第二种情况下则需要通过备份信息来对控制文件进行恢复或手工

重建控制文件时resetlogs与noresetlogs的使用情况

重建控制文件时resetlogs与noresetlogs的使用情况 控制文件中记录着数据库的数据文件,日志文件,备份数据等信息,更为重要的,控制文件中还记录了数据库的检查点 和scn信息,这些信息在数据恢复的过程中将起到关键性作用. 一个正常运行的数据库,通常控制文件都存在多份镜像,这些镜像的内容是完全相同的,oracle缺省就创建多份控制 文件更说明了控制文件的重要: SQL> select name from v$controlfile; NAME ---------------------

Oracle 控制文件(CONTROLFILE)

--============================= -- Oracle 控制文件(CONTROLFILE) --=============================   一.Oracle 控制文件         为二进制文件,初始化大小由CREATE DATABASE指定,可以使用RMAN备份         记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等等         在参数文件中描述其位置,个数等等.通常采用分散放开,多路复用

当oracle丢失所有控制文件后可以重新创建控制文件来恢复数据库

当oracle丢失所有控制文件后可以重新创建控制文件来使数据库正常打开 重新创建控制文件的方法如下: 第一步是查询出该数据的所有日志文件,数据文件和控制文件 SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- D:\ORACLE\PRODUCT\10.1.0\ORADATA\OCP\REDO03.LOG

jsp实现添加视频文件到oracle数据库的blob字段

问题描述 jsp实现添加视频文件到oracle数据库的blob字段,求实现方法 解决方案 解决方案二:视频流文件转换成byte数组解决方案三:你先获取视频流,然后自己封装一把持久化到blob解决方案四:参考下吧:importjava.io.BufferedInputStream;importjava.io.FileInputStream;importjava.io.PrintStream;importjava.sql.Connection;importjava.sql.DriverManager