求助程序连ORACLE时报错
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求助程序连ORACLE时报错相关的知识,希望对你有一定的参考价值。
ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务网上搜索了一圈,发现大多是说listener.ora配置文件的事,但是我的系统是一直正常运行的啊,不应该突然出现这个情况。后来偶然发现,在Windows环境下的Oracle 11g会有这么一个问题。Oracle 11g会默认写审计日志,会写到操作系统的“应用程序”日志里面去。当应用程序日志被写满后。相当于用户登录审计没办法记录,机会出现登陆不了,而报ORA-12514这个错误。
临时解决办法,清除日志
控制面板 -> 管理工具 -> 事件查看器 -> 应用程序 -> 右键 -> 清除所有事件
这样就可以正常登陆oracle了
另外的解决办法就是关闭oracle的审计
1、用oracle用户登录到数据库服务器,执行:
sqlplus / as sysdba
2、取消audit,将初始化参数audit_trail设置为NONE
alter system set audit_trail=none scope=spfile;
3、然后重启数据库.
shutdown immediate;
sqlplus / as sysdba
startup;
4、删除签权数据,oracle用户登录到数据库服务器:
sqlplus / as sysdba
truncate table SYS.AUD$;
后来,经过测试发现,正常的日志写满,导致不能登陆的提示应该是这样的:
ERROR:
ORA-28056: 未能将审计记录写入 Windows 事件日志
OSD-748745664: Message 748745664 not found; product=RDBMS; facility=SOSD
O/S-Error: (OS 1502) 事件日志文件已满。
ORA-02002: 写入审计线索时出错
ORA-28056: 未能将审计记录写入 Windows 事件日志
OSD-748746736: Message 748746736 not found; product=RDBMS; facility=SOSD
O/S-Error: (OS 1502) 事件日志文件已满。
如果是出现这样的提示,问题的原因就很明确了。按照上面的方式就可以处理了 参考技术A lsnrctl start --启动失败,可能是你的主机名不正确,请检查你的主机名是否为“HOST=14M” 第二个问题,是数据库没有启动,报错的。 启动数据库: sqlplus "/ as sysdba" startup
连接Oracle时报错ORA-12541: TNS: 无监听程序
-
从开始菜单中打开“Oracle Net Configuration Assistance”,选择“监听程序配置”,如下图所示,点击下一步。
-
选择“重新配置”,如下图所示,点击下一步。
-
选择监听程序,如下图所示,选择协议,一般默认就好,点击下一步。
-
选择端口号,如下图所示,点击下一步。
-
选择“否”,如下图所示,点击下一步。
-
监听程序配置完成,如下图所示,点击下一步。
-
选择“本地网络服务名配置”,如下图所示,点击下一步。
-
选择“重新配置”,如下图所示,点击下一步。
-
“网络服务名”选择你自己数据库的名字,如下图所示,点击下一步。
-
填写“服务名”,其实就是你创建数据库时的全数据库名,如下图所示,点击下一步。
-
选择协议,默认选择“TCP”,如下图所示,点击下一步。
-
填写“主机名”,可以是你的IP地址,也可以是你的主机名;选择端口号,如下图所示,点击下一步。
-
选择“是,进行测试”,如下图所示,点击下一步。
-
选择“更改登陆”,填写“用户名”和“口令”,点击“确定”会显示“正在连接…测试成功。”,点击下一步。
-
填写“网络服务名”,就是你自己的数据库名,小编的是“zboracle”,点击下一步。“是否配置另一个服务名?”选择“否”,点击下一步,完成。
-
启动PL/SQL Developer,输入用户名、口令,即可登录成功,如下图所示。
以上是关于求助程序连ORACLE时报错的主要内容,如果未能解决你的问题,请参考以下文章
使用PLSql连接Oracle时报错ORA-12541: TNS: 无监听程序
连接linux数据库Oracle时报错ORA-12541: TNS: 无监听程序