ORA-28001: the password has expired (CMD登录oracle数据库修改)

 Oracle提示错误消息 ORA-28001: the password has expired,是由于Oracle11G的新特性所致,Oracle11G创建用户时缺省密码过期限制是180天(即6个月),如果超过180天用户密码未做修改则该用户无法登录。

 

解决方法:

运行cmd

执行

sqlplus /nolog

 此时只是登录进了SQLPLUS,并没有登录数据库

这个参数表示是不用登录(no login)的意思。
而加密码的话,就是登录到你指定的数据库实例里。

如果命令里带tnsname,就是你tnsname里配置的实力,如果灭有带tnsname,就是本地的ORACLWE_SID指定的实例。
已经登录以后再conn中止上一个用户的session,然后新开一个session,这里可以切换到别的用户登录。

使用

conn / as sysdba

命令,进入oracle数据库,如果部署了多个数据库实例,需要 在参数中增加@数据库名称

 

执行

SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

查询密码的有效期设置,LIMIT字段是密码有效天数。在密码将要过期或已经过期时可通过如下语句进行修改密码

 

ALTER USER 用户名 IDENTIFIED BY 密码; 

  修改密码后,账户会被锁定,需要执行以下SQL语句进行解锁:

 alter user 用户名 account unlock;

  

如果想一劳永逸去除oracle180天的口令限制可以执行以下语句

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

 

猜你喜欢

转载自www.cnblogs.com/Tinran/p/10374754.html
0条评论
添加一条新回复