ORACLE 11G HOW TO FIX ORA-01017: invalid username /password;logon denied
当sysman密码修改后,使用sys登录em,em中无法连接到数据库实例,并且在em首页报如下错误:
ORA-01017: invalid username /password;logon denied
解决步骤如下:
假如在安装过程中我给SYSMAN用户设置的密码是mybmw530i, 现在我想修改成 mybmw745i,应该怎么办呢?
Step 1: 在SQLPLUS中修改密码
SQL> conn sys/xxx as sysdba;
SQL> alter user SYSMAN identified by mybmw745i;
如果还出现过ORA-28000 error (account is unlocked),
将账号解锁就可以了(加上account unlock子句)
Step 2: 修改emoms.properties文件
这个文件所在的目录是ORACLE11G/product/11.1.0/db_1/DW-6_DCAPP/sysman/config
找到下面两行:
oracle.sysman.eml.mntr.emdRepPwd= ...
oracle.sysman.eml.mntr.emdRepPwdEncrypted=TRUE
OMS启动时,会将SYSMAN用户的口令加密后且存放在这个
文件. 因此,我们需要将它解密,并且重新设置密码.
oracle.sysman.eml.mntr.emdRepPwd= mybmw745i
oracle.sysman.eml.mntr.emdRepPwdEncrypted=FALSE
Step 3: 修改targets.xml文件
在下面的两个目录都会发现这个文件:
D:/ORACLE11G/product/11.1.0/db_1/sysman/emd
ORACLE11G/product/11.1.0/db_1/DW-6_DCAPP/sysman/emd
显然,我们应该修改后一个文件. 因为agent会检测目标主机上
所有的target,并且将信息存入这个文件.
打开这个文件,找到下面的部分:
<Property NAME="UserName" VALUE="xxx" ENCRYPTED="TRUE"/>
<Property NAME="password" VALUE="xxx" ENCRYPTED="TRUE"/>
修改成:
<Property NAME="UserName" VALUE="SYSMAN" ENCRYPTED="FALSE"/>
<Property NAME="password" VALUE="mybmw745i" ENCRYPTED="FALSE"/>
Step 4: 重新启动OracleDBConsoleDCAPP 和OracleOraDb11g_home1TNSListener
说明
1. 如果 dbsnmp的密码也做了修改,同样需要修改上面提到的两个配置文件;
2. 直接运行emca这个命令行脚本也能完成修改.