Oracle_11g口令过期.doc
文本预览下载声明
今天发现服务器上的Oracle11g突然登录不上去了,提示ORA-28002错误,说是口令过期。不当DBA还真不知道Oracle有这神秘功能。上网上一查,有类似遭遇的朋友在论坛上求助,人家让他找DBA。汗。。。好在有的DBA乐于分享,终于找到了解决方案:1. 用DBA账户登录SQL PLUS。我用的是sysman。2. 系统会提示口令失效,但是会马上让你重置新密码。3. 重置之后,进入SQL PLUS控制台。4. 查看口令失效用户的profile文件
SQLSELECT?username,profile?FROM?dba_users;
EM(Web界面的控制台):服务器用户,查看口令失效的用户对应的概要文件,这里假设为DEFAULT,下同。
5. 查看对应的概要文件的口令有效期设置
SQLSELECT?*?FROM?dba_profiles?WHERE?profile=DEFAULT?AND?resource_name=PASSWORD_LIFE_TIME;
EM(Web界面的控制台):服务器概要文件选择刚刚查到的概要文件DEFAULT查看,查看口令下面的有效期值。
6.将口令有效期默认值180天修改成“无限制”(此项要慎重!除非你真得不想要这个密码失效的机制!)
SQLALTER?PROFILE?DEFAULT?LIMIT?PASSWORD_LIFE_TIME?UNLIMITED;
EM:服务器概要文件选择刚刚查到的概要文件DEFAULT编辑口令,在有效期输入或选择你需要的值,保存。
该参数修改实时生效。
出于数据库安全性考虑,不建议将PASSWORD_LIFE_TIME值设置成UNLIMITED,即建议客户能够定期修改数据库用户口令。
在修改PASSWORD_LIFE_TIME值之前已经失效的用户,还是需要重新修改一次密码才能使用。
SQLALTER?USER?test?INDENTIFIED?BYpassword也可以从SQL Developer 里面来修改用户的密码,用sysman账户登录以后,找到数据库中的其他用户节点,展开,找到你要修改密码的用户。然后编辑用户,对用户密码进行重置,如下图:
[Oracle Troubleshooting]EM Cannot Connect to Database Instance and ORA-28001
作者:fangwen.YU??来源:博客园??发布时间:2010-06-05 13:27??阅读:173 次??原文链接?? [收藏]??
启动EM database constrol?
SET ORACLE_SID=orcl
emctl start dbconsole
?
?打开浏览器 --?https://localhost:1158/em/
?但是却发现如下问题,
?
?刚开始以为是instance没有起来,但是执行如下SQL语句,发现数据库已经Open了,
?
sys@ORCL?select?open_mode?from?v$database;OPEN_MODE----------READ?WRITE
?
?
?那么是啥问题呢??? 注意到上图中有个ORA-28001错误,提示password过期了!!那么是那个user的密码过期了呢,很容易想到是SYSMAN。
?
那么查下SYSMAN的状态,
?
sys@ORCL?select?username,?account_status,?lock_date,?expiry_date?from?dba_users??2??where?username?=?SYSMAN;USERNAME???????????????????????ACCOUNT_STATUS???????????????????LOCK_DATE?EXPIRY_DA------------------------------?--------------------------------?---------?---------SYSMAN?????????????????????????EXPIRED????????????????????????????????????22-APR-10sys@ORCL
?
?
可以看到SYSMAN的密码早就过期了!!
?
找到问题所在,接下来就进行解决吧,先改动SYSMAN的密码试下看看,
sys@ORCL?alter?user?SYSMAN?identified?by?sysman;User?altered.sys@ORCL?select?username,?account_status,?lock_date,?expiry_date?from?dba_us
显示全部