• Oracle用户密码问题笔记


    Oracle用户密码问题笔记

    一 、密码过期

    场景:当使用sqlplus进行登录时报错:ORA-28002 密码过期。
    原因:由于oracle 11g 在默认在default概要文件中设置了密码过期天数,“PASSWORD_LIFE_TIME=180”,密码过期后就会报此提示。

    解决方案:
    1、查看用户的概要文件名,一般为default

    sql> SELECT username,PROFILE FROM dba_users;
    
    • 1

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

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

    3、将密码有效期由默认的180天修改成“无限制”,立即生效,修改后没有提示过期的用户将不会再提示

    sql> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
    
    • 1

    4.检查已经密码过期的用户

    账号的状态大致被分为:OPEN(正常),LOCKED(通过SQL语句进行的锁定),LOCKED(TIMED)(超过最大错误登录次数被动锁定),EXPIRED或者EXPIRED(GRACE)(密码过期状态),EXPIRED & LOCKED(TIMED)(密码过期并超过了限制次数被锁定)等。

    sql> SELECT username,account_status FROM dba_users;
    
    • 1

    5.修改后,还没有被提示ORA-28002警告的帐户不会再有同样的提示,已经被提示的帐户必须修改密码

    sql> ALTER user 用户名 identified BY <密码>
    
    • 1

    二、账户锁定

    场景:当使用sqlplus进行登录时报错:ORA-28000 账号被锁定。
    原因:由于oracle 11g 在默认在default概要文件中设置了密码最大错误次数为10,“FAILED_LOGIN_ATTEMPTS=10”,密码错误的次数超过10次,账号就会被锁定。
    解决方案:
    1.查看用户使用的概要文件名,一般为DEFAULT

    SQL> select username,profile from dba_users;
    
    • 1

    2.查看概要文件中设置的密码错误后限制的登录次数

    SQL> select * from dba_profiles where profile='DEFAULT' and resource_name='FAILED_LOGIN_ATTEMPTS';
    
    • 1

    3.将10次(默认)改为不受限制,改动后立即生效

    SQL> alter profile default limit failed_login_attempts unlimited; 
    
    • 1

    4.检查已经被锁定的用户

    SQL> select username,account_status from dba_users;
    
    • 1

    5.解锁被锁定的账户

    SQL> alter user user_name account unlock;
    
    • 1
  • 相关阅读:
    系统分析师1:计算机系统基础
    专业尖端远心光学,高精度视觉检测解决者
    WorkManager 一篇文章就够了
    RocketMQ
    Introduction to Assembly and RISC-V
    Git 实战(三) | Github 必会高频基础命令与 IDE 的 Git 集成
    云原生之深入解析如何使用Devtron简化K8S应用开发
    QT集成Protobuf
    7. 核心功能(Core Features)
    一种融合偶然和认知不确定性的贝叶斯深度学习RUL框架
  • 原文地址:https://blog.csdn.net/zhangenyuan/article/details/126135645