在Oracle数据库操作中,登录Oracle账号时提示失败,而且Oracle账号频繁被锁定。造成此故障的原因是什么呢?本文就介绍了这一过程,通过逐步排查我们就能找到该故障的原因了。
下面记录下查找这个问题的步骤。
1. 找到账号被锁定时间
利用sqlplus或者sqldeveloper,查询账号被锁定的时间,相关语句如下:
--修改当前会话的日期显示格式
alter session set nls_date_format = 'yyyy-MM-dd hh24:mi:ss';
--查询被锁定账号的锁定时间
select username,lock_date from dba_users where username like 'TRSEKPV65_DEMO';
比如这里的查询到的锁定时间为:20:03:03
2. 找到oracle的安装目录
部门知识库的oracle安装路径为:C:\devsoftware\oracle11g
3. 找到监听日志
找到
C:\devsoftware\oracle11g\diag\tnslsnr\DEV2-216\listener\trace\listener.log文件,该文件会记录oracle的一些跟踪信息
4. 查看监听日志
找到该文件后,发现很大,无法用editplus打开。把该文件上传到linux机器或者在windows机器上下载一个tail.exe程序,执行tail -20 listener.log命令,查看该文件的最后20行内容。
5. 定位问题
根据上面查询到的时间,在日志中找到对应的时间位置,可以定位到当前时间Oracle所执行的操作。
01-8月 -2011 20:03:35 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=portalteam)(CID=(PROGRAM=D:\TRS\TRSGateway4.6\gwserver_x64\TrsAgent.exe)(HOST=DEV2-216)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=fe80::e816:9e03:60ac:fdaa%11)(PORT=13678)) * establish * portalteam * 0
6. 总结
从上边可以看到,造成Oracle的账号被锁定的原因是由” TrsAgent.exe”进程造成的。仔细一想,原来修改了密码,没有修改GateWay的登录信息,所以造成了该账号登录Oracle经常失败,由于我们配置了Oracle的最大允许登录错误次数为10,所以超过10次错误后账号将被锁定。
关于Oracle数据库账号频繁被锁定的问题的解决方案就介绍到这里了,如果您想了解更多的Oracle数据库的知识,可以看一下这里的文章:http://database.51cto.com/oracle/,相信一定可以带给您收获的!