[oracle@rac01 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Thu Mar 15 23:45:02 2018
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area  784998400 bytes
Fixed Size                    2257352 bytes
Variable Size                  541068856 bytes
Database Buffers          239075328 bytes
Redo Buffers                    2596864 bytes
ORA-00205: error in identifying control file, check alert log for more info
CREATE CONTROLFILE REUSE DATABASE "proc" NORESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '+DATA/proc/onlinelog/group_1.257.965585459'  SIZE 50M BLOCKSIZE 512,
  GROUP 2 '+DATA/proc/onlinelog/group_2.258.965585467' SIZE 50M BLOCKSIZE 512,
  GROUP 3 '+DATA/proc/onlinelog/group_3.265.965591745' SIZE 50M BLOCKSIZE 512,
  GROUP 4 '+DATA/proc/onlinelog/group_4.266.965591749' SIZE 50M BLOCKSIZE 512,
  GROUP 5 '+DATA/proc/onlinelog/group_5.268.966135797' SIZE 50M BLOCKSIZE 512,
  GROUP 6 '+DATA/proc/onlinelog/group_6.269.966135801' SIZE 50M BLOCKSIZE 512,
  GROUP 7 '+DATA/proc/onlinelog/group_7.270.966135807' SIZE 50M BLOCKSIZE 512,
  GROUP 8 '+DATA/proc/onlinelog/group_8.271.966135869' SIZE 50M BLOCKSIZE 512,
  GROUP 9 '+DATA/proc/onlinelog/group_9.272.966135875' SIZE 50M BLOCKSIZE 512,
  GROUP 10 '+DATA/proc/onlinelog/group_10.273.966135881'  SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  '+DATA/proc/datafile/SYSAUX.260.965585511',
  '+DATA/proc/datafile/SYSTEM.259.965585479',
   '+DATA/proc/datafile/UNDOTBS1.261.965585527',
  '+DATA/proc/datafile/UNDOTBS2.263.965585563',
   '+DATA/proc/datafile/USERS.264.965585575'
CHARACTER SET AL32UTF8
-- 在节点1的 nomount状态下执行报错
ORA-01503: CREATE CONTROLFILE failed
ORA-12720: operation requires database is in EXCLUSIVE mode
-- 解决方案
关闭其他节点,保留节点1,并修改节点1的参数文件
SQL> alter system set cluster_database=FALSE scope=spfile sid='*';
System altered.
SQL> shutdown immediate
-- 再次启动数据库到nomount状态,再重建控制文件就可以了
--启动数据库到open状态
SQL> alter database open;
Database altered.
-- 发现asm磁盘组中的控制文件自己生成了
ASMCMD> ls
Current.256.970878297
control02.ctl
-- 启动节点2,说是不能在独占模式下启动数据库
SQL> startup
ORA-01102: cannot mount database in EXCLUSIVE mode
-- 因为控制文件重建了,所以要将参数cluster_database改为true,并从spfile生成pifle,并重启
SQL> alter system set cluster_database=true scope=spfile sid='*';
SQL> create pfile from spfile='注意路径';
SQL> shutdown immediate;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> startup
ORACLE instance started.
Total System Global Area  784998400 bytes
Fixed Size                    2257352 bytes
Variable Size                  541068856 bytes
Database Buffers          239075328 bytes
Redo Buffers                    2596864 bytes
Database mounted.
Database opened.
SQL>  show parameter cluster_database;
NAME                                     TYPE         VALUE
------------------------------------ ----------- ------------------------------
cluster_database                     boolean         TRUE
cluster_database_instances             integer         2
File created.
-- 发现节点可以启动到nomount状态了,可是在mount状态依然报错
SQL> startup nomount;
ORACLE instance started.
Total System Global Area  784998400 bytes
Fixed Size                    2257352 bytes
Variable Size                  620760632 bytes
Database Buffers          159383552 bytes
Redo Buffers                    2596864 bytes
SQL>
SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-00205: error in identifying control file, check alert log for more info
-- 查看一下告警日志,可以看到它还在找原来的控制文件,说明spfile没有写入pfile
ORA-00210: cannot open the specified control file
ORA-00202: control file: '+FRA/proc/controlfile/current.256.965585457'
ORA-17503: ksfdopn:2 Failed to open file +FRA/proc/controlfile/current.256.965585457
ORA-15012: ASM file '+FRA/proc/controlfile/current.256.965585457' does not exist
-- 查看spfile发现没有路径
SQL> show parameter spfile
NAME                                     TYPE         VALUE
------------------------------------ ----------- ------------------------------
spfile                                     string
-- 重新设置spfile路径
SQL> alter system set spfile ='+data/proc/spfileproc.ora';
-- 重启
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup nomount;
ORACLE instance started.
Total System Global Area  784998400 bytes
Fixed Size                    2257352 bytes
Variable Size                  620760632 bytes
Database Buffers          159383552 bytes
Redo Buffers                    2596864 bytes
SQL> alter database mount;
Database altered.
SQL> alter database open;
Database altered.
 

【ORACLE】重写控制文件的更多相关文章

  1. Oracle的控制文件

    一.控制文件 oracle的控制文件是极其重要的文件,它是一个较小的二进制文件. 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等等  在参数文件中描述其位置, ...

  2. Oracle数据库控制文件多路复用

    Oracle数据库控制文件多路复用多路复用控制文件,指的是在系统不同的位置上同时存放多个控制文件的副本,此时如果某个路径对应的磁盘发送物理损坏导致该控制文件损坏,就可以通过另一个磁盘上的控制文件进行恢 ...

  3. Oracle数据库 控制文件

    一.概念控制文件的主要任务是管理数据库的状态以及描述数据库的物理结构 二.所含有的信息1.数据库名2.数据库标识符(DBID)3.数据库创建时间戳4.数据库字符集5.数据文件信息6.临时文件信息7.在 ...

  4. oracle重建控制文件

    根据已有数据库创建新的控制文件#数据库必须是mounted或open状态 sql> alter database backup controlfile to trace; 可以使用以下快捷方式找 ...

  5. oracle 中控制文件中到底记录了哪些信息

     oracle 控制文件中的信息  oracle 11g                                             oracle 10g   DATABASE       ...

  6. Oracle 重建控制文件

    前些天在做Oracle数据库恢复测试时,因为一些异常操作导致控制文件出了问题,数据库无法正常使用,这里记录一下重建控制文件的操作 一.使用sysdba用户登入数据库 此时普通用户已无法链接数据库 二. ...

  7. Oracle删除控制文件恢复

    控制文件被删除后,系统崩溃,下面介绍下如何恢复控制文件 SQL> conn / as sysdbaConnected to an idle instance.SQL> startup no ...

  8. Oracle 重建控制文件一例

    环境:OEL 5.7 + Oracle 10.2.0.5 背景:在Oracle的运维过程中,时常会遇到一些场景是需要重建控制文件才可以解决的.本文的场景可以通过复制控制文件到新路径,运行一段时间后,再 ...

  9. Oracle的控制文件和日志文件

    --什么是控制文件 控制文件是数据库的一个二进制文件,它主要记录数据库的名称. 数据库的数据文件存放位置等信息. 一个控制文件只能属于一个数据库.如果控制文件丢失,这数据库就无法操作. --下面查询语 ...

随机推荐

  1. Jenkins自动构建的几种方式

    1.远程URL构建 在任务配置处的构建触发器中选择远程触发,例如,在下图框中输入abc,则只需要在网页上输入地址:Jenkins_URL/job/工程名/build?token=abc 2.利用cur ...

  2. django -- Celery实现异步任务

    1. 环境 python==2.7 djang==1.11.2 # 1.8, 1.9, 1.10应该都没问题 celery-with-redis==3.0 # 需要用到redis作为中间人服务(Bro ...

  3. yum安装某个包出现冲突的情况

    yum安装是非常方便的,可以自动解决依赖问题,但是有时候我们安装包会出现冲突,这个时候我们就要查找是哪些包与哪些包出现冲突,然后再针对性的解决问题. 一般来说起冲突的包会报出来,主要为两点 1.包与包 ...

  4. linux禁止非法用户试探登录

    当我们的linux主机一旦暴露在互联网上,就会遭受到来自网络上的一些非法用户的骚扰.如弱口令扫描,试探性登录:这些行为对linux主机构成一定的威胁.那怎样防范此类的攻击了,这里写了一个脚本,功能就是 ...

  5. 2.Linux环境下配置Solr4.10.3

    转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.准备阶段 操作系统:CentOS 6.8 安装包:/home/test solr-4.10.3.tgz.t ...

  6. 设置webstorm支持ES6语法

    1.  点击File目录下的Default Settings 2.  再依次点击Languages & Frameworks  ----->  JaveScript  ----> ...

  7. 3.HBase In Action 第一章-HBase简介(1.1.1 大数据你好呀)

    Let's take a closer look at the term Big Data. To be honest, it's become something of a loaded term, ...

  8. linux 的常用命令---------第五阶段

    计划任务 计划任务的作用:做一些周期性的任务,在生产中的主要用来定期备份数据. 计划任务分类  :1.  一次性的任务 仅执行一次就完成了:   使用命令 at 2.  周期性的任务 定期自动执行完成 ...

  9. MP实战系列(八)之SpringBoot+Swagger2

    SpringBoot一个原则,爱好编程的朋友们都知道,那就是"习惯优于配置". 今天一上来主要说的还是代码,个人比较喜欢来的实战系列的,不过有的时候还是比较偏重于理论,理论是造轮子 ...

  10. 前后端交互之封装Ajax+SpringMVC源码分析

    为什么需要封装呢?因为用的多,我想将其封装成函数,当我想用它时,只需将那个函数对应的js文件引入即可,而不要重复写很多相同代码,利于开发效率的提高. 无论是$.ajax或$.post.$.get等,在 ...