【翻译自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 已经丢失 或者 都已经损坏(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中文文章】重建控制文件的方法的更多相关文章
- 【翻译自mos文章】在重建控制文件之前应该考虑的事情
在重建控制文件之前应该考虑的事情 来源于: Things to Consider Before Recreating the Controlfile (文档 ID 1475632.1) 适用于: Or ...
- Oracle 重建控制文件一例
环境:OEL 5.7 + Oracle 10.2.0.5 背景:在Oracle的运维过程中,时常会遇到一些场景是需要重建控制文件才可以解决的.本文的场景可以通过复制控制文件到新路径,运行一段时间后,再 ...
- 【练习】trace文本重建控制文件
这个小练习是针对控制文件全部丢失后怎么能快速的重建一个控制文件,快速的起库 1.备份控制文件到trace下 SQL> alter database backup controlfile to t ...
- Oracle 重建控制文件
前些天在做Oracle数据库恢复测试时,因为一些异常操作导致控制文件出了问题,数据库无法正常使用,这里记录一下重建控制文件的操作 一.使用sysdba用户登入数据库 此时普通用户已无法链接数据库 二. ...
- 重建控制文件ORA-12720
重建过程出错:ORA-01503: CREATE CONTROLFILE failedORA-12720: operation requires database is in EXCLUSIVE mo ...
- oracle之 利用 controlfile trace文件重建控制文件
一. 11g RAC 重建控制文件 1. --"create controlfile"命令生成到追踪文件中:alter database backup controlfile to ...
- Oracle控制文件多路复用以及Oracle备份重建控制文件
控制文件中记录了oracle数据库的物理结构,也就是记录了数据库数据文件和日志文件的位置,控制文件中还记录了多种SCN,用这些SCN来确定数据文件和日志文件是否是正确的.如果不正确那么数据库就需要恢复 ...
- 【Oracle】利用trace文件重建控制文件
重建步骤: 1.生成trace文件: alter database backup controlfile to trace; 2.找到生成的trace文件: show parameter dump u ...
- oracle rac重建控制文件
1.使用sqlplus连接到已经mount或open的rac数据库 sql> alter database backup controlfile to trace noresetlogs; 2. ...
随机推荐
- Toast连续弹出的问题
public class CommUtils { private static Toast toast = null; public static void showToast(int text) { ...
- vim设置配色主题
默认主题注释为蓝色,完全看不清.可以在~/.vimrc当中设置colorscheme参数.我在zsh设置中设置了快捷键,直接编辑. colorscheme参数的值可以在 /usr/share/vim/ ...
- 转载:PHP JSON_ENCODE 不编码中文汉字的方法
1.PHP版本5.4(包含)+ json_encode($data, JSON_UNESCAPED_UNICODE); //必须PHP5.4+ 2.PHP版本5.4- function encode_ ...
- MySQL-五种日志(查询日志、慢查询日志、更新日志、二进制日志、错误日志)、备份及主从复制配置
开启查询日志: 配置文件my.cnf: log=/usr/local/mysql/var/log.log 开启慢查询: 配置文件my.cnf: log-slow-queries=/usr/local/ ...
- C输出大于127的ACSII字符
近期,我们的DNS服务器收到了一些异常的域名请求,从访问日志看到很多域名都被返回了FORMAT ERROR的错误码,但是访问日志中的域名看起来很正常啊,为什么会返回FORMAT ERROR的错误码呢? ...
- 初学HTML一些基本控件语句
<html> <head> <title> 这是网页的标题</title> </head> <body> <h2>& ...
- Warning: RPMDB altered outside of yum.的解决办法
错误提示: Warning: RPMDB altered outside of yum 解决办法: 删除yum的历史记录rm -rf /var/lib/yum/history/*.sqlite 上面的 ...
- 运行shell出错: 没有那个文件或目录
http://blog.163.com/zhangjie_0303/blog/static/99082706201136114548840/
- 键盘事件keydown、keypress、keyup随笔整理总结
英文输入法: 事件触发顺序:keydown - > keypress - > keyup 中文输入法: firfox:输入触发keydown,回车确认输入触发keyup chr ...
- Linux调度器 - deadline调度器
一.概述 实时系统是这样的一种计算系统:当事件发生后,它必须在确定的时间范围内做出响应.在实时系统中,产生正确的结果不仅依赖于系统正确的逻辑动作,而且依赖于逻辑动作的时序.换句话说,当系统收到某个请求 ...