博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
丢失所有初始化参数文件后如何恢复
阅读量:5808 次
发布时间:2019-06-18

本文共 854 字,大约阅读时间需要 2 分钟。

 

 如果丢失所有初始化参数文件,但是有参数文件的备份可以用的情况下如何处理:

1.模拟问题发生

备份spfile

去dbs下面把所有初始化参数文件都删掉

2.如果实例并没有关闭,那么所有参数都还存储在内存中,就可以用

create pfile from spfile;  

来创建pfile,之后再用

create spfile='/home/oracle/spfileorcl.ora' from pfile;  

 来创建spfile

3.如果实例是关闭掉的,或者是迁移到新的环境上的,可以先手工创建一个简单的pfile:

然后启动到nomount

然后进入rman,用spfile的备份文件恢复出一个spfile来:

检查是否生成:

然后关闭数据库重新启动

 4.总结

数据库的初始化参数大多数都设置了默认值,作为数据库的标准配置,所以即使pfile只定义了一个db_name,其他数据库运行必要的参数,在实例启动的时候都是会给配上的。

在一个用spfile启动的数据库中,我们可能会发现v$parameter里面的值会跟v$spparameter的值不一样,v$spparameter很多内容是空的。

这是因为v$spparameter中的变量是来自磁盘上存储的spfile<SID>.ora的,而v$parameter的参数是来自当前运行的实例(内存)的。

改动静态参数,只会写到spfile里面,不会写入内存,SMON从spfile里面读到了这个参数,才会写入内存。

5.补充

后来发现RMAN可以在没有可用参数文件的情况启动到nomount,使得DBA可以操作备份恢复。道理跟上面是一样的,只不过连手工创建一个简单的pfile都不需要了。

删掉所有初始化参数文件,然后尝试启动数据库:

登入rman,启动到nomount

检查当前数据库状态

然后一样道理,操作spfile的restore

 

  

 

转载于:https://www.cnblogs.com/Elaine-Lan/p/9886704.html

你可能感兴趣的文章
dl以及dt,dd,以及table的tr,th,td最清楚分析
查看>>
js 数据类型问题
查看>>
STL学习小结
查看>>
【LeetCode】151. Reverse Words in a String
查看>>
ORACLE数据库常用查询二
查看>>
VMware-workstation-full-11.0.0-2305329&VMware-player-7.0.0-2305329
查看>>
careercup-C和C++ 13.10
查看>>
Hadoop集群(第10期)_MapReduce与MySQL交互
查看>>
使用Java高速实现进度条
查看>>
【转】inittab文件
查看>>
如何利用【百度地图API】,制作房产酒店地图?(上)——制作自定义标注和自定义信息窗口...
查看>>
Firefox 之 应用小结
查看>>
[ThinkPHP]打开页面追踪调试
查看>>
Oracle建立表空间和用户
查看>>
Distributed locks with Redis--官方
查看>>
Java设计模式
查看>>
Entity Framework 实体框架的形成之旅--Code First模式中使用 Fluent API 配置(6)
查看>>
001_vagrant利器
查看>>
用Swagger生成接口文档
查看>>
sublime快捷键
查看>>