Oracle数据库账号被锁定解决方法

在Oracle数据库操纵中,登录Oracle账号时提示失败,并且Oracle账号频繁被锁定。造成此故障的原因是什么呢?本文就介绍了这一过程,经由过程慢慢排查我们就能找到该故障的原因了。
下面记录下查找这个题目的步调。
1. 找到账号被锁按时候
哄骗sqlplus或者sqldeveloper,查询账号被锁定的时候,相干语句如下:
--批改当前会话的日期显示格局
alter session set nls_date_format = ""yyyy-MM-dd hh24:mi:ss"";
--查询被锁定账号的锁按时候
username,lock_date 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次错误后账号将被锁定。

(0)

相关推荐

  • oracle查看被锁的表和被锁的进程以及杀掉这个进程

    -- 1. 查看被锁的表 SELECT p.spid, a.serial#, c.object_name, b.session_id, b.oracle_username,b.os_user_name FROM v$process p, v$session a, v$locked_object b, all_objects c WHERE p.addr = a.paddr AND a.process = b.process AND c.object_id = b.object_id -- 2.

  • ORA-28002 Oracle 11g存在密码过期问题解决方案

    故障现象 Oracle Database 11g 数据库普通用户登录时提示 ORA-28002: the password will expire within 7 days [11:01:00oracle@dvd db_1]$sqlplus wang/oracle SQL*Plus: Release 11.2.0.1.0 Production on Fri Nov 16 11:01:23 2012 Copyright (c) 1982, 2009, Oracle. All rights res

  • ORACLE 查询被锁住的对象,并结束其会话的方法

    使用Oracle时,发现有表被锁,又不知道是谁(或者哪个程序)锁的,怎么办 ? 两步走: 1.查找出被锁对象的会话ID和序列号 执行如下SQL: -- 查询出被锁对象,并提供 kill 脚本 SELECT S.SID, S.MACHINE, O.OBJECT_NAME, L.ORACLE_USERNAME, L.LOCKED_MODE, S.OSUSESR, 'ALTER SYSTEM KILL SESSION '''|| S.SID || ', '|| S.SERIAL#||''';' AS

  • Oracle数据库用户的密码过期时间如何修改为永不过期

    Oracle的密码过期规则是用Profile来管理的,系统默认只有一个Profile(DEFAULT),该profile的密码过期规则为180天: 而所有的用户都使用该DEFAULT的profile,所以如果修改DEFAULT的过期规则会影响所有的用户: 所以我们新建一个profile,修改该profile的过期规则为无限期,在让某个用户适用于该profile,则该用户的过期规则会变更. 以下举例:修改MESSERIES用户的密码过期规则为UNLIMITED 1.     新建profile "

  • Oracle 11g中密码过期问题详解

    密码过期的原因一般有两种可能: 一.由于Oracle中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180天"所导致. 二.由于Oracle中默认在default概要文件中设置了"FAILED_LOGIN_ATTEMPTS=10次",当输入密码错误次数达到设置值将导致此问题. 第一种情况解决方法如下: 1.查看用户用的哪种profile策略,一般是default: 复制代码 代码如下: SQL> select username,p

  • 深入探讨:Oracle中如何查询正锁表的用户以及释放被锁的表的方法

    可在PL/SQL中用如下SQL语句来查询当前数据库中哪些表被锁住了,并且是哪些用户来锁的这些表: SELECT  A.OWNER,                        --OBJECT所属用户  A.OBJECT_NAME,                  --OBJECT名称(表名)  B.XIDUSN,  B.XIDSLOT,  B.XIDSQN,  B.SESSION_ID,                   --锁表用户的session  B.ORACLE_USERNAME

  • Oracle用户密码过期和用户被锁的解决方法

    今天正在上班的过程中,客户反映了他们的系统登录不了,经过我的一番检查,发现是因为数据库密码过期导致的,在网上查找相关资料发现还真有此种情况发生,在此顺便做了个整理,以便共同交流! 产生原因: 在oracle11g中默认在default概要文件中设置了"PASSWORD_LIFE_TIME=180天"所导致. 在oracle11g中默认在default概要文件中设置了"FAILED_LOGIN_ATTEMPTS=10次",当输入密码错误次数达到设置值将导致此问题. 解

  • ORACLE 如何查询被锁定表及如何解锁释放session

    ORACLE EBS操作某一个FORM界面,或者后台数据库操作某一个表时发现一直出于"假死"状态,可能是该表被某一用户锁定,导致其他用户无法继续操作 复制代码 代码如下: --锁表查询SQLSELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s WHERE l.object_id = o.object_id AND l.session_id =

  • oracle密码过期的彻底解决方案

    越是赶时间,越耽误事,测试环境oracle密码过期. 不多说,解决:设置成永不过期(SIT环境). 1.以sys用户登录管理数据库:查询语句如下,未格式化查询语句.. select * from dba_profiles where profile = 'DEFAULT' and resource_name = 'PASSWORD_LIFE_TIME'; 2.修改有效期,提交. alter profile default limit password_life_time unlimited; c

  • 使用Oracle数据库登录时被告知用户被锁怎么解决

    在登陆时被告知test用户被锁 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 --------------

随机推荐