1.使用sqlplus连接到已经mount或open的rac数据库

sql> alter database backup controlfile to trace noresetlogs;

2.找出对应的trace文件
3.编写脚本control.sql

startup nomount
create controlfile reuse database "orcl" noresetlogs noarchivelog
maxlogfiles 192
maxlogmembers 3
maxdatafiles 1024
maxinstances 32
maxloghistory 292
logfile
group 1 '/ocfs01/rac/redo01.log' size 50m,
group 2 '/ocfs01/rac/redo02.log' size 50m,
group 3 '/ocfs01/rac/redo03.log' size 50m,
group 4 '/ocfs01/rac/redo04.log' size 50m
-- standby logfile
datafile
'/ocfs01/rac/system01.dbf',
'/ocfs01/rac/undotbs01.dbf',
'/ocfs01/rac/sysaux01.dbf',
'/ocfs01/rac/undotbs02.dbf',
'/ocfs01/rac/users01.dbf'
character set we8iso8859p1
recover database
alter database open;
alter tablespace temp add tempfile '/ocfs01/rac/temp01.dbf'
size 167772160 reuse autoextend off; recover database
alter database open;
alter tablespace temp add tempfile '/ocfs01/rac/temp01.dbf'
size 524288000 reuse autoextend on next 655360 maxsize 32767m; -- the next step is optional if gv$thread does not show all the threads:
-- alter database enable public thread 2;
-- repeat for other threads if applicable

4.关闭数据库所有实例

$ srvctl stop database -d orcl -o immediate

5.备份当前的控制文件

6.确保实例设置都是针对thread 1

instance = 1
thread = 1

7.将参数文件中的cluster_database设置为false
如果是使用spfile:

sql> startup nomount
sql> alter system set cluster_database=false scope=spfile;
sql> shutdown

8.运行脚本创建新的控制文件

sqlplus / as sysdba
SQL> @control.sql

9.将参数cluster_database设置为true

sql> alter system set cluster_database=true scope=spfile;

10.关闭数据库

sql> shutdown immediate

11.启动所有实例

$ srvctl start database -d orcl
$ srvctl status database -d orcl

12.备份数据库

oracle rac重建控制文件的更多相关文章

  1. Oracle控制文件多路复用以及Oracle备份重建控制文件

    控制文件中记录了oracle数据库的物理结构,也就是记录了数据库数据文件和日志文件的位置,控制文件中还记录了多种SCN,用这些SCN来确定数据文件和日志文件是否是正确的.如果不正确那么数据库就需要恢复 ...

  2. 【ORACLE】ORACLE RAC设置控制文件多路

    [oracle@rac01 ~]$ srvctl stop database -d proc -o immediate [oracle@rac01 ~]$ sqlplus / as sysdba SQ ...

  3. oracle之 利用 controlfile trace文件重建控制文件

    一. 11g RAC 重建控制文件 1. --"create controlfile"命令生成到追踪文件中:alter database backup controlfile to ...

  4. Oracle 重建控制文件

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

  5. Oracle 重建控制文件一例

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

  6. 【练习】trace文本重建控制文件

    这个小练习是针对控制文件全部丢失后怎么能快速的重建一个控制文件,快速的起库 1.备份控制文件到trace下 SQL> alter database backup controlfile to t ...

  7. 【ORACLE】重写控制文件

    [oracle@rac01 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Thu Mar 15 23:45:02 ...

  8. 【翻译自mos中文文章】重建控制文件的方法

    重建控制文件的方法 參考原文: How to Recreate a Controlfile (Doc ID 735106.1) 适用于: Oracle Database - Enterprise Ed ...

  9. 【翻译自mos文章】在重建控制文件之前应该考虑的事情

    在重建控制文件之前应该考虑的事情 来源于: Things to Consider Before Recreating the Controlfile (文档 ID 1475632.1) 适用于: Or ...

随机推荐

  1. ACM blockhouses

    blockhouses 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 Suppose that we have a square city with straigh ...

  2. SQLSERVER的NULL

    判断数据库中某个值是否为null(而不是'null',空字符串'',若干个空格' ') 一定不能用=null 或 !=null,而要用is null 或 is not null. 在sqlserver ...

  3. iphone H5 input type="search" 不显示搜索 解决办法

    H5 input type="search" 不显示搜索 解决办法 H5 input type="search" 不显示搜索 解决方法 在IOS(ipad iP ...

  4. iOS 项目中用到的一些开源库和第三方组件

    iOS 项目中用到的一些 iOS 开源库和第三方组件 分享一下我目前所在公司 iOS 项目中用到的一些 iOS 开源库和第三方组件, 感谢开源, 减少了我们的劳动力, 节约了我们大量的时间, 让我们有 ...

  5. Java_java动态编译整个项目,解决jar包找不到问题

    java动态编译整个项目,解决jar包找不到问题原文:http://itzyx.com/index.php/javac/ 动态将java文件编译为class文件解决方案:将temp\sdl\src目录 ...

  6. js正则表达式校验非负整数:^\d+$ 或 ^[1-9]\d*|0$ 【转载】

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. .NET易忘备留 ORACLE存储过程调用

    1.Oracle存储过程调用[返回信息,单体或者列表] public IResult FundBuild(string partnerId,string userId, DateTime beginD ...

  8. XAML parser exception

    To debug xaml exception: Visual Studio -> Debug -> Exception -> Common Language Runtime Exc ...

  9. Handler消息传递机制

    引言: 出于性能优化考虑,Android的UI操作并不是线程安全的,这意味着如果有多个线程并发操作UI组件,可能导致线程安全问题. 为了解决这个问题,Android制定了一条简单的规则:只允许UI线程 ...

  10. return和finally的执行顺序

    创建一个类,新建一个方法: public class Demo { public int get() { int x=1; try { x++; return x; }finally{ ++x; } ...