由于oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”,导致密码过期,程序无法使用,业务进程会提示无法连接数据库等字样。下面我给大家详细介绍一下,如何解决Oracle 11g 密码过期的问题。
工具/原料
-
电脑、Oracle11g
方法/步骤
-
首先Win键+R键,打开运行窗口,输入cmd 回车,
-
打开管理员窗口,如下图所示:
-
用数据库system账号登录:
C:\Users\Administrator>sqlplus
SQL*Plus: Release 11.1.0.7.0 - Production on 星期二 4月 23 11:57:57 2013
Copyright (c) 1982, 2008, Oracle. All rights reserved.
请输入用户名: system
输入口令:
ERROR:
ORA-28002: the password will expire within 7 days
-
连接到:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
◆查看用户的proifle是哪个,一般是default(这个步骤仅用于检查,可以不要):
SQL> SELECT username,PROFILE FROM dba_users;
-
◆检查密码的有效期是否为默认的180天(这个步骤仅用于检查,可以不要):
SQL> SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
PROFILE RESOURCE_NAME RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT PASSWORD_LIFE_TIME PASSWORD 180
-
将密码有效期由默认的180天修改成“无限制”:
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
-
检查密码的有效期是否为默认的180天:
SQL> SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
完成修改
1: 已经被提示的“口令过期”的帐户必须再改一次密码,举例如下:
$sqlplus / as sysdba
sql> alter user 用户名 identified by 密码 <原来的密码> ----不用换新密码
以上的帐户名请根据实际使用的帐户名更改。
问题2:oracle数据库用户被锁定的处理:
使用oracle用户登录系统,执行如下步骤:
1:$ sqlplus /nolog
2:SQL> connect /as sysdba 如果此句不行,则使用 connect system/密码;(此句根据具体情况使用用户名、密码和数据库名称<sid名称>)
Connected.
3:SQL> alter user system(用户名) account unlock;