oracle 11.2.0.4 账户被锁的问题

请教各位一个问题!

目前数据库(单机文件系统)11.2.0.3版本,web端使用连接池连接数据库用户user/password正常。
升级到oracle 11.2.0.4版本并打完建议的补丁集后,同样的客户端连接到11.2.0.4的用户user/password用户被锁,提示用户名密码错误。
我修改系统参数密码不区分大小写验证-无效

解锁账户后,设置错误密码无限制次数连接,这样我在oracle账户下使用sqlplus user/password登录卡住,无法登录。很久才能登录进去,或者提示tns异常问题。

请各位高手指点上述问题可能引起的原因。

web 日志
09-Jun-2017 18:12:02.244 WARNING [C3P0PooledConnectionPoolManager[identityToken->1hge3nw9o12xef2j1y0tsbn|30a044a7, dataSourceName->hibernate-datasource]-HelperThread-#0] com.mchange.v2.log.slf4j.Slf4jMLog$Slf4jMLogger$WarnLogger.log Having failed to acquire a resource, com.mchange.v2.resourcepool.BasicResourcePool@d0bcbac is interrupting all Threads waiting on a resource to check out. Will try again in response to new client requests.
09-Jun-2017 18:12:12.246 WARNING [C3P0PooledConnectionPoolManager[identityToken->1hge3nw9o12xef2j1y0tsbn|30a044a7, dataSourceName->hibernate-datasource]-HelperThread-#2] com.mchange.v2.log.slf4j.Slf4jMLog$Slf4jMLogger$WarnLogger.log com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask@166de721 -- Acquisition Attempt Failed!!! Clearing pending acquires. While trying to acquire a needed new resource, we failed to succeed more than the maximum number of allowed acquisition attempts (1). Last acquisition attempt exception:
java.sql.SQLException: ORA-01017: invalid username/password; logon denied

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:388)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:381)
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:564)
at oracle.jdbc.driver.T4CTTIoauthenticate.processError(T4CTTIoauthenticate.java:431)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:366)
at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:752)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:359)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:146)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:195)
at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:184)
at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:200)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1086)
at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1073)
at com.mchange.v2.resourcepool.BasicResourcePool.access$800(BasicResourcePool.java:44)
at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1810)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)


有人能指导下上述问题出在什么地方不?
我们搞java的好像也无多大办法了。
我自己用jdbc 开多线程连接并无异常,c3p0 开始启动的时候业务异常,但是启动一段时间后就报上述用户名和密码错误。

4个回答

追问:我目前找不到是什么原因导致了,求大神解答


有人能指导下上述问题出在什么地方不?
我们搞java的好像也无多大办法了。
我自己用jdbc 开多线程连接并无异常,c3p0 开始启动的时候业务异常,但是启动一段时间后就报上述用户名和密码错误。

1、用dba角色的用户登陆,进行解锁,先设置具体时间格式,以便查看具体时间
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered.
2、查看具体的被锁时间
SQL> select username,lock_date from dba_users where username='TEST';
USERNAME LOCK_DATE TEST 2009-03-10 08:51:03
3、解锁
SQL> alter user test account unlock;
User altered.
4、查看是那个ip造成的test用户被锁
查看$ORACLE_HOME/network/admin/log/listener.log日志
10-MAR-2009 08:51:03 * (CONNECT_DATA=(SID=lhoms)(SERVER=DEDICATED)(CID=(PROGRAM=Oracle)(HOST=omstestdb)(USER=oraoms))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.69.1.11)(PORT=49434)) * establish * lhoms * 0
10-MAR-2009 08:51:03 * (CONNECT_DATA=(SID=lhoms)(SERVER=DEDICATED)(CID=(PROGRAM=oracle)(HOST=omstestdb)(USER=oraoms))) * (ADDRESS=(PROTOCOL=tcp)(HOST=10.69.1.11)(PORT=49435)) * establish * lhoms * 0
这样可知是上面10.69.1.11的ip尝试多次失败登陆造成的被锁
注:
一般数据库默认是10次尝试失败后锁住用户
1、查看FAILED_LOGIN_ATTEMPTS的值
select * from dba_profiles where RESOURCE_NAME = 'FAILED_LOGIN_ATTEMPTS';
2、修改为30次
alter profile default limit FAILED_LOGIN_ATTEMPTS 30;
3、修改为无限次(为安全起见,不建议使用)
alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;

首先多谢您的回答,目前上述方式都尝试过了,我怀疑是前端web的c3p0连接池有异常。
多谢你

分析过11.2.4版本和11.2.3版本的变化。
替换了c3p0的驱动。
修改过 密码错误无上限验证等后问题还是没解决。、

最后让我在在意外中发现 ojdbc6.jar的驱动,在11.2.4版本中比原来的ojdc要大100kb左右。。。。。。。。。

一千万头操TM。。。

日咋早就不想想是不是这个驱动问题。

我替换过这个驱动后,系统运行正常,再无上述日志的错误。

此问题算完结。

再次多谢 热心的 @chenjiexixi

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ORACLE 账户被锁分析
问题描述: ORACLE 账户每天早上上班发现被锁,解锁后第二天有会被锁。 问题分析: 1、存储恶意登录,导致账户被锁 2、某程序中配置了错误了用户名密码,导致账户被锁 问题解决: 1、查询账户被锁时间     select USERNAME,ACCOUNT_STATUS,LOCK_DATE from dba_users;   (备注:设置时间格式 alter session se...
oracle账户被锁怎么办?
如果各位时间比较紧,可以直接阅读结论部分 -------------------------------------------------- 今天再打开的时候,说密码已经expired,已经过期了,那么就输入旧的密码,重新设置了新的密码,愉快的给领导做表格了 当执行到第二条sql的时候,就显示: ORA-28000: the account is locked 顿时惊出一身
scott账户被锁
SQL> conn scott/tigerrnERROR:rnORA-28000: the account is lockedrnrnrnSQL> conn scott/tigerrnERROR:rnORA-28000: the account is lockedrnrnrn请教高手,是怎么回事??rn怎样才能解决??
ORA-28000 账户被锁
ORA-28000 账户被锁
ORA-28000账户被锁和解锁
-
oracle 11.2.0.4
上传的为一个百度云盘链接,包含多种linux版本的oracle 11gr2 也有windows的数据库包
ORACLE频繁被锁
前言 最近正式环境的系统经常出现数据库连接错误,检查数据库配置信息无误!最后查出原因为:该数据库账户被锁住了,之前觉得和纳闷,谁会无聊把我们账户给锁住了呢!第一次出现这样的问题,我只能使用管理管账号给该系统的数据库账户解锁了。但第二次发现被锁后,这时就得找出原因了,毕竟正式环境,虽然客户还没有开始投入生产,也正好此问题是在投入正式使用前发现。 本次Oracle被锁被锁原因:数据
Oracle 用户被锁
Oracle 登录,提示“账户被锁定”     解决方法: dba权限用户登录。 alter user 用户名 account unlock;    
oracle用户被锁
alter user [sys] account unlock来进行解锁 sys为被锁用户
oracle 用户登录被锁
C:\Users\myname>sqlplus/nolog SQL> connect sys/sys as sysdba; 已连接。 SQL> alter user system account unlock; 其中: 在SQL>之后输入alter user scott account unlock 回车,出现2--原因是没有加 “;”
Oracle表被锁
**1.查询被锁表的sid,serial Sql代码:** select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time; **2.执行kill操作** alter system kill ...
Oracle过程被锁
1)查询过程被哪些session锁住,而无法编译。 2)查询session试图,得到 sid,serial# 3)杀掉进程。 SELECT * FROM dba_ddl_locks WHERE name=upper('pkg_ylsy_dyff'); SELECT * from v$session t WHERE t.sid =7043 ; alter system kill sess...
oracle账户频繁被锁,如何定位解决处理问题
最近刚刚修改了所有业务系统的数据库密码,中间件的数据源配置也修改了密码,可是还提示账号一直被锁,想着很奇怪,该修改的地方都修改了还有什么地方呢?于是百度了许多一下看到了一篇写的比较好的文章 首先http://database.51cto.com/art/201108/280966.htm,然后结合我本人实际遇到的情况其实就是 第一步先通过检查sql: select username from 
oracle账户被锁--the account is locked 可能的原因及解决方法
可能的原因: 客户端有比如jboss,tomcat等应用服务器绑定了数据库连接,如果修改过数据库密码。而客户端未作相应调整,频繁用错误的密码请求连接,如此反复多次Oracle会自动锁数据库。 解决办法: 进入oracle: [root@5461231 ~]# su - oracle [root@5461231 ~]# sqlplus / as sysdba 将被锁的用户解锁,orclt...
Oracle密码输错账户被锁的解决方法
1、 在 CMD 处 sqlplus /nolog 执行 2、 SQL> connect /as sysdba; 运行后提示“已连接” 3、查看FAILED_LOGIN_ATTEMPTS的值 select * from dba_profiles; 4、修改为20次: alter profile defaul
oracle数据库账户被锁原因查找及处理
最近部署项目,启动之后有一个账户一直被锁。 数据库账户被锁一般是连接用户密码错误次数超过限制,被锁死。 查找原因: 1.查看连接配置的用户名密码是否有误。 这个如果有误,改一下配置就好了。 2.查看是否因为自己的连接造成的锁死。 这个有的时候会被坑,原来部署项目,发现账户一直被锁,配置怎么看都没问题,最后发现是别人的连接造成的账户被锁。 查看哪些用户连接该数据库的信息 sql  S
windows2008大面积域账户被锁
windows2008如何查看用户被锁原因。
Oracle数据库账户被锁原因以及解决方法
被锁原因:连续十次错误密码登录账户会被锁住。 解决方法:dos窗口中,执行         sqlplus sys/你的密码 as sysdba;         然后执行         alter user system account unlock;
Oracle账户被锁定解决方法
•••••••••••••••••••••••••••••••••••• 作者:吴川 撰写时间:2019年4月1日 •••••••••••••••••••••••••••••••••••• 当用PLSQL登录Oracle时提示ORA-28000: the account is locked; 这个提示就是当前用户被锁定; 为什么会被锁定呢? 用户登录十次没有成功的,当前用户会被锁定; 安装时没有...
oracle ojdbc6.jar (11.2.0.4)驱动
Oracle Database 11g 第 2 版 JDBC 驱动程序 (11.2.0.4) 驱动程序,用于 JDK 1.6 的类。它包含 JDBC 驱动程序类,但不包含在 Oracle Object 和 Collection 类型中支持 NLS 的类。
Windows oracle 11.2.0.4下载地址
Windows Oracle 11.2.0.4 软件安装包,如有问题请联系
【Oracle】下载11.2.0.4的地址
https://updates.oracle.com/download/13390677.html 这个地址就是下载Oracle 11.2.0.4版本的地址,需要有metalink账号才可以下载
oracle windows 11.2.0.4
oracle windows 11.2.0.4
Linux oracle 11.2.0.4下载地址
Linux oracle 11.2.0.4下载地址,只有Oracle安装包
oracle linux 11.2.0.4
oracle linux 11.2.0.4
Oracle数据库表被锁与解锁
本人小菜鸟,今天在项目中遇到了一个令我费解的问题,就是我之前写的操作数据的方法全部都不能用了,例如保存、修改、删除全部都不能用了;打断点进去一步一步走发现在操作数据的时候出的问题,后台也不会报错,纠结了好长时间啊,中午吃饭的时候讨论到这个问题,大神一语道破其中奥妙啊,他说可能是数据库表锁死啦。哎呦喂,回来之后赶快查,果真是数据库表锁死啦;下面我们就来看一下如何解决这个问题: 1、首先查看数据库被锁
oracle用户被锁,解锁
方法一:   system orcl   登录             方法二:    
Oracle Kill被锁进程
Oracle查找被锁进程,及如何在数据库级或操作系统级Kill掉相应被锁的进程
oracle数据库表被锁的解决方法
修改数据库记录报错: oracle record is locked by another user 表被锁,解决方法: 一般是session未提交造成,PL/SQL中执行如下代码,查询锁住表的session.注意使用权限高的用户名,一般用户没权限执行。 Select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_o
Oracle用户被锁及解决办法
iamlaosong文 数据库服务器的报账号被锁的错误,先解锁再细查原因,应该是我改用户口令造成的,口令修改后,每天的数据导入程序中配置的口令没有及时修改,导致错误登录次数超限被锁,查数据导入情况,果然数据没有导入,再查数据导入日志,显示连接失败,证实了用户被锁的原因就是导入程序所致。 解锁方法是用system用户(或者具有DBA角色的用户)登陆,进行解锁:   SQL> alter user myuser account unlock;   User altered.
oracle用户被锁解决
在登陆时被告知用户被锁。解决办法:用dba角色的用户登陆,进行解锁,解锁sql语句为:alter user 用户名(被锁用户) account unlock;
查看oracle被锁的表
(1)锁表查询的代码有以下的形式:select count(*) from v$locked_object;select * from v$locked_object;(2)查看哪个表被锁select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.objec...
oracle中表被锁 解锁
Oracle 中表被锁处理: 1. oracle中查看表是否被锁 查看表是否被锁 SELECT /*+ rule*/ a.sid, b.owner, object_name, object_type FROM v$lock a, all_objects b WHERE TYPE = 'TM' and a.id1 = b.object_id; 2. 查到的都是被锁的表...
oracle被锁常用查询语句
1.查询被锁的对象: select * from v$locked_object 字段: object_id:数据表id session_id:会话id oracle_username:用户名 os_user_name:客户端计算机名 locked_mode:锁模式 2.查询被锁的表 select  a.session_id, b.* from v$locked_o
oracle 用户被锁 怎么办
提示账号被锁了,不是密码不对,使用命令: alter user scott account unlock;   如果密码不对,可以再修改: alter user scott identified by tiger;
Oracle 数据库用户被锁
A-28000: the account is locked的解决办法 上个网查了一下发现 1. 尝试多次登录未成功(可能密码不正确); 2. 此用户被管理员手工锁定; 最简单的解决方法是 以system登陆 执行sql语句 ALTER USER "'用户名' ACCOUNT UNLOCK; 解决
Oracle 11G 11.2.0.4 for linux
本人在centos7上成功安装oracle 11G 11.2.0.4 版本,同时尝试过安装11.2.0.1版本多次未成功,如果有遇到同样的情况,建议尝试安装11.2.0.4版本。
查看Oracle被锁的表
---------查看锁表的session------  select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid         ---------查看锁表的session------  SELECT A.OBJE
oracle中system被锁
oracle中用cmd登录rn rnrn输入system 密码...rn后说 the account is lockedrn有人说,system不可能被锁的...rnrnrn(换过浏览器)rnrn请教这个问题了,没必要重新装一个oracle吧
Oracle 判断对象是否被锁及被锁的真正原因
在Oracle中进行插入、更新、删除操作,都会对相关数据加锁。当操作的数据所需的锁被其他会话持有时,就会产生锁争用问题。 也即多用户(多会话)情况下可能发生锁争用。 面对表锁住的情况,通常的解决办法是杀死被锁对象的会话。这样的方式在测试环境或者被锁会话较少的情况下可以使用,但对于生产环境,或者有较多会话被锁的情况下,就不能简单的全部杀掉来处理了。 这种时候,能找到对象被锁的真正原因,才能准确有...
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview