- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Oracle物理构造故障是指构成数据库的各个物理文件损坏而导致的各种数据库故障。这些故障可能是由于硬件故障造成的,也可能是人为误操作而引起。所以我们首先要推断问题的起因,假设是硬件故障则首先要解决硬件问题。在无硬件问题的前提下我们才能依据下面的处理方发来进一步处理。
掌握文件损坏:
掌握文件记录了关于oracle的重要配置信息,如数据库名、字符集名字、各个数据文件、日志文件的位置等等信息。掌握文件的损坏,会导致数据库特别关闭。一旦缺少掌握文件,数据库也无法启动,这是一种比较严峻的错误。
损坏单个掌握文件:
确保数据库已经关闭,假设没有用下面的命令来关闭数据库:svrmgrlshutdownimmediate;
查看初始化文件$ORACLE_BASE/admin/pfile/initORCL.ora,确定全部掌握文件的路径。
用操作系统命令将其它正确的掌握文件掩盖错误的掌握文件。
用下面的命令重启动数据库:svrmgrlstartup;
用适当的方法进展数据库全备份。损坏全部的掌握文件:
确保数据库已经关闭,假设没有用下面的命令来关闭数据库:svrmgrlshutdownimmediate;
从相应的备份结果集中恢复最近的掌握文件。对于没有承受带库备份的点可以直接从磁带上将最近的掌握文件备份恢复到相应名目;对于承受带库备份的点用相应的rman脚原来恢复最近的掌握文件。
用下面的命令来创立产生数据库掌握文件的脚本:svrmgrlstartupmount;
svrmgrlalterdatabasebackupcontrolfiletotracenoresetlogs;
4.
4.修改第三步产生的trace文件,将其中关于创立掌握文件的一局部语句拷贝出来并做些
修改,使得它能够表达最的数据库构造。假设产生的sql文件名字为createcontrol.sql.
留意:
Trace文件的具体路径可以在执行完第3〕步操作后查看
$ORACLE_BASE/admin/bdump/alert_ORCL.ora文件来确定。
5.用下面命令重创立掌握文件:
svrmgrlshutdownabort;
svrmgrlstartupnomount;
svrmgrl@createcontrol.sql;
6.
6.用适当的方法进展数据库全备份。
重做日志文件损坏:
重做日志文件损坏:
数据库的全部增、删、改都会记录入重做日志。假设当前激活的重做日志文件损坏,会导致
数据库的全部增、删、改都会记录入重做日志。假设当前激活的重做日志文件损坏,会导致数据库特别关闭。非激活的重做日志最终也会由于日志切换变为激活的重做日志,所以损坏的非激活的重做日志最终也会导致数据库的特别终止。在ipas/mSwitch中每组重做日志只有一个成员,所以在下面的分析中只考虑重做日志组损坏的状况,而不考虑单个重做日志成员损坏的情
况。
确定损坏的重做日志的位置及其状态:
确定损坏的重做日志的位置及其状态:
1.
1.假设数据库处于可用状态:
select
select*fromv$logfile;
svrmgrlselect
svrmgrlselect*fromv$log;
2.
2.假设数据库处于已经特别终止:
svrmlgrstartup
svrmlgrstartupmount;
svrmgrlselect*fromv$logfile;svrmgrlselect*fromv$log;
其中,logfile
其中,logfile的状态为INVALID表示这组日志文件消灭已经损坏;log状态为Inactive:
表示重做日志文件处于非激活状态;Active:表示重做日志文件处于激活状态;Current:表示
是重做日志为当前正在使用的日志文件。
是重做日志为当前正在使用的日志文件。
损坏的日志文件处于非激活状态:
损坏的日志文件处于非激活状态:
1.
1.删除相应的日志组:
svrmgrlalter
svrmgrlalterdatabasedroplogfilegroupgroup_number;
2.
2.重创立相应的日志组:
svrmgrlalter
svrmgrlalterdatabaseaddlogfilegroupgroup_number〔’log_file_descritpion’,…〕
sizelog_file_size;
损坏的日志文件处于激活状态且为非当前日志:
损坏的日志文件处于激活状态且为非当前日志:
1.
1.去除相应的日志组:
svrmgrlalter
svrmgrlalterdatabaseclear
文档评论(0)