前言:
今天有个朋友找我,按照以往的经验知道她们公司的数据库又出现了问题,都是朋友咱们还是能帮忙就帮忙。
其实问题很简单,可能很多新手也可能会遇到,所以在这里就把整个事情和问题的处理经过和大家分享一下。
问题的背景:
该公司的数据库是安装在虚拟机上面的,测试需要对当前的虚拟机进行了拷贝。按照她们的想法,直接拷贝虚拟机应该是可以直接复制一台进行测试的,但是复制完毕后数据库却启动不了;
问题的解决:
相信很多高手,在我描述完上述的问题之后大概知道了是什么问题,并且知道了具体的解决方法了吧;
1、检查数据库的监听,发现监听报错
脚本:lsnrctl status
很明显:监听的配置还是指向之前的数据库地址,重新配置下监听的地址即可(监听文件的地址D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN)
备注:如果这样修改监听还有问题,请再检查下host文件是否有问题。(按照个人经验一般安装完数据库后都会在host里面添加域名解析,然后所有的解析都通过域名来完成,这样就算以后数据库的IP地址变更也不影响)
2、启动数据库
很快的处理完第一个问题后,通过满心欢喜的敲sqlplus / as sysdba,紧接着又敲了startup命令,没想到又报错了。
很明显就是找不到参数db_recovery_file_dest所对应的位置。
解决方法:
1、创建pfile文件: create pfile from spfile;
2、然后找到db_recovery_file_dest所对应的位置,并直接修改参数文件;
3、把spfile文件备份起来,让数据库在启动的时候,从initSID.ora文件启动;
总结:以上两个问题解决完后,数据便可以启动了,其实两个都是很小的问题,DBA肩负着公司数据的管理,任重道远啊。
.................................................................................................................................................................................................................................................................本文作者:JOHN
ORACLE技术博客:ORACLE 猎人笔记 数据库技术群:367875324 (请备注ORACLE管理 )
...............................................................................................................................................................................................................................................................