Oracle 11g口令过期的解决

更新时间:2023-07-16 23:44:59 阅读: 评论:0

今天发现服务器上的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;
EMWeb界面的控制台):服务器>用户,查看口令失效的用户对应的概要文件,这里假设为DEFAULT,下同。
5. 查看对应的概要文件的口令有效期设置
SQL>SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
EMWeb界面的控制台):服务器>概要文件>选择刚刚查到的概要文件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 点击:  [ 评论 ]

本文发布于:2023-07-16 23:44:59,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1100425.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:用户   口令   密码   修改   数据库
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图