今天发现服务器上的Oracle11g突然登录不上去了,提示ORA-28002错误,说是口令过期。
不当DBA还真不知道Oracle有这神秘功能。
上网上一查,有类似遭遇的朋友在论坛上求助,人家让他找DBA。汗。。。
好在有的DBA乐于分享,终于找到了解决方案:
1. 用DBA账户登录SQL PLUS。我用的是sysman。
2. 系统会提示口令失效,但是会马上让你重置新密码。
3. 重置之后,进入SQL PLUS控制台。
4. 查看口令失效用户的profile文件
SQL>SELECT urname,profile FROM dba_urs;
EM(Web界面的控制台):服务器>用户,查看口令失效的用户对应的概要文件,这里假设为DEFAULT,下同。
5. 查看对应的概要文件的口令有效期设置
SQL>SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
EM(Web界面的控制台):服务器>概要文件>选择刚刚查到的概要文件DEFAULT>查看,查看口令下面的有效期值。
6.将口令有效期默认值180天修改成“无限制”(此项要慎重!除非你真得不想要这个密码失效的机制!)
SQL>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
EM:服务器>概要文件>选择刚刚查到的概要文件whoresDEFAULT>编辑>口令,在有效期输入或选择你需要的值,保存。
该参数修改实时生效。
出于数据库安全性考虑,不建议将PASSWORD_LIFE_TIME值设置成UNLIMITED,即建
议客户能够定期修改数据库用户口令。
在修改PASSWORD_LIFE_TIME值之前已经失效的用户,还是需要重新修改一次密码才能使用。
SQL>ALTER USER test INDENTIFIED BYpassword
也可以从SQL Developer 里面来修改用户的密码,用taki taki歌词中文翻译sysman账户登录以后,找到数据库中的其他用户节点,展开,找到你要修改密码的用户。然后编辑用户,对用户密码进行重置,如下图:
[Oracle Troubleshooting]EM Cannot Connect to Databa Instance and ORA-28001
作者:fangwen.YU 来源:博客园 发布时间:2010-06-05 13:27 阅读:173 次 原文链接 [收藏]
启动EM databa constrol
> SET ORACLE_SID=orcl
> emctl start dbconsole
打开浏览器 -- localhost:1158/em/
但是却发现如下问题,
刚开始以为是instance没有起来,但是执行如下SQL语句,发现数据库已经Openjust the way you are 歌词了,
sys@ORCL> lect韩语在线翻译朗读 open_mode from v$databa;
OPEN_MODE
pilot----------
READ WRITE
那么是啥问题呢??? 注意到上图中有个ORA-28001错误,提示password过期了!!那么是那个ur的密码过期了呢,很容易想到是SYSMAN。
那么查下SYSMAN的状态,
sys@ORCL> 中文转换器lect urname, account_status, lock_date, expiry_date from dba_urs
2 where urname = 'SYSMAN';
USERNAME ACCOUNT_STATUS LOCK_DATE EXPIRY_DA
------------------------------ -------------------------------- --------- ---------
SYSMAN EXPIRED 22-APR-10
sys@ORCL>
可以看到SYSMAN的密码早就过期了!!
找到问题所在,接下来就进行解决吧,先改动SYSMAN的密码试下看看,
sys@ORCL> alter ur SYSMAN identified by sysman;
Ur altered.
sys情人节英语@ORCL> lect urname, account_status, lock_date, expiry_date from dba_urs
2 where urname = 'SYSMAN';
USERNAME ACCOUNT_STATUS LOCK_DATE EXPIRY_DA
------------------------------ -------------------------------- --------- ---------
SYSMAN OPEN 02-DEC-10
sys@ORCL>
现在看到SYSMAN的状态是OPEN了,那么再刷新下EM的页面试试,但是很不幸,问题没有解决 :(
也许应该重启下em
>emctl stop dbconsole
>emctl start dbconsole
但是很不幸,还是不行catchon.....................................................................
而且,这个时候查看SYSMAN的状态,会发现,居然被锁住了!!
sys@ORCL> lect urname, account_status, lock_date, expiry_date from dba_urs
2 where urname = 'SYSMAN';
USERNAME ACCOUNT_STATUS LOCK_DATE EXPIRY_DA
------------------------------ -------------------------------- --------- ---------
SYSMAN LOCKED(TIMED) 05-JUN-10 02-DEC-10
重新解锁这个账户
灵格斯翻译软件下载
SQL > alter ur sysman account unlock;
修改以下文件中的内容,
(1)$ORACLE_HOME\hostname.domain_sid\sysman\l
对于我的数据库来说,就是
E:\app\fangyu\product\11.1.0\db_1\_orcl\sysman\l
将以下内容
<Property NAME="UrName" VALUE="817e3703d765c058" ENCRYPTED="TRUE"/>
<Property NAME="password" VALUE="171476fcf64ec982" ENCRYPTED="TRUE"/>
改成 ===》
牛津大学官网 <Property NAME="UrName" VALUE="SYSMAN" ENCRYPTED="FALSE"/>
<Property NAME="password" VALUE="SYSMAN" ENCRYPTED="FALSE"/>
(2) $ORACLE_HOME\sysman\config\emoms.properties
同样,对于我的数据库来说就是 E:\app\fangyu\product\11.1.0\db_1\sysman\config\emoms.properties
将以下内容
dRepPwd=%EM_REPOS_PWD%
改成
dRepPwd=sysman
在重新刷新EM页面,
解决"ORA-28001: the password has expired”
时间 : 2010-07-21 作者:网络 编辑:huyang629 点击: [ 评论 ]