暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

ORACLE-连接超时处理

原创 胡振兴 2023-05-22
2372

1、背景:应用反馈数据库连接不上,资源繁忙

问题分析

2、猜测跟密码过期有关,查看该用户的过期时间,profile

密码过期的原因一般有两种可能:

一、由于Oracle中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。

二、由于Oracle中默认在default概要文件中设置了“FAILED_LOGIN_ATTEMPTS=10次”,当输入密码错误次数达到设置值将导致此问题。

截图.png

3、将该profile设置为永不过期

将密码设置为永不过期后,可以通过前两步做校验,这里已经成功设置为永不过期

alter profile DEFAULT_ZXY limit password_life_time unlimited;


截图.png

这里分析一下为什么要这样做:

1.修改密码的过期时间:这是因为Oracle Database 11g 版本的Oracle数据库有一项默认配置,就是密码过期时间默认为180天(6个月左右);

4、应用改了密码后,能重新连接数据库

第二种情况解决方法如下:

1、查看用户的proifle是哪个,一般是default

sql> SELECT username,PROFILE FROM dba_users;


2、查看指定概要文件(如default)的密码有效期设置:

sql> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='FAILED_LOGIN_ATTEMPTS';


3、将尝试登录失败次数由默认的10次修改成“无限制”:

sql> ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;


4、修改后,还没有被提示ORA-28000警告的用户不会再碰到同样的提示;

已经被锁定的帐户必须解除锁定,举例如下:

sqlplus / as sysdba

sql> alter user smsc identified by oracle account unlock;


5、修改后default profile应该如下:

sql> select * from dba_profiles WHERE dba_profiles.profile='DEFAULT';

PROFILE      RESOURCE_NAME            RESOURCE_TYPE   LIMIT

DEFAULT      FAILED_LOGIN_ATTEMPTS    PASSWORD        UNLIMITED



小结:

1、重置完即可正常访问数据库,不需要重启数据库

2、如果出现ORA-28000 the account is locked.错误

alter user 用户名 account unlock;

最后修改时间:2023-07-02 21:55:24
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论