Oracle的几个错误

按:做数据库应用20多年了,从foxbase到oracle到sqllite,等等,停留在sql语句的初级水平,一直想考个DBA啥的, 资料也看了,题目也做了几道,但是高昂的培训费用吓退了我。一耽误,就是到现在,居然快退休了。感悟至此,毕。

没有监听的错误

ora-12514 TNS 监听程序无法识别连接描述符中请求的服务

这个错误极其常见,错误原因也很多。
主要错误原因如下:
1、oracle服务名称写错了
这个一般是对初学者而言比较普遍,很多初学者还没搞清楚数据库名服务名是啥,大小写也搞不清,甚至连IP地址都不知道写哪儿。这个很简单,属于正常错误,写对了就行了。
2、oracle 服务没有启动起来
这个不算常见,因为安装后,一般都是可以启动起来的。
解决办法:
启动oracle,启动成功再进行测试、启动oracle的方法,最简单的就是重启计算机或者重启服务。手动启动的方法,请自己百度。
3、服务正常,监听也起来了,但是还这个错误,这就非常费解了。
笔者今天碰到的问题就是如此。
在服务器上
用sqlplus system/xxx 连接正常,而使用
sqlplys system/xxx @servicename 报告上述错误,这说明oracle服务和监听服务都是基本正常的,肯定是配置错误了。
上网搜索,终于找到解决办法。
打开

listener.ora 文件内容如下

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\sdq\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = “EXTPROC_DLLS=ONLY:D:\app\sdq\product\11.2.0\dbhome_1\bin\oraclr11.dll”)
)
)

上面并没有自己数据库的ID名称,增加下列部分,注意不要保留删除部分。

(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = D:\app\sdq\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = “EXTPROC_DLLS=ONLY:D:\app\sdq\product\11.2.0\dbhome_1\bin\oraclr11.dll”)
)
保存,重新启动监听,连接成功。

oracle11g ORA-28547:连接服务器失败,可能是Oracle Net管理错误

本错误是由于修改 listener.ora造成的,即上述删除部分如果保留该行,就会出现这个错误。删掉重启监听即可。

记录以备忘。
2020-04-30 于泛五道口地区

参考资料:
https://www.bbsmax.com/A/kjdwQZo6JN/
http://www.bubuko.com/infodetail-2600791.html?cf_chl_jschl_tk=c90e7b0349f4af48400dbdb503f208ee084e3519-1588237454-0-Abw2rqRl3IWpEHX_7FilNaflBFaXRxLBiUmegi4-NikEVP4uqd2CyrNS1h6dh0BkrPUEHiDw5MXSl1IN7c0Z-GyUO8DPYnTf0f1dliOOO86FCXbQVlfdFtBKgm7j8qAwefB21_6loxTeHrHYS3lzD-hlM5YQzSQ_MVFluKqmq5dFNq7orTHYc3TJEpYMl1QAdTv9Ji99VWFXFwhFIKZJZ4O78VhyS2ecHC7qYfHsC6DsJHKsAx6oDC9fkqlV_PjalvdQuYs44JLfjsPoq_YgxExmcONghPMOOvmNFd4rJ35X1a7HqYQuq8JUt-YM2K5Pkw

猜你喜欢

转载自blog.csdn.net/Uman/article/details/105865871