一、 11g RAC 重建控制文件

1、 --"create controlfile"命令生成到追踪文件中:
alter database backup controlfile to trace;

2、 --确认追踪文件的路径:
SQL> select value from v$diag_info where name='Default Trace File';

3、 -- 截取脚本 在追踪文件中找到并执行NORESETLOGS版本的"create controlfile"命令 至 End of tempfile additions.

如下:
-- Set #1. NORESETLOGS case
--
-- The following commands will create a new control file and use it
-- to open the database.
-- Data used by Recovery Manager will be lost.
-- Additional logs may be required for media recovery of offline
-- Use this only if the current versions of all online logs are
-- available.
-- After mounting the created controlfile, the following SQL
-- statement will place the database in the appropriate
-- protection mode:
-- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "YNDSS" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 192
MAXLOGMEMBERS 3
MAXDATAFILES 2560
MAXINSTANCES 32
MAXLOGHISTORY 292
LOGFILE
GROUP 1 (
'+DATA01/yndss/onlinelog/group_1.257.954170283',
'+FRA/yndss/onlinelog/group_1.257.954170289'
) SIZE 4096M BLOCKSIZE 512,
GROUP 2 (
'+DATA01/yndss/onlinelog/group_2.258.954170295',
'+FRA/yndss/onlinelog/group_2.258.954170301'
) SIZE 4096M BLOCKSIZE 512,
GROUP 3 (
'+DATA01/yndss/onlinelog/group_3.259.954170307',
'+FRA/yndss/onlinelog/group_3.259.954170313'
) SIZE 4096M BLOCKSIZE 512,
GROUP 4 (
'+DATA01/yndss/onlinelog/group_4.260.954170317',
'+FRA/yndss/onlinelog/group_4.260.954170323'
) SIZE 4096M BLOCKSIZE 512,
GROUP 5 (
'+DATA01/yndss/onlinelog/group_5.267.954172379',
'+FRA/yndss/onlinelog/group_5.261.954172383'
) SIZE 4096M BLOCKSIZE 512,
GROUP 6 (
'+DATA01/yndss/onlinelog/group_6.268.954172389',
'+FRA/yndss/onlinelog/group_6.262.954172395'
) SIZE 4096M BLOCKSIZE 512,
GROUP 7 (
'+DATA01/yndss/onlinelog/group_7.269.954172399',
'+FRA/yndss/onlinelog/group_7.263.954172405'
) SIZE 4096M BLOCKSIZE 512,
GROUP 8 (
'+DATA01/yndss/onlinelog/group_8.270.954172411',
'+FRA/yndss/onlinelog/group_8.264.954172417'
) SIZE 4096M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'+DATA01/yndss/datafile/system.261.954170329',
'+DATA01/yndss/datafile/sysaux.262.954170337',
'+DATA01/yndss/datafile/undotbs1.263.954170349',
'+DATA01/yndss/datafile/undotbs2.265.954170389',
'+DATA01/yndss/datafile/users.266.954170413',
'+DATA01/yndss/datafile/etl001.dbf',
'+DATA01/yndss/datafile/src001.dbf',
'+DATA01/yndss/datafile/cdr001.dbf',
'+DATA01/yndss/datafile/day001.dbf',
'+DATA01/yndss/datafile/mon001.dbf',
'+DATA01/yndss/datafile/detail001.dbf',
'+DATA01/yndss/datafile/code001.dbf',
'+DATA01/yndss/datafile/dss001.dbf',
'+DATA01/yndss/datafile/dm001.dbf',
'+DATA01/yndss/datafile/rpt001.dbf',
'+DATA01/yndss/datafile/undotbs1.292.954498057',
'+DATA01/yndss/datafile/undotbs2.293.954498139',
'+DATA01/yndss/datafile/day002',
'+DATA01/yndss/datafile/day004',
'+DATA01/yndss/datafile/day005',
'+DATA01/yndss/datafile/day006',
'+DATA01/yndss/datafile/day007',
'+DATA01/yndss/datafile/day008',
'+DATA01/yndss/datafile/day009',
'+DATA01/yndss/datafile/day010',
'+DATA01/yndss/datafile/day011',
'+DATA01/yndss/datafile/day012',
'+DATA01/yndss/datafile/day013',
'+DATA01/yndss/datafile/day014',
'+DATA01/yndss/datafile/day015',
'+DATA01/yndss/datafile/day016',
'+DATA01/yndss/datafile/day017',
'+DATA01/yndss/datafile/day018',
'+DATA01/yndss/datafile/day019',
'+DATA01/yndss/datafile/day020',
'+DATA01/yndss/datafile/day021',
'+DATA01/yndss/datafile/day022',
'+DATA01/yndss/datafile/day023'
CHARACTER SET ZHS16GBK
;
-- Commands to re-create incarnation table
-- Below log names MUST be changed to existing filenames on
-- disk. Any one log file from each branch can be used to
-- re-create incarnation records.
-- ALTER DATABASE REGISTER LOGFILE '+FRA';
-- Recovery is required if any of the datafiles are restored backups,
-- or if the last shutdown was not normal or immediate.
RECOVER DATABASE
-- Database can now be opened normally.
ALTER DATABASE OPEN;
-- Commands to add tempfiles to temporary tablespaces.
-- Online tempfiles have complete space information.
-- Other tempfiles may require adjustment.
ALTER TABLESPACE TEMP ADD TEMPFILE '+DATA01/yndss/tempfile/temp.264.954170377'
SIZE 20480M REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 131071M;
ALTER TABLESPACE TEMP01 ADD TEMPFILE '+DATA01/yndss/tempfile/temp01.272.954431201'
SIZE 30720M REUSE AUTOEXTEND OFF;
ALTER TABLESPACE TEMP01 ADD TEMPFILE '+DATA01/yndss/tempfile/temp01.273.954431229'
SIZE 30720M REUSE AUTOEXTEND OFF;
ALTER TABLESPACE TEMP01 ADD TEMPFILE '+DATA01/yndss/tempfile/temp01.274.954431245'
SIZE 30720M REUSE AUTOEXTEND OFF;
ALTER TABLESPACE TEMP01 ADD TEMPFILE '+DATA01/yndss/tempfile/temp01.275.954431255'
SIZE 30720M REUSE AUTOEXTEND OFF;
ALTER TABLESPACE TEMP01 ADD TEMPFILE '+DATA01/yndss/tempfile/temp01.276.954431265'
SIZE 30720M REUSE AUTOEXTEND OFF;
ALTER TABLESPACE TEMP02 ADD TEMPFILE '+DATA01/yndss/tempfile/temp02.277.954431307'
SIZE 30720M REUSE AUTOEXTEND OFF;
ALTER TABLESPACE TEMP02 ADD TEMPFILE '+DATA01/yndss/tempfile/temp02.278.954431321'
SIZE 30720M REUSE AUTOEXTEND OFF;
ALTER TABLESPACE TEMP02 ADD TEMPFILE '+DATA01/yndss/tempfile/temp02.279.954431347'
SIZE 30720M REUSE AUTOEXTEND OFF;
ALTER TABLESPACE TEMP02 ADD TEMPFILE '+DATA01/yndss/tempfile/temp02.280.954431371'
SIZE 30720M REUSE AUTOEXTEND OFF;
ALTER TABLESPACE TEMP02 ADD TEMPFILE '+DATA01/yndss/tempfile/temp02.281.954431381'
SIZE 30720M REUSE AUTOEXTEND OFF;
-- End of tempfile additions.

说明:REUSE 可以复用数据库本身已经存在的临时文件

4、-- 正式重建 (重建之前,可以 cp 备份控制文件)
alter system set cluster_database=false scope=spfile sid='*';
@脚本
alter system set cluster_database=true scope=spfile sid='*';

说明:如果环境是集群的话,需要调整 cluster_database 参数。
——————————————————————————————

二、 12c 重建控制文件

STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 1024
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/home/oracle/app/oradata/orcl/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/home/oracle/app/oradata/orcl/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/home/oracle/app/oradata/orcl/redo03.log' SIZE 50M BLOCKSIZE 512
DATAFILE
'/home/oracle/app/oradata/orcl/system01.dbf',
'/home/oracle/app/oradata/orcl/sysaux01.dbf',
'/home/oracle/app/oradata/orcl/undotbs01.dbf',
'/home/oracle/app/oradata/orcl/pdbseed/system01.dbf',
'/home/oracle/app/oradata/orcl/users01.dbf',
'/home/oracle/app/oradata/orcl/pdbseed/sysaux01.dbf',
'/home/oracle/app/oradata/orcl/pdb/system01.dbf',
'/home/oracle/app/oradata/orcl/pdb/sysaux01.dbf',
'/home/oracle/app/oradata/orcl/pdb/pdb_users01.dbf'
CHARACTER SET ZHS16GBK
;
RECOVER DATABASE
ALTER DATABASE OPEN;
ALTER PLUGGABLE DATABASE ALL OPEN;
ALTER TABLESPACE TEMP ADD TEMPFILE '/home/oracle/app/oradata/orcl/temp01.dbf'
SIZE 92274688 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
ALTER SESSION SET CONTAINER = PDB$SEED;
ALTER TABLESPACE TEMP ADD TEMPFILE '/home/oracle/app/oradata/orcl/pdbseed/pdbseed_temp01.dbf'
SIZE 91226112 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
ALTER SESSION SET CONTAINER = PDB;
ALTER TABLESPACE TEMP ADD TEMPFILE '/home/oracle/app/oradata/orcl/pdb/temp01.dbf'
SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
ALTER SESSION SET CONTAINER = CDB$ROOT;

——————————————————————————————

补充:
如有需要,利用strings命令找出来数据文件和联机日志路径

oracle之 利用 controlfile trace文件重建控制文件的更多相关文章

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

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

  2. 【Oracle】利用trace文件重建控制文件

    重建步骤: 1.生成trace文件: alter database backup controlfile to trace; 2.找到生成的trace文件: show parameter dump u ...

  3. Oracle 重建控制文件一例

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

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

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

  5. Oracle 重建控制文件

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

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

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

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

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

  8. Oracle 无备份情况下的恢复--控制文件/数据文件

    13.3无备份恢复控制文件 没有备份恢复控制文件其实就是在nomount状态,create control创建一个新的控制文件. dba必须知道4个信息才能正确的创建:数据库名.在线日志路径及其大小. ...

  9. 重建控制文件ORA-12720

    重建过程出错:ORA-01503: CREATE CONTROLFILE failedORA-12720: operation requires database is in EXCLUSIVE mo ...

随机推荐

  1. JXLS导出Excel(模板导出)

    1.导包 在pom.xml中加入依赖如下: <dependency> <groupId>org.jxls</groupId> <artifactId>j ...

  2. 19.并发容器之BlockingQueue

    1. BlockingQueue简介 在实际编程中,会经常使用到JDK中Collection集合框架中的各种容器类如实现List,Map,Queue接口的容器类,但是这些容器类基本上不是线程安全的,除 ...

  3. 打开Eclipse提示“The default workspace “xxxx” is in use or cannot be created Please choose a different one“

    原因:出现这种情况一般是workspace的配置文件中出现了.lock文件(workspace/.metadata/.lock),锁定了workspace.把.lock文件删除即可. 如果该文件不能删 ...

  4. 记录selenium操作

    # -*- coding: utf-8 -*- # coding:utf-8 必须在第一行才能支持中文注释 #!/usr/bin/python # android-build.py # Build a ...

  5. Centos7 使用Dockerfile 制作自己的Dotnetcore程序镜像

    准备Centos7环境及Docker环境 从Docker hub拉取 Microsoft/dotnet 基础镜像(可以使用国内加速) 向Centos7指定目录上传Dotnet Core程序,目录: / ...

  6. mysql和SqlServer 中取得汉字字段的各汉字首字母

    mysql 中取得汉字字段的各汉字首字母 这个转载于http://blog.csdn.net/lky5387/article/details/11973721 DELIMITER ;;CREATE  ...

  7. flume 启动,停止,重启脚本

    #!/bin/bash #echo "begin start flume..." #flume的安装根目录(根据自己情况,修改为自己的安装目录) path=/sysware/apa ...

  8. ubuntu15.10运行android studio出错unable to run mksdcard sdk tool

    问题:ubuntu运行android studio出错unable to run mksdcard sdk tool 系统版本:系统是ubuntu 15.10 64位 确认原因:缺少lib 解决方法: ...

  9. New Concept English there (4)

    20w/m These days, people who do manual work often receive far more money than people who work in off ...

  10. Linux之FTP服务

     一.ftp服务 ftp是一个文件传输协议(File Transfer Protocal).lftp相当于一个浏览器,用来向服务器发送请求的. 进行FTP服务的相关操作的时候,要先修改 vim /et ...