ORA-12514

来源:互联网 发布:面试java项目技术难点 编辑:程序博客网 时间:2024/05/17 21:51

ora-12514错误内容

这里写图片描述

ora-12514 系统中是这样给出的

这里写图片描述

1.监听上并没有你想要连接的本地服务名
查看监听状态:lsnrctl status 发现并没有你想连接的service name
查看serivce也可以输入:lsnrctl service

这里写图片描述

(查看下书写是不是错误了,查看下服务名,在看下自己写的服务名是否一致)

2.要清楚什么是服务名,什么是服务别名
服务名:真实存在的可查的service name 可以在监听中查看
服务别名:在tnsnames.ora中顶格大写的,用来访问数据库用的
两个都是可以tnsping通,但是两个本质还是不同的

这里写图片描述

这里有一个真的服务名zhang.oracle.com和一个假的服务名money
这两个都可以tnsping通,但是访问数据库是不同的

这里写图片描述

这里写图片描述

只要host写的对就可以tnsping通

这里写图片描述

但是不同的是:

这里写图片描述

这里写图片描述

真的服务名是可以登录的,通过配置好的服务别名chao1,但是配置假的服务名的chao,却不能登陆数据库。这就是服务别名和服务名的区别!

3.如果是先启监听,后启动数据库,监听中可以立即查到数据库的服务名,但是如果先启动数据库在启动监听的话,不能立即查看到服务名,需要等待1分钟或者reload下才可以看到。

如果使用的PL/SQL developer的话会报ora-12514错误。等待一会在监听中出现服务名后,在登陆PL/SQL developer就不会报错了。

4.查看参数local_listener 是不是有参数

这里写图片描述

如果有参数的话输入lsnrctl status xxxx查看是否有服务启动,而且查看是否是正常默认的1521端口,如果是PL/SQL developer的默认端口的话,就显示无法登陆,报ora-12514错误

修改会原来的参数
SQL>alter system reset local_listener scope=spfile sid=”*”;
重启后生效。

5.数据库没有正常打开,实例未启动
监听没有内容,肯定报错

6.如果安装有问题,也会起不来,报ora-12514

上述如果还没有找到问题的话,查看警告日志alter.log