【翻译自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.
目的:
突出控制文件的重要性和在重建控制文件之前应该考虑的问题。
问题解决的步骤:
在重建控制文件之前:
控制文件对数据库来说是很重要的。一些信息仅仅存储在控制文件里,而不存储在数据字典中。
元数据包含闪回日志,块变化跟踪,Rman备份和数据文件的位置。
常常有变通方案或解决方式。而且控制文件根本不用重建。
假设你必须重建控制文件,或者Oracle指示你这么做。考虑例如以下的事情:
1. 不可訪问的/offlined 的datafile
假设一開始全部的datafile不在disk上。你将不能recreate controlfile。
假设datafiles在disk上,务必保证没有offlined的datafile
select distinct(status) from v$datafile where status not in ('ONLINE','SYSTEM');
select name, ts#, online$, contents$ from ts$ where online$ =2;
否则,一旦控制文件以resetlogs的方式重建之后,全部的offlined 的datafile不能加入回database。
你会遇到下列错误:
RMAN> sql 'alter database datafile 6 online'; sql statement: alter database datafile 6 online
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of sql command on default channel at 07/29/2012 11:07:07
RMAN-11003: failure during parse/execution of SQL statement: alter database datafile 6 online
ORA-01190: control file or data file 6 is from before the last RESETLOGS
ORA-01110: data file 6: '/opt/app/oracle/oradata/ORA112/leng_ts.dbf'
2.闪回 database
当一个控制文件被重建之后。全部的闪回信息--normal restore point, guaranteed restore point, and flashback database都将会被关闭,即使用NORESETLOGS方式去建立
全部的disk上的闪回日志不能被catelog回 控制文件 中。
假设你尝试catalog flashback log,你将会遇到以下的错误:
File Name: /opt/app/oracle/fra/ORA112/flashback/o1_mf_85zttw61_.flb
RMAN-07529: Reason: catalog is not supported for this file type
你将会不得不又一次启用flashback database.全部旧的闪回日志将不再实用,须要手工从disk上remove掉。
3.闪回区(Flash Recovery Area)使用率
一旦控制文件被重建。v$flash_recovery_area_usage视图可能不会反馈实际的使用率。
因此,你须要执行以下的命令来把全部东西catalog回控制文件里。
RMAN> catalog recovery area;
4.备份元数据
假设你没有使用rman的恢复文件夹。你须要将全部的backuppiece catalog到控制文件里。进一步来说,在9i之前,我们不能catalog backuppiece
控制文件对于备份和恢复是极为重要的。
catalog 全部的backuppiece 到控制文件里固然没错,可是你必须首先有一个控制文件。
假设你丢失了全部的syatem,而且仅仅有backuppiece可用,你必须至少有一个controlfile 来catalog backuppiece。
进一步来说,disk上没有不论什么datafile的话。你不能重建controlfile
备份Current controlfile
RMAN> backup current controlfile;
SYS> alter database backup controlfile to '/tmp/control01.bk';
在重建控制文件之前,你至少做一个当前控制文件的备份。
在open/mounted模式时:
当数据库已经关闭时,请使用操作系统命令做备份,举比例如以下:
SYS@ORA112.SQL> show parameter control_files
NAME TYPE VALUE
------------------------------------ -------------------- ------------------------------
control_files string /opt/app/oracle/oradata/ORA112
/control1.ctl, /opt/app/oracle
/oradata/ORA112/control2.ctl $ cp /opt/app/oracle/oradata/ORA112/control1.ctl /opt/app/oracle/oradata/ORA112/control1.ctl.old
$ cp /opt/app/oracle/oradata/ORA112/control2.ctl /opt/app/oracle/oradata/ORA112/control2.ctl.old
请注意:二进制备份与ASCII备份是不同的!
SQL> alter database backup controlfile to trace;
上面的命令会生成一个ASCII命令,用该ASCII命令能够重建controlfile。该命令实际不是current controlfile的备份。
*******************************加入開始*****************************************
译者注:以下的这一点是译者自己加的:
5. 数据库级别的补充日志信息在重建控制文件之后会丢失
具体见:
Missed Database Supplemental Log Information After Recreate Controlfile In 10g Database. (文档 ID 1474952.1)
或者:
http://blog.csdn.net/msdnchina/article/details/38360055
*******************************加入结束*****************************************
推荐:
1)在不同的存储上复用控制文件
至少须要在两个不同的存储上有两个控制文件的copies。假设media 被损坏,你至少还有另外一个copy还可用。
因此。数据库參数文件至少有两个控制文件位置:
control_files='location1/file1','location2/file2'
2)打开控制文件的autobackup
这将会确保在每次backup的最后会有一个controlfile的备份
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
假设须要。使用例如以下命令来改动autobackup的位置:
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
【翻译自mos文章】在重建控制文件之前应该考虑的事情的更多相关文章
- 【翻译自mos中文文章】重建控制文件的方法
重建控制文件的方法 參考原文: How to Recreate a Controlfile (Doc ID 735106.1) 适用于: Oracle Database - Enterprise Ed ...
- 【翻译自mos文章】对于每个文件的 file.id and file.incarnation number,重命名文件别名
对于每个文件的 file.id and file.incarnation number,重命名文件别名 參考原文: Rename Alias of Datafile as Per file.id an ...
- 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 ...
- 【翻译自mos文章】11.2.0.4及更高版本号的asm实例中MEMORY_TARGET 和 MEMORY_MAX_TARGET的默认值和最小值
[翻译自mos文章]11.2.0.4及更高版本号的asm实例中MEMORY_TARGET 和 MEMORY_MAX_TARGET的默认值和最小值 来源于: Default and Minimum ME ...
- Oracle控制文件多路复用以及Oracle备份重建控制文件
控制文件中记录了oracle数据库的物理结构,也就是记录了数据库数据文件和日志文件的位置,控制文件中还记录了多种SCN,用这些SCN来确定数据文件和日志文件是否是正确的.如果不正确那么数据库就需要恢复 ...
随机推荐
- Microsoft Sync Framework 2.1 可再发行程序包 Microsoft Sync Framework 1.0 SP1 - 中文(简体)
Sync Framework 2.1 引入了新功能,这些功能支持您计算机上的 SQL Server 或 SQL Server Compact 数据库与 SQL Azure 数据库进行同步.此发行版还引 ...
- Android无数据线调试方法
平时在Android设备上调试程序.通常是将Android设备用数据线和PC机相连. 可是,在没有数据线的情况下也能够: 1.将PC机和Android设备连到同一网段. 2.获取Android设备的I ...
- 端口监听与telnet
例一: 明明端口已经监听了,为什么远程的telnet连接不上. 远程机器 telnet 10.10.1.85 53 就是进不去. Linux 防火墙一关,ok service iptables sto ...
- PowerShell-将CSV导入SQL Server
$database = 'foxdeploy' $server = '.' $table = 'dbo.powershell_test' Import-CSV .\yourcsv.csv | ForE ...
- Excel2007制作直方图和正态分布曲线图
对同一维度的数据分析数据分布范围及分布趋势,要通过制作直方图和正态分布曲线图体现. 例如:已知所有员工的日收入,分析员工收入分布情况(51.7,50.6,57.9,56.9,56.7,56.7,55. ...
- JAVA静态导入(inport static)详解
在Java 5中,import语句得到了增强,以便提供甚至更加强大的减少击键次数功能,虽然一些人争议说这是以可读性为代价的.这种新的特性成为静态导入. 当你想使用static成员时,可以使用静态导入( ...
- java中按字节获得字符串长度的两种方法 Java问题通用解决代码
jdk本身就自带获取字符串字节长度的api了,但字符串如果包含特殊符号或全半角符号或标点符号获取到的结果会有偏差,最好的证据就是新浪微博的字数统计了 // jdk自带的获取字节长度 //注意getBy ...
- statusbar的颜色设置
步骤一.在info.plist文件中添加一行(key:View controller-based status bar appearance,value:NO) 步骤二.在appDelegate中,添 ...
- js正则表达式的分组提取
- ASP.NET CORE RAZOR :个性化显示
https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/razor-pages/da1 我们的电影应用有个不错的开始,但是展示效果还不够理想. 我 ...