Oracle 11g中密码过期问题详解

 更新时间:2014年09月29日 09:56:38   投稿:hebedich  
本文主要是对Oracle中产生密码过期的2种情况进行了详细分析,并给出了解决方案,非常的简单实用,有需要的朋友可以参考下

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

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

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

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

1、查看用户用的哪种profile策略,一般是default:

复制代码 代码如下:

SQL> select username,profile from dba_users;
USERNAME                PROFILE
------------------ -----------------
MGMT_VIEW             DEFAULT
SYS                   DEFAULT
SYSTEM                DEFAULT
EKPUSER               DEFAULT

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

复制代码 代码如下:

SQL> Select * FROM dba_profiles s Where s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
PROFILE                        RESOURCE_NAME           RESOURCE_TYPE LIMIT
------------------------------ ----------------------- ------------ --------
DEFAULT                        PASSWORD_LIFE_TIME        PASSWORD      180

3、将密码有效期由默认的180天修改成“无限制”:

复制代码 代码如下:

sql> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Profile altered

修改之后不需要重启动数据库,会立即生效。

4、修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示;已经被提示的帐户必须再改一次密码,举例如下:

复制代码 代码如下:

sqlplus / as sysdba
sql> alter user smsc identified by <原来的密码> ----不用换新密码
sql> alter user system identified by root;
sql> alter user scott identified by tiger;

oracle11g启动参数resource_limit无论设置为false还是true,密码有效期都是生效的,所以必须通过以上方式进行修改。以上的帐户名请根据实际使用的帐户名更改。

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

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
DEFAULT      PASSWORD_LIFE_TIME       PASSWORD        UNLIMITED

修改之后不需要重启动数据库,会立即生效。
如果出现ORA-28000 the account is locked.错误

复制代码 代码如下:

alter user 用户名 account unlock;

相关文章

  • Oracle中的序列SEQUENCE详解

    Oracle中的序列SEQUENCE详解

    本文详细讲解了Oracle中的序列SEQUENCE,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Oracle数据库中创建自增主键的实例教程

    Oracle数据库中创建自增主键的实例教程

    Oracle的字段自增功能,可以利用创建触发器的方式来实现,接下来我们就来看看Oracle数据库中创建自增主键的实例教程,需要的朋友可以参考下
    2016-05-05
  • oracle 12c因误删pdb数据文件导致整个数据库打不开的解决方法

    oracle 12c因误删pdb数据文件导致整个数据库打不开的解决方法

    这篇文章主要给大家介绍了关于oracle 12c因误删pdb数据文件导致整个数据库打不开问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧。
    2017-10-10
  • Oracle中is和as的区别和使用

    Oracle中is和as的区别和使用

    在Oracle数据库中,AS和IS是两个常用的关键字,它们分别表示“命名别名”和“判断是否相同”,AS和IS的主要区别在于它们的功能,AS是一种授权服务,它负责授予和管理用户访问数据库特定对象和操作的权限,IS则是一种身份验证服务,它负责管理用户的身份和访问权限
    2024-01-01
  • oracle 11g的警告日志和监听日志的删除方法

    oracle 11g的警告日志和监听日志的删除方法

    这篇文章主要介绍了oracle 11g的警告日志和监听日志的删除方法,需要的朋友可以参考下
    2014-07-07
  • oracle12C安装步骤(图文详解)

    oracle12C安装步骤(图文详解)

    这篇文章主要介绍了oracle12C安装步骤(图文详解),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • oracle 日期时间函数使用总结

    oracle 日期时间函数使用总结

    经常写 sql 的同学应该会接触到一些 oracle 的日期时间函数, 例如: 财务软件或者人力资源软件需要按照每年, 每季度, 每月, 甚至每个星期来进行统计
    2014-05-05
  • Oracle中的游标和函数详解

    Oracle中的游标和函数详解

    这篇文章主要介绍了 Oracle中的游标和函数详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • Oracle 子程序参数模式,IN,OUT,NOCOPY

    Oracle 子程序参数模式,IN,OUT,NOCOPY

    Oracle 子程序参数模式主要有IN,OUT,NOCOPY,IN和OUT可以组合,OUT和NOCOPY也可以组合使用.
    2009-10-10
  • Oracle存储过程及调用

    Oracle存储过程及调用

    这篇文章主要介绍了Oracle存储过程及调用,需要的朋友可以参考下
    2017-06-06

最新评论