重建控制文件的方法

參考原文:
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 已经丢失 或者 都已经损坏(corrupted)
2.你正在restore一个backup,在此backup中控制文件已经损坏 或者丢失(missing)
3.你须要在控制文件里改变一个hard limit 的数据库參数(database parameter)
4.假设你正在move 你的database 到一个server上,而且files位于不同的location上。

5. oracle 技术支持人员建议你重建控制文件。

第一种情况:在已经存在的db中(而且该db是mount or  open状态)建立一个新的controlfile

首先。必须生成一个控制文件的ascii dump文件
SQL> alter database backup controlfile to trace;

该trace文件被生成在udump文件夹下:
SQL> show parameter user_dump_dest

NAME            TYPE         VALUE
--------------  ------       ------------------------------------------------
user_dump_dest  string       /oracle/product/11.1.0/db_1/diag/rdbms/V11/trace

到/oracle/product/11.1.0/db_1/diag/rdbms/V11/trace文件夹下。依照时间排序:
% cd /oracle/product/11.1.0/db_1/diag/rdbms/V11/trace
% ls -ltr

一旦定位到该文件。该文件会与一般的trace file一样显演示样例如以下:
Trace file /oracle/product/11.1.0/db_1/diag/rdbms/V11/trace/V11_ora_31225.trc
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /oracle/product/11.1.0/db_1

你感兴趣的是 包含 控制文件创建脚本的那一段。
改动trace file 并用改动后的脚本来建立控制文件

CREATE CONTROLFILE REUSE DATABASE "V11" NORESETLOGS ARCHIVELOG 
MAXLOGFILES 16 
MAXLOGMEMBERS 3 
MAXDATAFILES 100 
MAXINSTANCES 8 
MAXLOGHISTORY 292 
LOGFILE 
GROUP 1 '/oradata/V11/redo01.log' SIZE 50M, 
GROUP 2 '/oradata/V11/redo02.log' SIZE 50M, 
GROUP 3 '/oradata/V11/redo03.log' SIZE 50M 
DATAFILE 
'/oradata/V11/system01.dbf', 
'/oradata/V11/sysaux01.dbf', 
'/oradata/V11/undotbs01.dbf',
'/oradata/V11/user01.dbf' 
CHARACTER SET WE8MSWIN1252 
;

--->请特别注意:CHARACTER SET WE8MSWIN1252  能够由 alert_sid.log中得到。

ALTER TABLESPACE TEMP_TEST ADD TEMPFILE '/oradata/V11/temp01.dbf'  reuse;

"CREATE CONTROLFILE"之前的不论什么东西请删掉。
CHARACTER SET之后的不论什么东西请删掉。一定要保留那个分号
在上面的样例中,我们选择了NORESETLOGS 选项,而且该db执行于archivelog模式下。

请务必保证使用shutdown immediate选项来关闭数据库。然后启动到nomount状态下:
 SQL> shutdown immediate;
 SQL> startup nomount;
 SQL>@control.sql
 
注意:当重建控制文件完成后,务必保证加入已经存在temp file:
alter tablespace temp_ts add tempfile '?

/oradata/V11/temp01.dbf'?

reuse;
控制文件一旦被创建,db 被自己主动带入到mounted 状态。

假设你使用了resetlogs打开了database,请尽快做一个backup

另外一种情况:该db无法到mount 状态
1.要么restore 控制文件,
2.要么有一个重建控制文件的脚本,例如以下是一个样例:

CREATE CONTROLFILE REUSE DATABASE "DBNAME" NORESETLOGS ARCHIVELOG
Follow the format listing:
- Location of redo logs.
- Location of datafiles
- Specifying the characterset.

Once you have listed all files correctly you are ready to recreate your controlfile
SQL> startup nomount;
SQL>@control.sql

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

  1. oracle重建服务器,Oracle重建控制文件的实例教程

    前言 控制文件(control file)是一个相当小的文件(最多能增长到64M左右),其中包含Oracle需要的其他文件的一个目录.参数文件告知实例控制文件的位置,控制文件则告知示例数据库和在线重做 ...

  2. oracle重建控制文件流程,ORACLE之重建控制文件

    当这些信息更改或者变动时,oracle数据库会自动把最新信息更新到controlfile文件里面. 启动数据库时,Oracle从初始化参数文件(pfile/spfile)中获得控制文件的名字及位置,打 ...

  3. oracle11g重建undo,Oracle11gORA-03113故障,重建控制文件

    Windows环境下的Oracle 11g在一次关机后,无法正常启动,且无法启动到mount状态,一直提示: ORA-03113: end-of-file on communi Windows环境下的 ...

  4. oracle数据库激活控制文件位置,Oracle数据库之Oracle 重建控制文件一例

    本文主要向大家介绍了Oracle数据库之Oracle 重建控制文件一例,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. 环境:OEL 5.7 + Oracle 10.2.0.5 ...

  5. 重建控制文件具体解释

    http://note.youdao.com/share/?id=d3991566cad33723db8b92183dcd9161&type=note 完整图文最新版   创造"重建 ...

  6. oracle log block size,案例:Oracle无法启动报错ORA-00218: block size 0 重建控制文件

    天萃荷净 oracle数据库无法启动报错ORA-00218故障,通过重建控制文件解决文件损坏问题 遇到一个案例在数据库启动的时候报ORA-00218错误,而这个故障的引起原因是因为重建控制文件的时候, ...

  7. 重建控制文件的案例(RESETLOGS模式和NORESETLOGS模式)

    本案例分两种情况:归档模式和非归档模式.在每种模式下采用两种重建方式,即resetlogs和noresetlogs. 一.archived模式下: SQL> archive log list 数 ...

  8. oracle重新生成控制文件,Oracle重建控制文件的语法

    Oracle在控制文件丢失的情况下,有时我们只能重建控制文件,具体语法例如: CREATE CONTROLFILE REUSE DATABASE "SQUAN" NORESETLO ...

  9. oracle 控制文件 scn,重建控制文件后, 控制文件中的数据文件检查点SCN来自哪里...

    重建控制文件后, 控制文件中的数据文件检查点SCN来自哪里 这个问题要看具体的情况,比如: 1. 数据库是shutdown immediate,也就是说数据库是一致的状态,重建控制文件后,SCN 以d ...

最新文章

  1. VC中栈溢出/Stack overflow怎么办?
  2. 过程改进建设中的常见奖励措施
  3. flex buider 4.6 打开设计模式(designer)时提示内存不足错误的解决办法
  4. IDEA快捷键及使用技巧
  5. MyBatis实现SaveOrUpdate
  6. 信号的时频分析MATLAB,[转载]时频特性分析(Matlab)
  7. 南昌网络赛E Interesting Series
  8. antd vue关闭模态对话框_Vue.extend 登录注册模态框
  9. Python面试题解答——第一部分
  10. 防止xss(脚本攻击)的方法之过滤器
  11. 【C++】-- STL容器适配器之stack
  12. mysql 多表查询
  13. 用Hive、Impala查询Hbase数据
  14. c盘压缩卷压缩不了怎么办 c盘压缩卷只能压缩一半的解决方法
  15. Elk实时日志分析平台搭建
  16. 蜻蜓FM2014年校招笔试题目 - 规则二叉树
  17. mysql查询出的数据转换为数字,关于sql:在MySQL查询中将文本转换为数字
  18. Unity替换 图集
  19. urlencoded格式化
  20. C6678里的汇编语言,TMS320C6678

热门文章

  1. GPU Gems1 - 17 环境遮挡
  2. GPU Gems1 - 10 电影级的光照
  3. 对Canvas的研究
  4. 前端笔记-jquery
  5. 乐尚网络:小程序商城零售行业10大新赋能
  6. EF另一个 SqlParameterCollection 中已包含 SqlParameter。
  7. java基础-泛型举例详解
  8. vue transition
  9. 转载-使用 Feed4JUnit 进行数据与代码分离的 Java 单元测试
  10. iOS开发UI篇—九宫格坐标计算