[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. RBAC用户权限管理数据库设计【转载】

    本文转载自:https://www.kancloud.cn/martist/ma_zhao_liu/374123 简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色-权 ...

  2. Jboss EAP 6 EJB调用常见问题

    1. 调用EJB的三种方法 调用EAP 6 EJB的第一种方法,使用JBoss API,如下: Properties p = new Properties(); p.put("remote. ...

  3. MySQL案例08:MySQL Scheduler Events带来的风险

    定时任务是我们开发.运维人员经常用到的,比如cron,job,schedule,events scheduler等都是为了方便我们重复执行某项工作而无需人工参与而设计,这里我要说的是MySQL数据库本 ...

  4. 【C语言】 8421BCD码与二进制的转换

    #define BCD2TODEC(bcd) (bcd) = ((bcd) & 0x0f)+ ((bcd)>>4)*10 #define BIN2BCD(bcd) (bcd) = ...

  5. BBS论坛博客系统

    目录 BBS网站需求分析 BBS数据库设计 BBS用户登录 BBS用户注册 BBS网站首页 BBS个人首页 后台管理系统搭建 网站全部源码

  6. 远程登录Linux(window下操作Linux)

    参考文章:http://www.runoob.com/linux/linux-remote-login.html 1.Window系统上 Linux 远程登录客户端有SecureCRT, Putty, ...

  7. [SQL123] Oracle SQL 统计一定时间间隔内的数据

    --Group by State_ts "per X minutes"select to_char(state_ts, 'hh24')||':'||floor(to_char(st ...

  8. python-celery定时提交任务

    pip install celery 使用消息中间件:RabbitMQ/Redis app=Celery('任务名',backend='xxx',broker='xxx') 基本使用 import c ...

  9. day1-课堂笔记

    venv   执行方法: 1,pycharm执行 2,cmd命令窗口执行:python D:\PyCharmProjects\MyProject\day1.py 回车   java原理: HW.jav ...

  10. Python2.7-copy

    copy 模块,python 中的‘=’是使左边的对象成为右边对象的一个引用,对不可变对象(如数字,字符串等)使用‘=’一般不会出现问题,但当对字典,列表等可变对象进行‘=’操作时,要注意修改其中一个 ...