连接oracle时出现 ORA-12514 错误信息的原因及处理办法

本文介绍了解决Oracle11g在Windows环境下因应用程序日志写满导致无法登录的问题。提供了清除日志和关闭审计两种解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

          最近在测试用的windows环境下的oracle 11g,用一段时间后就出现

          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) 事件日志文件已满。

         如果是出现这样的提示,问题的原因就很明确了。按照上面的方式就可以处理了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值