oracle重建控制文件

根据已有数据库创建新的控制文件
#数据库必须是mounted或open状态

sql> alter database backup controlfile to trace;

可以使用以下快捷方式找到对应的trace文件

sql> alter database backup controlfile to trace;
sql> oradebug setmypid;
sql> oradebug tracefile_name;

从trace文件中要找出以下内容,保存到脚本controlfile.sql:

CREATE CONTROLFILE REUSE DATABASE "DB11" NORESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 ‘/u01/app/oracle/oradata/db11/redo01.log‘  SIZE 50M BLOCKSIZE 512,
  GROUP 2 ‘/u01/app/oracle/oradata/db11/redo02.log‘  SIZE 50M BLOCKSIZE 512,
  GROUP 3 ‘/u01/app/oracle/oradata/db11/redo03.log‘  SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  ‘/u01/app/oracle/oradata/db11/system01.dbf‘,
  ‘/u01/app/oracle/oradata/db11/sysaux01.dbf‘,
  ‘/u01/app/oracle/oradata/db11/undotbs01.dbf‘,
  ‘/u01/app/oracle/oradata/db11/users01.dbf‘,
  ‘/u01/app/oracle/oradata/db11/example01.dbf‘,
  ‘/u01/app/oracle/oradata/db11/test01.dbf‘
CHARACTER SET AL32UTF8
;

正式创建控制文件

sql> shutdown immediate
sql> startup nomount
sql> @controlfile.sql #创建完成后,数据库会自动到mounted状态

#创建控制文件后,记得添加临时文件

sql> alter tablespace temp add tempfile ‘/u01/app/oracle/oradata/db11/temp01.db‘ reuse;

如果是以resetlogs打开数据库,建议尽快做一个数据库备份。

如果数据库已经无法mount,比如需要还原数据库时,则需要手工写创建脚本了。
脚本必须以:
create controlfile reuse database "dbname" noresetlogs archivelog
开始。

其它步骤类似。

时间: 2024-08-03 08:36:05

oracle重建控制文件的相关文章

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

一. 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&

ORACLE之重建控制文件

这里上传图片一直失败,想要查看详细信息和截图的可以下载附件 首先看一下控制文件的理解: 控制文件是一个二进制文件,用于记录数据库的物理结构.一个控制文件只属于一个数据库.创建数据库时,创建控制文件.当数据库的物理结构改变的时候,Oracle会更新控制文件,不能手动修改内容. 控制文件内容有:数据库名.数据库创建的时间戳.数据文件的名字和位置.redo log (联机重做日志文件)的名字和位置.表空间信息.当前日志的序列号.checkpoint 信息.最新的 RMAN备份信息.归档日志信息 当这些

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

在重建控制文件之前应该考虑的事情 来源于: Things to Consider Before Recreating the Controlfile (文档 ID 1475632.1) 适用于: Oracle Database - Enterprise Edition - Version 10.2.0.1 and later Information in this document applies to any platform. 目的: 突出控制文件的重要性和在重建控制文件之前应该考虑的问题.

【翻译自mos文章】在重建控制文件之后,丢失了数据库补充日志信息(Missed Database Supplemental Log Information)

在重建控制文件之后,丢失了数据库补充日志信息(Missed Database Supplemental Log Information) 参考原文: Missed Database Supplemental Log Information After Recreate Controlfile In 10g Database. (Doc ID 1474952.1) 适用于: Oracle Server - Enterprise Edition - Version 10.1.0.2 and late

重建控制文件详解

http://note.youdao.com/share/?id=d3991566cad33723db8b92183dcd9161&type=note 完整图文最新版 创造"重建控制文件脚本"需要在mount或open下进行. alter database backup controlfile to trace as '/tmp/ctl..sql'; 执行"重建控制文件脚本"需要在nomount的时候. -- The following are curren

丢失全部控制文件,noresetlogs重建控制文件,alter database open

測试2: (1)一致性的全备 SQL> shutdown immediate; $ cp -rf $ORACLE_BASE/oradata/boss/*.dbf /oradata/bossbak/20140610allbackup $ cp -rf $ORACLE_BASE/oradata/boss/*.log /oradata/bossbak/20140610allbackup $ cp -rf $ORACLE_BASE/oradata/boss/*.ctl /oradata/bossbak/

丢失所有控制文件,noresetlogs重建控制文件,alter database open

测试2: (1)一致性的全备 SQL> shutdown immediate; $ cp -rf $ORACLE_BASE/oradata/boss/*.dbf /oradata/bossbak/20140610allbackup $ cp -rf $ORACLE_BASE/oradata/boss/*.log /oradata/bossbak/20140610allbackup $ cp -rf $ORACLE_BASE/oradata/boss/*.ctl /oradata/bossbak/

重建控制文件报错

SQL> CREATE CONTROLFILE REUSE DATABASE "EMREP" NORESETLOGS FORCE LOGGING ARCHIVELOG  2      MAXLOGFILES 16  3      MAXLOGMEMBERS 3  4      MAXDATAFILES 100  5      MAXINSTANCES 8  6      MAXLOGHISTORY 292  7  LOGFILE  8    GROUP 1 '/u01/app/o

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

重建控制文件的方法 參考原文: How to Recreate a Controlfile (Doc ID 735106.1) 适用于: Oracle Database - Enterprise Edition - Version 9.0.1.0 and later Information in this document applies to any platform. 解决方式: 警告: 仅仅有遇到下列场景时,你才应该recreate 你的控制文件 1.全部的当前的控制文件copies 已经