Oracle 11g口令过期的解决.docx
《Oracle 11g口令过期的解决.docx》由会员分享,可在线阅读,更多相关《Oracle 11g口令过期的解决.docx(14页珍藏版)》请在冰豆网上搜索。
Oracle11g口令过期的解决
今天发现服务器上的Oracle11g突然登录不上去了,提示ORA-28002错误,说是口令过期。
不当DBA还真不知道Oracle有这神秘功能。
上网上一查,有类似遭遇的朋友在论坛上求助,人家让他找DBA。
汗。
。
。
好在有的DBA乐于分享,终于找到了解决方案:
1.用DBA账户登录SQLPLUS。
我用的是sysman。
2.系统会提示口令失效,但是会马上让你重置新密码。
3.重置之后,进入SQLPLUS控制台。
4.查看口令失效用户的profile文件
SQL>SELECT username,profile FROM dba_users;
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:
服务器>概要文件>选择刚刚查到的概要文件DEFAULT>编辑>口令,在有效期输入或选择你需要的值,保存。
该参数修改实时生效。
出于数据库安全性考虑,不建议将PASSWORD_LIFE_TIME值设置成UNLIMITED,即建议客户能够定期修改数据库用户口令。
在修改PASSWORD_LIFE_TIME值之前已经失效的用户,还是需要重新修改一次密码才能使用。
SQL>ALTER USER test INDENTIFIED BYpassword
也可以从SQLDeveloper里面来修改用户的密码,用sysman账户登录以后,找到数据库中的其他用户节点,展开,找到你要修改密码的用户。
然后编辑用户,对用户密码进行重置,如下图:
[OracleTroubleshooting]EMCannotConnecttoDatabaseInstanceandORA-28001
作者:
fangwen.YU 来源:
博客园 发布时间:
2010-06-0513:
27 阅读:
173次 原文链接 [收藏]
启动EMdatabaseconstrol
>SETORACLE_SID=orcl
>emctlstartdbconsole
打开浏览器-- 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-10
sys@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_users
2 where username = 'SYSMAN';
USERNAME ACCOUNT_STATUS LOCK_DATE EXPIRY_DA
------------------------------ -------------------------------- --------- ---------
SYSMAN OPEN 02-DEC-10
sys@ORCL>
现在看到SYSMAN的状态是OPEN了,那么再刷新下EM的页面试试,但是很不幸,问题没有解决:
(
也许应该重启下emdatabaseconsole......
>emctlstopdbconsole
>emctlstartdbconsole
但是很不幸,还是不行.....................................................................
而且,这个时候查看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 LOCKED(TIMED) 05-JUN-10 02-DEC-10
重新解锁这个账户
SQL>alterusersysmanaccountunlock;
修改以下文件中的内容,
(1)$ORACLE_HOME\hostname.domain_sid\sysman\emd\targets.xml
对于我的数据库来说,就是
E:
\app\fangyu\product\11.1.0\db_1\SZ1-DEV-LXP-_orcl\sysman\emd\targets.xml
将以下内容
改成===》
(2)$ORACLE_HOME\sysman\config\emoms.properties
同样,对于我的数据库来说就是E:
\app\fangyu\product\11.1.0\db_1\sysman\config\emoms.properties
将以下内容
oracle.sysman.eml.mntr.emdRepPwd=%EM_REPOS_PWD%
改成
oracle.sysman.eml.mntr.emdRepPwd=sysman
在重新刷新EM页面,
解决"ORA-28001:
thepasswordhasexpired”
时间:
2010-07-21作者:
网络编辑:
huyang629点击:
[评论]
-
-
文章分类:
数据库
Oracle10g以上密码失效问题
oracleem无法登录,我自己遇到的问题总结如下:
其中有两个用户可能密码失效
1、sysman
2、dbsnmp
首先,以SYSDBA身份进入sqlpuls
打开sqlpuls
SQL->请输入用户名:
sysassysdba
SQL->密码:
登录成功以后查询DBA用户状态
SQL->selectusername,account_statusfromdba_users;
查看其中常用的用户状态是否是EXPIRED还是LOCKED
有的是LOCKED
如果sysman状态是过期,修改密码方法:
1、执行emctlstopdbconsole
执行完成后再停止agent:
emctlstopagent
使用下面的命令来检查是否缺失停止了:
emctlstatusdbconsole
emctlstatusagent
确认停止以后就可以在sqlpuls里改密码了
2、执行下面的命令修改sysman密码:
SQL->alterusersysmanidentifiedby<你要改的密码>;
不过首先你得确认一下sysman是否被锁定,就是执行
SQL->selectusername,account_statusfromdba_users;
看sysman的状态,如果是LOCKED,那么你先得解锁:
SQL->alterusersysmanaccountunlock;
解锁完成后再修改密码,或者修改后再解锁都行,步骤可以颠倒,但是绝对不能少。
修改完成后
SQL->connectsysman/密码
如果连接成功就可以进行下一步了。
3、修改emoms.properties
在路径ORACLE_HOME\[HOST]_[SID]\sysman\config下
找到文件后编辑以下两句:
oracle.sysman.eml.mntr.emdRepPwd=[Yourencryptedpassword]
oracle.sysman.eml.mntr.emdRepPwdEncrypted=True
找到后把[Yourencryptedpassword]改成你这个用户要改的密码(明文),然后把下面的True改成False.
4、重新启动dbConsole
emctlstartdbconsole
emctlstartagent
两个都启动了以后你再到emoms.properties里看,是不是密码给你加密了,而且emdRepPwdEncrypted变成了True!
如果用户dbsnmp也失效的话,同样的办法,先停止dbconsole和agent然后在sqlplus里确保他的状态是open,修改密码,然后再去文件中改,不过这次文件不一样,变成了targets.xml,它的路径在
ORACLE_HOME\[HOST]_[SID]\sysman\emd
修改以下行:
"ENCRYPTED="TRUE"/>
同样把<[Yourencryptedpassword]>改成你要改的密码,把后面的TRUE改成FALSE,保存。
重新启动dbconsole和agent.
文章出处:
飞诺网():
Oracle提示错误消息ORA-28001:
thepasswordhasexpired,
oracle2010-07-1914:
05:
21阅读442评论0 字号:
大中小 订阅
Oracle提示错误消息ORA-28001:
thepasswordhasexpired,
经调查是由于Oracle11G的新特性所致,Oracle11G创建用户时缺省密码过期限制是180天,如果超过180天用户密码未做修改则该用户无法登录。
可通过
SELECT*FROMdba_profilesWHEREprofile='DEFAULT'ANDresource_name='PASSWORD_LIFE_TIME'
语句查询密码的有效期设置,
LIMIT字段是密码有效天数。
在密码将要过期或已经过期时可通过
ALTERUSER用户名IDENTIFIEDBY密码;
语句进行修改密码,密码修改后该用户可正常连接数据库。
长久对应可通过
ALTERPROFILEDEFAULTLIMITPASSWORD_LIFE_TIMEUNLIMITED
语句将口令有效期默认值180天修改成“无限制”。
出于数据库安全性考虑,不建议将PASSWORD_LIFE_TIME值设置成UNLIMITED,
建议客户定期修改数据库用户口令。
叶落归根的Oracle更改system和sys用户密码
SQL>alterusersystemidentifiedbypassword;
用户已更改。
SQL>alterusersysidentifiedbypassword;
用户已更改。
SQL>alterusersystemidentifiedbymanger;
用户已更改。
SQL>exit
从Oracle9iEnterpriseEditionRelease9.2.0.1.0-Production
WiththePartitioning,OLAPandOracleDataMiningoptions
JServerRelease9.2.0.1.0-Production中断开
D:
\oracle\ora92\bin>sqlplus
SQL*Plus:
Release9.2.0.1.0-Productionon星期四8月1611:
40:
372007
Copyright(c)1982,2002,OracleCorporation. Allrightsreserved.
请输入用户名:
system
请输入口令:
连接到:
Oracle9iEnterpriseEditionRelease9.2.0.1.0-Production
WiththePartitioning,OLAPandOracleDataMiningoptions
JServerRelease9.2.0.1.0-Production
SQL>selectinstance_namefromv$instance;
INSTANCE_NAME
----------------
orcl
WhattodowhenEnterpriseManagerisnotabletoconnecttothedatabaseinstance(ORA-28001)收藏
WhattodowhenEnterpriseManagerisnotabletoconnectto
thedatabaseinstance(ORA-28001)
IfyouaretryingtoconnecttotheOracleenterpriseMangerandyougetthefollowingerrors:
EnterpriseManagerisnotabletoconnecttothedatabaseinstance.
Andint
EnterpriseManagerisnotabletoconnecttothedatabaseinstance.
Andinthe“Agentconnectiontoinstance”section:
Status:
Failed
Details:
ORA-28001:
thepasswordhasexpired(DBDERROR:
OCISessionBegin)
OneofthereasonscouldbethatthepasswordfortheSYSMANuserisexpired.However,changingthepasswordalonewillnotsolvethisissue.SeveraladditionalstepsarerequiredinordertomakeOracleEnterpriseManagerconnect:
Beforeyoustart:
VerifythatORACLE_HOME,ORACLE_SIDenvironmentvariablesareset.–Ifnot,setthemusingasenvironmentvariablesoropenacommandlineandtypeSETORACLE_SID=
1.Stopthedbconsole:
emctlstopdbconsole(dosandUnix)orusingthewindowsservicesstoptheOrcleDBConsole.
2.ConnecttothedatabaseasauserwithDBAprivilegewithSQL*Plus
andrunthefollowingcommand:
alterusersysmanidentifiedby;
3.Verifythatthenewpasswordworks
SQL>connectsysman/
4.GotoORACLE_HOME//sysman/configandsaveabackupoftheemoms.propertiesfile.
a)Openthefileemoms.propertiesandsearchfor:
oracle.sysman.eml.mntr.emdRepPwd=
Replacetheencryptedvaluewiththenewpasswordvalue
b)Searchfororacle.sysman.eml.mntr.emdRepPwdEncrypted=TRUE
andchangeTRUEtoFALSE
c)Saveandcloseemoms.properties
5.Restartthedbconsole:
emctlstartdbconsole(dosandUnix)orusingthewindowsservicesstarttheOrcleDBConsole.
6.Openemoms.propertiesagainandSearchfor:
a)oracle.sysman.eml.mntr.emdRepPwd=
verifythatthepasswordisencrypted
b)oracle.sysman.eml.mntr.emdRepPwdEncrypted=
verifythatthevalueissettoTRUE
7.RefreshOracleEnterpriseManager
本文来自CSDN博客,转载请标明出处:
Oracle错误代码:
ORA-28002导致密码消失
技术日志2011-01-1113:
48:
57阅读106评论0 字号:
大中小 订阅
Oracle错误代码:
ORA-28002。
受影响版本:
Oracle11g以上版本。
导致密码消失的原因:
Oracle11g中默认的DEFAULT概要文件中口令有效期PASSWORD_LIFE_TIME默认值为180天。
当以客户端登陆Oracle提示ORA-28002,则基本可以确定登陆帐号已过有效期,使用具有DBA权限的帐号重置该帐号密码即可。
解决方法:
以下步骤以具有DBA权限用户操作
1.查看口令失效用户的profile文件
SQL>SELECTusername,profileFROMdba_users;
EM:
服务器>用户,查看口令失效的用户对应的概要文件,这里假设为DEFAULT,下同。
2.查看对应的概要文件的口令有效期设置
SQL>SELECT*FROMdba_profilesWHEREprofile='DEFAULT'ANDresource_name='PASSWORD_LIFE_TIME';
EM:
服务器>概要文件>选择刚刚查到的概要文件DEFAULT>查看,查看口令下面的有效期值。
3.将口令有效期默认值180天修改成“无限制”
SQL>ALTERPROFILEDEFAULTLIMITPASSWORD_LIFE_TIMEUNLIMITED;
EM:
服务器>概要文件>选择刚刚查到的概要文件DEFAULT>编辑