博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【翻译自mos文章】改变数据库用户sysman(该用户是DB Control Repository 的schema)password的方法...
阅读量:6671 次
发布时间:2019-06-25

本文共 4460 字,大约阅读时间需要 14 分钟。

改变数据库用户sysman(该用户是DB Control Repository 的schema)password的方法

參考原文:

How To Change the Password of the Database User Sysman (DB Control Repository Schema) (Doc ID 259379.1)

适用于:

Enterprise Manager for Oracle Database - Version 10.1.0.2 to 11.2.0.3 [Release 10.1 to 11.2]
Enterprise Manager for Oracle Database - Version 11.2.0.4 to 11.2.0.4 [Release 11.2]
Information in this document applies to any platform.

目的:
sysman的口令被加密存放在多个地方,因此。the Database Control (OMS and Agent)能够在不须要sysmanpassword的情况下能够訪问database。
所以,当改动sysman口令的时候,新口令必须提供给the Database Control OMS and Agent.

假设新口令没有更新给the Database Control OMS and Agent, oms将不能訪问数据库,而且在trace file中。你会注意到以下的错误:

2012-05-31 13:50:13,513 [PAFStartupThread] ERROR conn.ConnectionService verifyRepositoryEx.891 - Invalid Connection Pool. ERROR = ORA-01017: invalid username/password;
logon denied2012-05-31 13:50:20,717 [HTTPThreadGroup-4] ERROR conn.ConnectionService verifyRepositoryEx.891 - Invalid Connection Pool. ERROR = ORA-28000: the account is locked
2012-05-31 13:50:20,764 [HTTPThreadGroup-2] ERROR eml.OMSHandshake processFailure.806 - OMSHandshake failed.
(AGENT URL = = INTERNAL_ERROR)(CAUSE =java.sql.SQLException: ORA-01017: invalid username/password; logon denied

本文解释了在不断开Database 与 Database Control的情况下,改动数据库用户sysmanpassword的方法。

注意:Enterprise Manager 10g 已经进入扩展支持。oracle强烈建议升级你的环境到Enterprise Manager 11g or 12c。

Enterprise Manager 11g or 12c 如今是处于premier Support(翻译成:首先支持?)

范围:

全部使用Enterprise Manager DB Control 10g or 11g的数据库管理员。

细节:

注意:安装在 Windows 2008 / Vista上的 DB Control Release 10.2.0.3 及其更高版本号,emctl 命令可能会失败,错误是"Permission Denied".该错误的解决方法,请见以下的文章:
Document 1164293.1 - Executing Any EMCTL Command on Windows 2008 / Vista Returns "Permission denied" Error

第一种情况:Database Release prior 10.2.0.4

 sysman 这个用户是 the standalone repository of the Enterprise Manager DB Control 的  schema

 
 为了确保你是在正确的数据库中改动了sysman口令,请检查环境变量ORACLE_SID是否被设置,环境变量 ORACLE_HOME 是否被设置,PATH是否包含 正确的  $ORACLE_HOME/bin
 
 请改动sysman口令时严格遵守例如以下的步骤。否则。你的DB Control 将会执行异常。

 1.停止 DB Control
  On Unix
  $ emctl stop dbconsole
 
  On Windows 
  Stop the Windows Service OracleDBConsole
  Or
  Open a Command Window and type
  C> emctl stop dbconsole
 
  2.确认DB Control 已经被停止:
  On Unix
  $ emctl status dbconsole
 
  On Windows
  Check the status of the Windows Service OracleDBConsole
  Or
  Open a DOS Command Window and type
  C> emctl status dbconsole
 
3. 使用dba 权限登陆sqlplus。运行例如以下的语句:
SQL> alter user sysman identified by <password> ;
样例:
SQL> alter user sysman identified by rainbow ;

4.检查新password是否能登陆到db中

SQL> connect sysman/[@database_alias]
Example:
SQL> connect

5.到$ORACLE_HOME/host_sid/sysman/config中

   5.1 将emoms.properties 文件做一个备份emoms.properties.orig
   5.2 编辑emoms.properties文件:
      5.2.1 查找以以下内容开头的行:
            oracle.sysman.eml.mntr.emdRepPwd=
            以新password(额外注:明文不带;号)替换掉加密后的值。
            样例:oracle.sysman.eml.mntr.emdRepPwd=rainbow
      5.2.2 找以下的行:
            oracle.sysman.eml.mntr.emdRepPwdEncrypted=TRUE
            用FALSE替换TRUE
6.重新启动 DB Control
On Unix
$ emctl start dbconsole

On Windows

Start the Windows Service OracleDBConsole
Or
Open a DOS Command Window and type
C> emctl start dbconsole

7.检查password已经被加密:

  查看$ORACLE_HOME/host_sid/sysman/config/emoms.properties文件
    7.1 搜索以以下开头的行:
      oracle.sysman.eml.mntr.emdRepPwd=
      确认password已经被加密
    7.2 搜索以以下开头的行:
      oracle.sysman.eml.mntr.emdRepPwdEncrypted=
      确认该值是 TRUE

另外一种情况: Database Release beginning 10.2.0.4
 sysman 这个用户是 the standalone repository of the Enterprise Manager DB Control 的  schema
 
 为了确保你是在正确的数据库中改动了sysman口令。请检查环境变量ORACLE_SID是否被设置,
 
 对于 DB Control Release 11.2 以及更高版本号来说,你须要将环境变量ORACLE_UNQNAME设置为数据库參数DB_UNIQUE_NAME 的值
 你必须检查环境变量 ORACLE_HOME 是否被设置,PATH是否包含 正确的  $ORACLE_HOME/bin
 
 请改动sysman口令时严格遵守例如以下的步骤,否则。你的DB Control 将会执行异常。
 
 1.1.Stop the DB Control
    On Unix
    $ emctl stop dbconsole
   
    On Windows
    Stop the Windows Service OracleDBConsole
    Or
    Open a Command Window and type
    C> emctl stop dbconsole

2. 确认 DB Control 已经被停止

   On Unix  
   $ emctl status dbconsole
  
   On Windows
   Check the status of the Windows Service OracleDBConsole
   Or
   Open a DOS Command Window and type
   C> emctl status dbconsole

3. 使用dba 权限登陆sqlplus,运行例如以下的语句:

   SQL> alter user sysman identified by <password> ;
4. 确认新password:
   SQL> connect sysman/[@database_alias]
5. 在database directory $ORACLE_HOME/bin文件夹中,运行:
   On Unix
   $ emctl setpasswd dbconsole  
   Provide the new SYSMAN password
     
   On Windows  
   C>: emctl setpasswd dbconsole
   Provide the new SYSMAN password

6.重新启动DB Control

  On Unix
  $ emctl start dbconsole
 
  On Windows
  Start the Windows Service OracleDBConsole
  Or
  Open a DOS Command Window and type
  C>: emctl start dbconsole

 

转载地址:http://floxo.baihongyu.com/

你可能感兴趣的文章
HtmlAgilityPack
查看>>
电子政务信息交换平台与数据中心的构建(转)
查看>>
Pytorch实现UNet例子学习
查看>>
转载:Objective-C中的 instancetype 和 id 关键字
查看>>
【Linux】Ubuntu 代理配置
查看>>
iphone 存图片和视频到iPhone相册
查看>>
FZU 2158 数字密码
查看>>
一个服务器的Apache2.4.6配置多个域名
查看>>
正则表达式学习
查看>>
django中间件
查看>>
MyEclipse启动失败
查看>>
embedLibaray框架简介(一)
查看>>
C#将CAD数据转成shape或mdb的代码
查看>>
MVC的BundleConfig类
查看>>
p1229
查看>>
python_code_418
查看>>
python 多线程与GIL
查看>>
Executor多线程框架使用
查看>>
TFS安装与管理
查看>>
[WorldWind学习]15.模型加载
查看>>