设为首页 加入收藏

TOP

Oracle 11g数据库参数文件误删除恢复
2017-10-18 09:07:51 】 浏览:5589
Tags:Oracle 11g 数据库参数 文件 删除 恢复

本文测试了误删除spfile,pfile,init.ora等文件后的恢复方法,考虑多种场景,在不同场景下进行参数文件恢复。


第一步:连上数据库,查看spfile文件所在路径


 


第二步:查看参数文件路径下文件信息


 


第三步:为了便于测试,这里创建一个pfile文件


 


查看新创建的pfile文件


查看每个参数文件的内容


第四步:模拟参数文件被误删除


 


第五步:检查数据库是否还能正常工作


 


显然,现在数据库是可以正常工作的,因为数据库启动过程中已经将spfile参数文件的信息读到内存中。


第六步:这里模拟在数据库运行时,及时发现参数文件被误删除,进行恢复。



这里需要用到Oracle11gR2的新特性,对于Oracle官方文档的路径为:


Home / Database / Oracle Database Online Documentation 11g?Release 2 (11.2) / Database Administration/SQL Language Reference/What's New in the SQL Language Reference?


可以找到


CREATE PFILE has new syntax that lets you create a parameter file from current system-wide parameter settings.


CREATE SPFILE has new syntax that lets you create a system parameter file from current system-wide parameter settings.


点击create pfile或者create spfile进入链接页面,可以找到SQL命令:


CREATE PFILE [= 'pfile_name' ]


   FROM { SPFILE [= 'spfile_name']


        | MEMORY


        } ;


 


CREATE SPFILE [= 'spfile_name' ]


  FROM { PFILE [= 'pfile_name' ]


       | MEMORY


       } ;


 


这里执行恢复语句:


 


查看恢复后的spfile和pfile文件:


 


第七步:重启数据库,检查恢复后的参数文件能否正常使用,并进行分析


 


这里出现ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance的问题,是因为background_dump_dest和user_dump_dest两个参数在11gR1中废弃了,在alert日志中可以看到明确提示:


 


对于两个废弃参数信息,可以查看官方文档


Home / Database / Oracle Database Online Documentation 11g?Release 1 (11.1) / Database Administration/Reference/1?Initialization Parameters


 


在BACKGROUND_DUMP_DEST目录下看到:


Note:


This parameter is ignored by the new diagnosability infrastructure introduced in Oracle Database 11g Release 1, which places trace and core files in a location controlled by the DIAGNOSTIC_DEST initialization parameter.


 


在USER_DUMP_DEST目录下看到:


Note:


This parameter is ignored by the new diagnosability infrastructure introduced in Oracle Database 11g Release 1, which places trace and core files in a location controlled by the DIAGNOSTIC_DEST initialization parameter.



第八步:调整
pfile参数文件,并创建spfile文件后启动


打开pfile文件,可以看到两个弃用的参数后面都有注释“#Deprecate parameter”


 


将两个废弃的参数注释,然后生成spfile文件后启动


 


第九步:模拟在第六步的时候未能及时发现参数文件被误删除,然后数据库关闭了,启动的时候报错。


 


 


 


第十步:找到alert日志,通过alert日志中的启动信息恢复pfile参数文件。


 


找到最近几次成功的日志信息,选取其中正确无误的一条日志信息:





创建pfile文件initcams.ora,将alert日志中的参数信息填入:


 


直接使用pfile文件启动数据库:



第十一步:这里假设第十步的alert日志中没找到参数信息,需要进行恢复,假设init.ora还能找到。


 


然后根据实际环境情况修改initcams.ora,启动数据库,不过可能会出现部分参数的值与原数据库不一致,需要DBA进行调整。


 


第十二步:这里假设第十步的alert日志中没找到参数信息,需要进行恢复,假设init.ora不能找到。


 


使用pfile启动数据库:


 


检查alert日志


 


修改pfile文件,指定control_files参数(如果真的忘了,可以用linux命令查找)


 


 


再次使用pfile启动数据库


 


查看错误信息


 


这里需要在参数文件配置一个compatible参数


 


再次使用pfile启动数据库


 


数据库启动成功。同时,我们也从测试过程中知道,参数文件至少需要配置db_name,control_files和compatible等3个参数信息,可以让数据库成功启动。不过启动之后也需要DBA对数据库参数进行调整。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Oracle数据库添加和移动控制文件 下一篇Oracle控制文件管理(Managing Co..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目