• 由更改密码引发的状况..(alter user xxx identified by password)


    情况描述:
    今天更改一个生产上的用户密码
    Alter user XXX identified by password;
    相应的也在应用层做了更改,配置文件,report平台等等之类的相关地方都做了测试.
    木有发生问题,接着在中午吃饭的时候就把相应的更改部署到生产环境上.

    这个时候问题就来了,因为客户端有一部分的功能模块是把密码写进程序里头的,其余的模块都分得很清晰,
    密码配置文件在APP Server上,
    这里就需要他们update程序,只要关闭程序再打开就自动升级了,
    (不像原来自己写的C
    /S程序,长连接,可以直接T掉所有用户~)
    这个升级的过程中,问题就来了,有些用户,还未关闭程序,他们继续使用,
    如果有使用那个模块(把密码写进程序里的)的话,就会造成连接数据库失败,
    并且继续连接,继续失败,失败次数多了,这个数据库的user就自动被lock起来了.
    这个失败N次后锁定的参数在dba_profiles表里的limit字段体现.

    SYS
    @PPTD(3.49)> select * from dba_profiles where
    resource_name
    ='FAILED_LOGIN_ATTEMPTS';
    PROFILE RESOURCE_NAME RESOURCE LIMIT
    ------------------------------ -------------------------------- -------- ----------
    DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10
    MONITORING_PROFILE FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED


    真囧啊,中午原本认为没啥问题了,就去吃饭了,结果一回来发现部分用户hang在那里了,user被lock住了,好纳闷,
    解锁后,并修改为失败后不锁定 unlimited,解决了这个问题.

    SYS
    @PPTD(7.15)> alter user 用户 account unlock;
    SYS
    @PPTD(7.15)> ALTER PROFILE default LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;
    查看帐户的锁定情况

    SYS
    @PPTD(7.15)> select username,account_status from dba_users;

    USERNAME ACCOUNT_STATUS
    ------------------------------ --------------------------------
    MGMT_VIEW OPEN
    SYS
    OPEN
    SYSTEM
    OPEN
    DBSNMP
    OPEN
    SYSMAN
    OPEN
    KEYUSER
    OPEN
    OUTLN EXPIRED
    & LOCKED
    MDSYS EXPIRED
    & LOCKED
    ORDSYS EXPIRED
    & LOCKED
    EXFSYS EXPIRED
    & LOCKED
    DMSYS EXPIRED
    & LOCKED
    WMSYS EXPIRED
    & LOCKED
    CTXSYS EXPIRED
    & LOCKED
    ANONYMOUS EXPIRED
    & LOCKED
    XDB EXPIRED
    & LOCKED
    ORDPLUGINS EXPIRED
    & LOCKED
    SI_INFORMTN_SCHEMA EXPIRED
    & LOCKED
    OLAPSYS EXPIRED
    & LOCKED
    SCOTT EXPIRED
    & LOCKED
    ORACLE_OCM EXPIRED
    & LOCKED
    TSMSYS EXPIRED
    & LOCKED
    MDDATA EXPIRED
    & LOCKED
    DIP EXPIRED
    & LOCKED


    作者:Daaprk
    可以转载,但必须以超链接形式标明文章原始出处和作者信息.
  • 相关阅读:
    SQL Server数据库读写分离提高并发性
    静态方法与实例化方法区别
    消息队列MQ对比
    【Python】socket模块应用
    【Matplotlib】利用Python进行绘图
    【Git】简单使用
    【HTTPS】自签CA证书 && nginx配置https服务
    【HTTP】 认证和单点登录 【瞎写的…】
    【Linux】防火墙与CentOS中的iptables
    【Ansible】的python api
  • 原文地址:https://www.cnblogs.com/dap570/p/1781619.html
Copyright © 2020-2023  润新知