ORA-12514及ORA-28547错误解决方案

时间:2021-07-23 04:13:02

安装了Oracle11g整整数据库,以前正Oracle都是安装好修改配置NET Manager就可以连接了。可是今天出现了一点小意外,这里总结一下。 

(一) 安装检查的问题 
在Win7中安装Oracle11g 企业版,在安装的过程中出现一个问题: 

复制代码代码如下:


Environment variable: "PATH" - This test checks whether the length of the environment variable "PATH" does not exceed the recommended length. 
预期值 
: 1023 
实际值 
: 0 
错误列表: 
- PRVF-3916 : Environment variable name "PATH" is not set on node "ywl-PC" - Cause: Environment variable value could not be determined. - Action: Ensure that the environment variable is set and access permissions for the Oracle user allow access to read the environment variables. Restart the installer after correcting the setting for environment variable. 


google了一下,原来是windows系统中环境变量Path配置的太多了,右键点击我的电脑->进阶-》环境变量,找到Path,把一些不用的部分去掉就可以了。重新检测通过继续安装完成。 
(2) Oracle数据库服务没有安装成功 
安装的过程中出现了一些小问题,系统报错说缺少相应的模板文件,感觉很奇怪。但是Oracle你是知道的,取消安装重新再来过问题就大了,而且本身对Oracle 的结构就并不是很了解,所以安装出现问题我就直接忽略掉了。但是发现安装完成之后没有安装Oracle数据库服务,悲剧的安装,安装了使用不了。 
Oracle11g中有一个Database Configuration Assistant. 
pic 
启动这个程序,就可以重新安装数据库服务。安装完成之后在服务管理中可以看到相应的服务项。 
(3) Oracle 数据库不能连接 
安装完成之后,立马安装了PL/SQL,在启动PL/SQL中并没有发现相应DataBase配置项。于是又在NET Manager中配置客户端连接,重新打开PL/SQL仍然没有相应的配置连接项。 
在SQLPlus 命令行中登录,使用安装的时候设置的密码可以登录,问题就很奇怪了。 
考虑问题应该还是在客户端配置中,在SQLPLUS中登录没有问题,说明服务没有问题。在登录的过程中出现错误ORA-12514及ORA-28547,在网上查找也还是一样的问题都是说.NET Manager的配置问题,但是我修改了也还是登录不上,重启也不行。于是根据网上的说明找到NET Manager中连接监听的文件。文件目录如下:\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora. 用UE打开这个文件: 

复制代码代码如下:


# listener.ora Network Configuration File: D:\Oracle11g\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora 
# Generated by Oracle configuration tools. 
SID_LIST_LISTENER = 
(SID_LIST = 
(SID_DESC = 
(SID_NAME = CLRExtProc) 
(ORACLE_HOME = D:\Oracle11g\Administrator\product\11.2.0\dbhome_1) 
(PROGRAM = extproc) 
(ENVS = "EXTPROC_DLLS=ONLY:D:\Oracle11g\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll") 


LISTENER = 
(DESCRIPTION_LIST = 
(DESCRIPTION = 
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) 
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) 


ADR_BASE_LISTENER = D:\Oracle11g\Administrator 


在文件中发现SID_NAME=CLREXTPROC 我的服务ID名不是这个而是OracleRoot,SID其实就是全局数据库名。我将其修改为OracleRoot,重新启动监听服务,连接仍然失败。于是我删除上诉文件中的PROGRAM=extproc 保存文件重启服务即连接成功。 
总结
平时很少整Oracle,昨日听朋友说了一个Oracle的问题于是安装想试试。结果安装就出现了这么多问题,很多人在安装软件的时候出现问题就选择了退步不安装了,其实努力解决问题的心态很重要特别是对做程序有崇高兴趣的人。想想解决办法,问题总是会解决的。 (文章没啥水准就不发首页了,希望对大家有帮助)