大家好,欢迎来到IT知识分享网。
摘要:今天一早发现公司的一台Oracle数据库无法访问,使用PL/SQL登录Oracle数据库,提示【ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务】,后来经过修复后,并在服务器命令行中尝试启动Oracle服务,又出现【ORA-01034: ORACLE not available】的提示,经过不断的尝试修复,最终在中午成功修复,并启动Oracle数据库服务。
本文主要介绍在Windows环境中怎么修复Oracle数据库服务的12514和01034等问题的过程,详细内容请参考下文。
一、问题描述
1.启动ORACLE服务
2.PLSQL尝试访问
二、解决办法
1.检查监听文件
说明:检查一下listener.ora监听文件的配置是否正确,具体位置D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN这里,通过记事本打开查看配置。
将下面的一段文字拷贝进去,并适当修改。(方框内部内容,其中GLOBAL_DBNAME为全局数据库名,可以与SID不同)
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(SID_NAME = ORCL)
)
2.启动监听
说明:保存listener.ora文件,关闭并重新启动监听程序。
关闭监听:
使用命令>lsnrctl stop
启动监听:
使用命令>lsnrctl start
查看监听状态:
使用命令>lsnrctl start
3.尝试访问数据库
问题:启动监听后,用正常的用户去连接双出现新的错误。
解决办法:
打开目录D:\app\Administrator\admin\orcl\pfile,发现里面有一个文件init.ora.46,这个文件是ORACLE最后一次成功启动时备份的启动文件。
使用命令>sqlplus /nolog
再使用命令>conn / as sysdba
然后使用命令>create spfile from pfile=’D:\app\Administrator\admin\orcl\pfile\init.ora.46’创建启动文件。
4.重新启动数据库
问题:创建完启动文件后,重新启动数据库服务,发现有错误,错误信息如下。
通过PLSQL客户端访问,也出现错误提示。
分析原因:
从服务端出现的错误提示分析如下
由于db_recovery_file_dest 的设置是在$oracle_home的上级目录的admin/pfile下的init.ora.*文件里。原来重执行过命令创建了启动文件。
>create spfile from pfile=’D:\app\Administrator\admin\orcl\pfile\init.ora.46′
该文件可以通过记事本进行查看init.ora.46发现:
其中的控制文件所在位置已经发生变化,原来的存在于E盘,现在的文件位置是在N盘。手工修改后重新创建启动文件,然后再重新startup数据库,实例成功启动了。
至此,ORACLE数据库服务正常启动,PLSQL客户端也可以正常访问。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/168835.html