网站首页 > 数据库 / 正文
摘要:今天一早发现公司的一台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.1142012163346,这个文件是ORACLE最后一次成功启动时备份的启动文件。
使用命令>sqlplus /nolog
再使用命令>conn / as sysdba
然后使用命令>create spfile from pfile='D:\app\Administrator\admin\orcl\pfile\init.ora.1142012163346'创建启动文件。
4.重新启动数据库
问题:创建完启动文件后,重新启动数据库服务,发现有错误,错误信息如下。
通过PLSQL客户端访问,也出现错误提示。
分析原因:
从服务端出现的错误提示分析如下
由于db_recovery_file_dest 的设置是在$oracle_home的上级目录的admin/pfile下的init.ora.*文件里。原来重执行过命令创建了启动文件。
>create spfile from pfile='D:\app\Administrator\admin\orcl\pfile\init.ora.1142012163346'
该文件可以通过记事本进行查看init.ora.1142012163346发现:
其中的控制文件所在位置已经发生变化,原来的存在于E盘,现在的文件位置是在N盘。手工修改后重新创建启动文件,然后再重新startup数据库,实例成功启动了。
至此,ORACLE数据库服务正常启动,PLSQL客户端也可以正常访问。
Tags:oracle错误
猜你喜欢
- 2024-11-26 Oracle数据库故障处理--删除联机日志成员无法打开数据库
- 2024-11-26 centos安装oracle 11.2.0.1报错的处理方法
- 2024-11-26 oracle 19C ora-27104 故障解决方案
- 2024-11-26 Oracle技术分享 O/S-Error: (OS 3) 系统找不到指定的路径
- 2024-11-26 连接oracle的python代码出现Error: DPI-1047 问题解决办法
- 2024-11-26 他在使用oracle数据库,犯了什么错误将平台信息泄露的,结果如何
- 2024-11-26 Geoserver发布oracle spatial遇到的图层预览报错问题
- 2024-11-26 Navicat连接数据库出现ORA-28547?解决办法在这
- 2024-11-26 如何解决Oracle APEX导入应用时报413错误
- 2024-11-26 pycharm无法使用cx-oracle包,如何解决