• Oracle数据库用户锁定原因以及处理方式(ORA-28000)


    现场在实施过程中,基于安全考虑(用户名和密码之前暴露给其他公司了),需要对用户密码进行修改。

    修改过程很简单(alter user [username] identified by [password];),但是在修改之后出现该用户被锁定的问题。

    原因:数据库参数文件中设置了输错密码的次数,登录时当输错密码的次数超过所设置的次数时,则锁住该用户。默认一般为10次。输错密码锁住用户的设计原因:防止恶意的密码攻击。

    一开始以为是内部人员不知道密码修改了,多次尝试登陆因为密码错误导致账户锁定。对账号进行了手动解锁(alter user [username] account unlock;),但是后续又出现多次锁定的情况。

    后来发现我们在基于此用户做过一些ETL以及建立DBLINK等,对这些内容进行同步的密码更新解决用户锁定的问题。

    下面是过程中问题排查方式:

    1、查询出当前账号的锁定时间

    select username,lock_date from dba_users where username=[username];

    2、根据锁定时间查看日志文件

    日志存放路径可以通过命令查看

    image

    可以通过日志文件定位访问的IP地址等信息(或者trace文件夹下的listener.log文件)。

    image

    在使用过程中,我们也可以修改允许的最大密码输入错误次数,具体修改方法如下:

    1、查看当前设置值

    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;

  • 相关阅读:
    python软件开发目录规范
    模块与包
    匿名函数的使用
    三元表达式,列表生成式,字典生成式,生成器表达式
    Python函数进阶:生成器的原理及使用
    python迭代器的原理及应用
    PYTHON装饰器用法及演变
    文件操作补充
    pycharm的断点调试与TODO标记
    字符编码补充
  • 原文地址:https://www.cnblogs.com/jpfss/p/10773691.html
Copyright © 2020-2023  润新知