重建步骤:
1、生成trace文件:

alter database backup controlfile to trace;

2、找到生成的trace文件:

show parameter dump

user_dump_dest 文件对应的路径即为trace文件的路径
3、关闭数据库

shutdown immediate

4、查看trace文件(我的trace文件路径为:/u01/app/oracle/diag/rdbms/lgr/LGR/trace)

ls -lt /u01/app/oracle/diag/rdbms/lgr/LGR/trace |more

查看:实例名ora数字_.trc的文件

5、复制trace文件的内容:
tail -100 /u01/app/oracle/diag/rdbms/lgr/LGR/trace/LGR_ora_7900.trc
复制内容如下(文件中从STARTUP NOMOUNT开始,到– Commands to re-create incarnation table
之间的内容):

6、创建sql脚本:
随便一个目录,创建一个脚本,把4中复制的内容粘贴到脚本:

[oracle@localhost ~]$ vi createtcl.sql
[oracle@localhost ~]$ cat createtcl.sql
CREATE CONTROLFILE REUSE DATABASE "LGR" RESETLOGS NOARCHIVELOG
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/lgr/redo01a.log' SIZE 100M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/lgr/redo02a.log' SIZE 100M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/lgr/redo03a.log' SIZE 100M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/lgr/system01.dbf',
'/u01/app/oracle/oradata/lgr/sysaux01.dbf',
'/u01/app/oracle/oradata/lgr/undotbs01.dbf',
'/u01/app/oracle/oradata/lgr/users01.dbf',
'/u01/app/oracle/oradata/lgr/
lgr.dbf',
'/u01/app/oracle/oradata/lgr/ts1',
'/u01/app/oracle/oradata/lgr/ts2',
'/u01/app/oracle/oradata/lgr/ts_idx02.dbf',
'/u01/app/oracle/oradata/lgr/tbs.dbf'
CHARACTER SET AL32UTF8
;

7、nomount状态下运行创建的脚本:

sqlplus / as sysdba
startup nomount SYS@LGR> @createtcl.sql
Control file created.

8、启动数据库,完成控制文件的重做:

alter database open

注:如果在8中出现“ORA-01589:must use RESETLOGS or NORESETLOGS option for database open”
解决办法:数据库在mount状态下运行:alter database open resetlogs;

【Oracle】利用trace文件重建控制文件的更多相关文章

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

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

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

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

  3. Oracle 重建控制文件一例

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

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

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

  5. Oracle 重建控制文件

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

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

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

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

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

  8. ORACLE体系结构一 (物理结构)- 数据文件、日志文件、控制文件和参数文件

    一.物理结构Oracle物理结构包含了数据文件.日志文件.控制文件和参数文件 1.数据文件每一个ORACLE数据库有一个或多个物理的数据文件(data file).一个数据库的数据文件包含全部数据库数 ...

  9. 批量迁移Oracle数据文件,日志文件及控制文件

    有些时候需要将Oracle的多个数据文件以及日志文件重定位或者迁移到新的分区或新的位置,比如磁盘空间不足,或因为特殊需求.对于这种情形可以采取批量迁移的方式将多个数据文件或者日志文件实现一次性迁移.当 ...

随机推荐

  1. 关于jQuery.form中formSerialize()等函数的适用对象

    几个月前写一个页面,要用到Ajax提交,于是写了几行jQuery: …… var formData = $("form")[0].formSerialize(); …… 然后死活调 ...

  2. 【剑指Offer】7、斐波那契数列

      题目描述:   大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0).假设n<=39.   解题思路:   斐波那契数列:0,1,1,2,3, ...

  3. CSS设置input默认样式

    HTML <ul class="box"> <li> <input type="checkbox" name="vehi ...

  4. Luogu P1198 BZOJ 1012 最大数 (线段树)

    手动博客搬家: 本文发表于20170821 14:32:05, 原地址https://blog.csdn.net/suncongbo/article/details/77449455 URL: (Lu ...

  5. 使用Neo4j和简单分词算法实现菜品推荐系统

    背景:本推荐系统基于一款硬件产品--旺小宝桌牌.客人按下点餐按钮,扫码进入点餐界面,然后开始点自己喜欢的菜,在手机端下单.目前在成都已有近200家合作餐饮商家. 菜品推荐功能: 当客人在某商家使用桌牌 ...

  6. asp.net--常用的数据库链接字符串

    本地连接 privatestring conn_string ="Data Source=localhost;Initial Catalog=SQLtest;Integrated Secur ...

  7. 手把手实现Java权限(1)-Shiro介绍

    功能介绍 Authentication :身份认证/登录.验证用户是不是拥有对应的身份:  Authorization :授权,即权限验证.验证某个已认证的用户是否拥有某个权限:即推断用  户能否做事 ...

  8. 在Map对象中获取属性,注意判断为空

    在Map对象中获取属性,注意判断为空 public static void main(String[] args) { Map map = new HashMap(); Integer i = (In ...

  9. poj2135(简单的最小费用流问题)

    题目链接:http://poj.org/problem?id=2135 Farm Tour Time Limit: 1000MS   Memory Limit: 65536K Total Submis ...

  10. linux程序设计——多线程(第十二章)

    12.8    多线程 之前,总是让程序的主线程只创建一个线程.这节将演示怎样在同一个程序中创建多个线程,然后怎样以不同于其启动顺序将它们合并在一起.此外,还演示多线程编程时easy出现的时序问题. ...