OEM无法登陆原因与ORACLE用户密码过期和锁定的解决办法(附上系统用户默认密码)

来源:互联网 发布:java如何防止恶意注册 编辑:程序博客网 时间:2024/05/21 10:01

  今天登陆OEM的时候发现无法登陆,提示信息为database is down,但ORACLE是正常状态,OEM也正常启动,经过检查发现OEM用户“sysman”与”dbsnmp“的密码过期,重新修改密码,并修改OEM配置文件后,重启OEM恢复正常。

  以下是恢复步骤:

         1.查看用户密码状态:

            SQL> select * from dba_users;

            发现用户“sysman”与”dbsnmp“的状态皆为“EXPIRED”。

 

         2.重新修改密码:

            SQL> alter user sysman identified by xxxxx;

            SQL> alter user dbsnmp identified by xxxxx;

            锁定状态修改:

            SQL> alter user sysman account unlock;

            SQL> alter user dbsnmp account unlock;

 

 

         3.确认密码被正确修改:

            SQL> conn sysman/xxxxx; 

            Connected.

            SQL> conn dbsnmp/xxxxx;

            Connected.

            

 

         4.修改配置文件:

            (sysman用户)

            切换$ORACLE_HOME/(HOSTNAME)_(SID)/sysman/config目录下

 

            a.备份emoms.properties:

              $ cp emoms.properties emoms.properties.bak

 

            b.修改文件emoms.properties:

               $ vi emoms.properties

               找到oracle.sysman.eml.mntr.emdRepPwd=把等于后的加密字串替换成刚才更改的密码xxxxx;

               找到oracle.sysman.eml.mntr.emdRepPwdEncrypted=TRUE 把TRUE换成FALSE。

 

            (dbsnmp用户)

            切换$ORACLE_HOME/(HOSTNAME)_(SID)/sysman/emd目录下

 

            a.备份targets.xml:

              $ cp targets.xml targets.xml.bak

 

            b.修改文件targets.xml:

               $ vi targets.xml
               修改下列代码中:
               <Property NAME="UserName" VALUE="6f5848a4f53a2d0a" ENCRYPTED="TRUE"/>
               <Property NAME="password" VALUE="829e1a25401de489" ENCRYPTED="TRUE"/>
               用新的dbsnmp的密码代替上列password的Value值,ENCRYPTED的值修改成FALSE。

        5、重启dbconsole,访问OEM恢复正常
              $ emctl start dbconsole

 

  下面附上ORACLE系统用户的默认密码,和一些密码相关的系统参数,可用于取消过期和错误锁定等特性。

  1.系统用户初始密码:

        用户名 / 密码                      登录身份                               说明
 
  sys/change_on_install           SYSDBA 或 SYSOPER           不能以 NORMAL 登录,可作为默认的系统管理员
 
  system/manager                    SYSDBA 或 NORMAL            不能以 SYSOPER 登录,可作为默认的系统管理员
 
  sysman/oem_temp                SYSMAN                                 为EM的用户名
 
  scott/tiger                               NORMAL                                 普通用户
 
  aqadm /aqadm                      SYSDBA 或 NORMAL              高级队列管理员
  
  dbsnmp/dbsnmp                   SYSDBA 或 NORMAL              复制管理员

 

  2.查询密码过期天数:

    查看参数当前值

    SQL> select * from dba_profiles where profile='DEFAULT' and resource_name like 'PASSWORD%';

    设置密码永不过期

    SQL> alter profile default limit password_life_time unlimited;

 

  3.密码相关系统参数:

  FAILED_LOGIN_ATTEMPTS
  设定登录到Oracle 数据库时可以失败的次数。一旦某用户尝试登录数据库的达到该值时,该用户的帐户就被锁定,只能由DBA能解锁.
 
  PASSWORD_LIFE_TIME
  设定口令的有效时间(天数),一旦超过这一时间,必须重新设口令。缺省为180天(11g,10gUNLIMITED).
 
  PASSWORD_REUSE_TIME
  许多系统不许用户重新启用过去用过的口令。该资源项设定了一个失效口令要经过多少天,用户才可以重新使用该口令。缺省为UNLIMITED.
 
  PASSWORD_REUSE_MAX
  重新启用一个先前用过的口令前必须对该口令进行重新设置的次数(重复用的次数).
 
  PASSWORD_LOCK_TIME
  设定帐户被锁定的天数(当登录失败达到FAILED_LOGIN_ATTEMPTS时).
 
  PASSWORD_GRACE_TIME
  设定在口令失效前,给予的重新设该口令的宽限天。当口令失效之后回,在登录时会出现警告信息显示该天数。如果没有在宽限天内修改口令,口令将失效.
 
  PASSWORD_VERITY_FUNCTION
  该资源项允许调用一个PL/SQL 来验证口令。Oracle公司已提供该应用 的脚本,但是只要愿意的话,用户可以制定自己的验证脚本。该参数的设定就是PL/SQL函数的名称。

  缺省为NULL.

 

 

 

 

 

 

   
    
 

       

             

 

 

0 0
原创粉丝点击