最近我的数据库的一个用户经常被锁,想问一下原因

最近我的数据库的一个用户经常被锁,想问一下原因,第1张

1、用dba角色的用户登陆,进行解锁,先设置具体时间格式,以便查看具体时间

SQL>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'

Session altered.

2、查看具体的被锁时间 ( 这里你根据需要, 填写具体的用户名, 下面语句的 用户名是 TEST)

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

2、修改为30次

alter profile default limit FAILED_LOGIN_ATTEMPTS 30

3、修改为无限次(为安全起见,不建议使用)

alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited

上述的相关内容就是对Oracle用户被锁原因及办法的描述,希望会给你带来一些帮助在此方面。

oracle数据库账号有密码策略,一般情况下,密码输入错误超过10次 该账号就会自动锁定,需要dba管理员解锁。该锁定次数dba管理员也是可以手动更改的,有些重要系统会改成3次以加强系统安全性。还有一种情况是密码到有效期了,需要强制更改密码,这个参数一般是设置成3个月更改一次。

FAILED_LOGIN_ATTEMPTS参数默认是10,即:用户连续输入10次错误密码,用户会被锁住;

可以使用其他拥有DBA权限的用户进行解锁;

alter user username account unlock

如果是数据库内部出现死锁或阻塞会话,可以先查出阻塞的会话,

select * from dba_waiters

在杀掉阻塞的会话

alter system kill session 'sid,serial#'

测试环境,可以直接重启数据库!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6937105.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-30
下一篇 2023-03-30

发表评论

登录后才能评论

评论列表(0条)

保存