Oracle10g EM無法連接數據庫實例 & 正確修改DBSnmp和SYSMAN密碼

Oralce數據庫如果採用典型安裝後,自動創建了一個叫做DBSNMP的用戶,該用戶負責運行Oracle系統的智能代理(Intelligent Agent),該用戶的缺省密碼也是“DBSNMP”。
 
Oracle Enterprise Manager 資料檔案庫:
該資料檔案庫是一組表,是在設置 OMS 時創建的。OMS 使用資料檔案庫作爲其永久的後端存儲。如果必要,可使用多個 OMS。多個 OMS 共享一個資料檔案庫並提供可靠性和容錯功能。
節點:
第三層由受管節點組成,其中包含數據庫和其它受管服務等目標。每個節點上都駐留着一個 Oracle 智能代理,它與 OMS 進行通信並執行控制檯和客戶端應用程序所發送的任務。
每個節點只需要一個智能代理。
智能代理是獨立於數據庫、控制檯以及 Management Server 運行的。由於它獨立於其它組件運行,智能代理可以執行如下任務:啓動和關閉數據庫、在系統的另一部分關閉時仍保持運行狀態。智能代理的 ID 是 dbsnmp。




--SYSMAN和DBSNMP跟涉及到Oracle的EM,所以跟其他的用戶修改密碼方式有所區別。下面是這兩個用戶的默認密碼和作用說明:---------------------------------------------------------------------------

DBSNMP

DBSNMP

The account used by the Management Agent component of Oracle Enterprise Manager to monitor and manage the database .

Oracle Enterprise Manager Grid Control Installation and Basic Configuration.

SYSMAN
CHANGE_ON_INSTALL

The account used to perform Oracle Enterprise Manager database administration tasks. Note that SYS and SYSTEM can also perform these tasks.

Oracle Enterprise Manager Grid Control Installation and Basic Configuration

---------------------------------------------------------------------------------

錯誤修改可能造成的問題

如果像修改其它用戶的方式修改其密碼的話,登陸em,可能出現如下狀態:

(1)提示Enterprise Manager 無法連接到數據庫實例

(2)數據庫實例,是紅色向下的箭頭

(3)到數據庫的實例鏈接,是紅色向下的箭頭

(4)監聽,綠色向上的箭頭

(5)檢查SYSMAN用戶,處於鎖定狀態,使用解鎖命令,又會自動鎖定。

但是數據庫其它一起正常。

正確的修改方式

1、SYSMAN密碼修改

1、 停止dbconsole

[oracle@xxx ~]$ emctl stop dbconsole

查看狀態,確認dbconsole已經停止

[oracle@xxx ~]$ emctl status dbconsole

2、修改sysman用戶的密碼

[oracle@xxx ~]$ sqlplus / as sysdba

SQL> alter user sysman identified by yyyy;

解鎖用戶

SQL> alter user sysman account unlock;

確認密碼已修改

SQL> conn sysman/ yyyy @qqq

Connected.

3、轉到$ORACLE_HOME/(host)_(sid)/sysman/config目錄下

a. 把emoms.properties另存爲emoms.properties.old

b. 修改emoms.properties文件

找到oracle.sysman.eml.mntr.emdRepPwd=把等於後的加密字串替換成剛纔更改的密碼yyyy;

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

4、重啓dbconsole,訪問EM恢復正常

[oracle@xxx ~]$emctl start dbconsole

2、修改DBSNMP密碼

2、DBSNMP 密碼修改

修改的流程類似修改SYSMAN,只不過第3步如下:

轉到$ORACLE_HOME/(host)_(sid)/sysman/emd目錄下

[oracle@xxx ~]$ cp targets.xml targets.xml.bak

[oracle@xxx ~]$vi targets.xml

修改些列代碼中:

<Property NAME="UserName" VALUE="6f5848a4f53a2d0a" ENCRYPTED="TRUE"/>

<Property NAME="password" VALUE="829e1a25401de489" ENCRYPTED="TRUE"/>

用新的dbsnmp的密碼代替上列password的Value值,ENCRYPTED的值修改成FALSE。

參考

[1] 正確修改DBSNMP和SYSMAN密碼, http://asmboy001.blog.51cto.com/340398/133720


----------------------------------------------------------------------------------------------------------


進行10g 的EM配置時,遇到的問題及解決方法:
[oracle@myoracle admin]$ emca -repos create
STARTED EMCA at Dec 17, 2009 11:51:53 AM
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle.  All rights reserved.
Enter the following information:
Database SID: clonedb
Listener port number: 1521
Password for SYS user:  
Password for SYSMAN user: 
Do you wish to continue? [yes(Y)/no(N)]: y
Dec 17, 2009 11:52:02 AM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /u01/oracle/cfgtoollogs/emca/clonedb/emca_2009-12-17_11-51-52-AM.log.
Dec 17, 2009 11:52:02 AM oracle.sysman.emcp.EMReposConfig createRepository
INFO: Creating the EM repository (this may take a while) ...
Dec 17, 2009 11:52:02 AM oracle.sysman.emcp.EMReposConfig invoke
SEVERE: Error creating the repository
Dec 17, 2009 11:52:02 AM oracle.sysman.emcp.EMReposConfig invoke
INFO: Refer to the log file at /u01/oracle/cfgtoollogs/emca/clonedb/emca_repos_create_<date>.log for more details.--提示錯誤
Dec 17, 2009 11:52:02 AM oracle.sysman.emcp.EMConfig perform
SEVERE: Error creating the repository
Refer to the log file at /u01/oracle/cfgtoollogs/emca/clonedb/emca_2009-12-17_11-51-52-AM.log for more details.
Could not complete the configuration. Refer to the log file at /u01/oracle/cfgtoollogs/emca/clonedb/emca_2009-12-17_11-51-52-AM.log for more details.

[oracle@myoracle clonedb]$ cat emca_repos_create_2009-12-17_12-08-35-PM.log   --查看錯誤信息
Check if repos user already exists.
old   6:    WHERE username=UPPER('&EM_REPOS_USER');
new   6:    WHERE username=UPPER('SYSMAN');
old   8:   IF ( '&EM_CHECK_TYPE' = 'EXISTS') THEN
new   8:   IF ( 'NOT_EXISTS' = 'EXISTS') THEN
old  11:       raise_application_error(-20000, '&EM_REPOS_USER does not exists..');
new  11:       raise_application_error(-20000, 'SYSMAN does not exists..');
old  14:   ELSIF ( '&EM_CHECK_TYPE' = 'NOT_EXISTS' ) THEN
new  14:   ELSIF ( 'NOT_EXISTS' = 'NOT_EXISTS' ) THEN
old  17:       raise_application_error(-20001, '&EM_REPOS_USER already exists..');
new  17:       raise_application_error(-20001, 'SYSMAN already exists..');
old  21:       raise_application_error(-20002, 'Invalid Check type &EM_CHECK_TYPE');
new  21:       raise_application_error(-20002, 'Invalid Check type NOT_EXISTS');
DECLARE
*
ERROR at line 1:
ORA-20001: SYSMAN already exists..                                           --提示SYSMAN用戶存在
ORA-06512: at line 17

SQL> drop user sysman cascade;                                               --刪除用戶及相關權限
SQL> drop role MGMT_USER; 
SQL> drop user MGMT_VIEW cascade;
SQL> drop public synonym MGMT_TARGET_BLACKOUTS;
SQL> drop public synonym SETEMVIEWUSERCONTEXT;
[oracle@myoracle admin]$ emca -repos create                               
STARTED EMCA at Dec 17, 2009 12:21:44 PM
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle.  All rights reserved.
Enter the following information:
Database SID: clonedb
Listener port number: 1521
Password for SYS user:  
Password for SYSMAN user:  
Password for SYSMAN user:  
Do you wish to continue? [yes(Y)/no(N)]: y
Dec 17, 2009 12:21:53 PM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /u01/oracle/cfgtoollogs/emca/clonedb/emca_2009-12-17_12-21-44-PM.log.
Dec 17, 2009 12:21:54 PM oracle.sysman.emcp.EMReposConfig createRepository
INFO: Creating the EM repository (this may take a while) ...
Dec 17, 2009 12:31:59 PM oracle.sysman.emcp.EMReposConfig invoke
INFO: Repository successfully created
Enterprise Manager configuration completed successfully
FINISHED EMCA at Dec 17, 2009 12:31:59 PM
 
[oracle@myoracle admin]$ vi /etc/hosts                 --原先的hosts IP設置錯誤。
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               localhost.localdomain localhost
192.168.10.180          myoracle
 
[oracle@myoracle ~]$ emca -config dbcontrol db
STARTED EMCA at Dec 17, 2009 12:42:48 PM
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle.  All rights reserved.
Enter the following information:
Database SID: clonedb
Listener port number: 1521
Password for SYS user:  
Password for DBSNMP user:  
Password for SYSMAN user:  
Email address for notifications (optional): 
Outgoing Mail (SMTP) server for notifications (optional): 
-----------------------------------------------------------------
You have specified the following settings
Database ORACLE_HOME ................ /u01/oracle
Database hostname ................ myoracle
Listener port number ................ 1521
Database SID ................ clonedb
Email address for notifications ............... 
Outgoing Mail (SMTP) server for notifications ...............
-----------------------------------------------------------------
Do you wish to continue? [yes(Y)/no(N)]: y
Dec 17, 2009 12:43:02 PM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /u01/oracle/cfgtoollogs/emca/clonedb/emca_2009-12-17_12-42-48-PM.log.
Dec 17, 2009 12:43:26 PM oracle.sysman.emcp.util.DBControlUtil startOMS
INFO: Starting Database Control (this may take a while) ...
Dec 17, 2009 12:45:25 PM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: Database Control started successfully
Dec 17, 2009 12:45:26 PM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: >>>>>>>>>>> The Database Control URL is http://myoracle:1158/em <<<<<<<<<<<
Enterprise Manager configuration completed successfully
FINISHED EMCA at Dec 17, 2009 12:45:26 PM
[oracle@myoracle ~]$ emctl start dbconsole;
TZ set to PRC
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0  
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://myoracle:1158/em/console/aboutApplication
 - An instance of Oracle Enterprise Manager 10g Database Control is already running.

[oracle@myoracle ~]$ emctl status
TZ set to PRC
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0  
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
Invalid arguments
Unknown command option status
Usage:: 
   Oracle Enterprise Manager 10g Database Control commands:
       emctl start| stop| status| setpasswd dbconsole
       emctl secure <options>
       emctl set ssl test|off|on em
       emctl set ldap <host> <port> <user dn> <user pwd> <context dn>
emctl blackout options can be listed by typing "emctl blackout"
emctl config options can be listed by typing "emctl config"
emctl secure options can be listed by typing "emctl secure"
emctl ilint  options can be listed by typing "emctl ilint"
emctl deploy  options can be listed by typing "emctl deploy"

看到的另一個文章的解決辦法:
oldboy 發表於:2007.12.22 20:12
主要描述了在安裝EM時,始終報下面的錯誤的解決辦法:
Enterprise manager configuration failed due to the following error - 
Failed to allocate port(s) int the specified range for the following process(es):
JMS [5540-5559], RMI [5520-5539], Database Control [5500-5519], EM agent [1830-1849]
 
今天在HPUX 11.31上安裝ORACLE 10G 10.2.0.3時,數據庫都配置好了,但EM報錯,通過安裝日誌文件查看,發現以下錯誤:
SEVERE: Failed to allocate port(s) in the specified range(s) for the following process(es): JMS [5540-5559],RMI [5520-5539],Database Control [5500-5519],EM Agent [3938] | [1830-1849]
Refer to the log file at /U01/oracle/product/10.2.0/db_1/cfgtoollogs/emca/si2000/emca_2007-12-22_04-36-47-PM.log for more details.
Dec 22, 2007 4:37:17 PM oracle.sysman.emcp.EMConfig perform
CONFIG: Stack Trace: 
oracle.sysman.emcp.exception.EMConfigException: Failed to allocate port(s) in the specified range(s) for the following process(es): JMS [5540-5559],RMI [5520-5539],Database Control [5500-5519],EM Agent [3938] | [1830-1849]
at oracle.sysman.emcp.EMDBPreConfig.checkPorts(EMDBPreConfig.java:2255)
at oracle.sysman.emcp.EMDBPreConfig.performConfiguration(EMDBPreConfig.java:678)
at oracle.sysman.emcp.EMDBPreConfig.invoke(EMDBPreConfig.java:241)
at oracle.sysman.emcp.EMDBPreConfig.invoke(EMDBPreConfig.java:168)
at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:141)
at oracle.sysman.emcp.EMConfigAssistant.invokeEMCA(EMConfigAssistant.java:485)
at oracle.sysman.emcp.EMConfigAssistant.performConfiguration(EMConfigAssistant.java:1141)
at oracle.sysman.emcp.EMConfigAssistant.statusMain(EMConfigAssistant.java:469)
at oracle.sysman.emcp.EMConfigAssistant.main(EMConfigAssistant.java:418)
經過網上查詢,知道是網絡端口重複了,使用以下方法解決:
emca -config dbcontrol db -DBCONTROL_HTTP_PORT 5508 -AGENT_PORT 3940 -RMI_PORT 5524 -JMS_PORT 5545
再停用一次EM,再啓動EM,就好了.
emctl stop dbconsole
emctl start dbconsole

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章