由於資料庫伺服器的IP變更等問題,需要重建OEM,針對oracle 10g的基本過程。
首先要知道執行個體名、連接埠,SYS的口令,然後進行以下步驟:
1.更改DBSNMP的口令,清除舊的配置相關角色、使用者和同義字
2.使用ecma命令重建配置資訊(emca -config dbcontrol db -repos recreate)
3.檢查EM運行情況(emctl status dbconsole)
4.通過新的em地址訪問管理頁面
控制台的互動過程如下(黑體是注釋):
Microsoft Windows XP [版本 5.1.2600]
(C) 著作權 1985-2001 Microsoft Corp.
C:\Documents and Settings\Administrator>sqlplus /nolog #執行SQLPlus
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 4月 26 12:21:24 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn /as sysdba #以sysdba身份串連,或者用 conn SYS/口令 as sysdba
已串連。
SQL> select INSTANCE_NAME from v$instance; #獲得執行個體名,此例為orcl
INSTANCE_NAME
----------------
orcl
SQL> alter user dbsnmp identified by xxx; #更改DBSNMP使用者口令為xxx
使用者已更改。
SQL> drop role mgmt_user; #刪除舊的em配置的角色、使用者等資訊
角色已刪除。
SQL> drop user mgmt_view cascade;
使用者已刪除。
SQL> drop user sysman cascade;
使用者已刪除。
SQL> drop PUBLIC SYNONYM MGMT_TARGET_BLACKOUTS;
同義字已刪除。
SQL> drop public synonym SETEMVIEWUSERCONTEXT;
同義字已刪除。
SQL> exit
從 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 斷開
C:\Documents and Settings\Administrator>emca #查看emca指令的協助
C:\oracle\product\10.2.0\db_1\bin\emca.bat [操作] [模式] [資料庫類型] [標記] [參
數]
-h | --h | -help | --help: 列印此協助訊息
-version: 列印版本
-config dbcontrol db [-repos (create | recreate)] [-cluster] [-silent] [-backup]
[參數]: 設定資料庫的 Database Control
-config centralAgent (db | asm) [-cluster] [-silent] [參數]: 配置中心代理管理
-config all db [-repos (create | recreate)] [-cluster] [-silent] [-backup] [參數
]: 配置 Database Control 和中心代理管理
-deconfig dbcontrol db [-repos drop] [-cluster] [-silent] [參數]: 取消配置 Datab
ase Control
-deconfig centralAgent (db | asm) [-cluster] [ -silent] [參數]: 取消配置中心代理
管理
-deconfig all db [-repos drop] [-cluster] [-silent] [參數]: 取消配置 Database Co
ntrol 和中心代理管理
-addInst (db | asm) [-silent] [參數]: 為新的 RAC 執行個體配置 EM
-deleteInst (db | asm) [-silent] [參數]: 取消為指定的 RAC 執行個體配置 EM
-reconfig ports [-cluster] [參數]: 重新明確分配 Database Control 連接埠
-reconfig dbcontrol -cluster [-silent] [參數]: 重新設定 RAC Database Control 部
署
-displayConfig dbcontrol -cluster [-silent] [參數]: 顯示有關 RAC Database Contro
l 配置的資訊
-upgrade (db | asm | db_asm) [-cluster] [-silent] [參數]: 將較低版本的 EM 配置升
級到目前的版本
-restore (db | asm | db_asm) [-cluster] [-silent] [參數]: 將目前的版本的 EM 配置複
原到較低版本
參數和選項:
[參數]: [ -respFile 檔案名稱 ] [ -paramName paramValue ]*
db: 對資料庫 (包括使用 ASM 的資料庫) 執行配置操作
asm: 僅對 ASM 執行個體執行配置操作
db_asm: 對資料庫和 ASM 執行個體執行升級/複原操作
-repos create: 建立新的 Database Control 資料檔案庫
-repos drop: 刪除當前的 Database Control 資料檔案庫
-repos recreate: 刪除當前的 Database Control 資料檔案庫並重新建立一個
-cluster: 對 RAC 資料庫執行配置操作
-silent: 在不提示參數的情況下執行配置操作
-backup: 設定資料庫的自動備份
單一實例資料庫的參數
HOST: 資料庫主機名稱
SID: 資料庫 SID
PORT: 監聽程式連接埠號碼
ORACLE_HOME: 資料庫 ORACLE_HOME
HOST_USER: 自動備份的主機使用者名稱
HOST_USER_PWD: 自動備份的主機使用者口令
BACKUP_SCHEDULE: 自動備份調度 (HH:MM)
EMAIL_ADDRESS: 通知的電子郵件地址
MAIL_SERVER_NAME: 通知的發件 (SMTP) 伺服器
ASM_OH: ASM ORACLE_HOME
ASM_SID: ASM SID
ASM_PORT: ASM 連接埠
ASM_USER_ROLE: ASM 使用者角色
ASM_USER_NAME: ASM 使用者名稱
ASM_USER_PWD: ASM 使用者口令
SRC_OH: 要升級的資料庫的 ORACLE_HOME
DBSNMP_PWD: DBSNMP 使用者的口令
SYSMAN_PWD: SYSMAN 使用者的口令
SYS_PWD: SYS 使用者的口令
DBCONTROL_HTTP_PORT: Database Control HTTP 連接埠
AGENT_PORT: EM 代理連接埠
RMI_PORT: Database Control 的 RMI 連接埠
JMS_PORT: Database Control 的 JMS 連接埠
叢集資料庫的其它參數
CLUSTER_NAME: 叢集名
DB_UNIQUE_NAME: 資料庫的唯一名稱
SERVICE_NAME: 服務名
EM_NODE: Database Control 節點名
EM_SID_LIST: 代理 SID 列表 [以逗號分隔]
C:\Documents and Settings\Administrator>emca -config dbcontrol db -repos recreat
e #重建em配置
EMCA 開始於 2010-4-26 14:32:25
EM Configuration Assistant 10.2.0.1.0 正式版
著作權 (c) 2003, 2005, Oracle。著作權所有,並保留一切權利。
輸入以下資訊:
資料庫 SID: orcl #輸入執行個體名
監聽程式連接埠號碼: 1521 #輸入ORACLE連接埠,Windows下可以通過Tcpview.exe找到正確連接埠,或者通過舊的設定檔
SYS 使用者的口令: #輸入SYS口令
DBSNMP 使用者的口令: #輸入剛才改過的DBSNMP口令,本例是 xxx
SYSMAN 使用者的口令: #為SYSMAN設定新的口令,比如 xxx
通知的電子郵件地址 (可選): #直接斷行符號跳過
通知的發件 (SMTP) 伺服器 (可選):
-----------------------------------------------------------------
已指定以下設定
資料庫 ORACLE_HOME ................ C:\oracle\product\10.2.0\db_1
資料庫主機名稱 ................ PC-20100401BTXZ
監聽程式連接埠號碼 ................ 1521
資料庫 SID ................ orcl
通知的電子郵件地址 ...............
通知的發件 (SMTP) 伺服器 ...............
-----------------------------------------------------------------
是否繼續? [yes(Y)/no(N)]: y #輸入y繼續
2010-4-26 14:33:24 oracle.sysman.emcp.EMConfig perform
資訊: 正在將此操作記錄到 C:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\orcl\emc
a_2010-04-26_02-32-25-下午.log。
2010-4-26 14:33:29 oracle.sysman.emcp.EMReposConfig dropRepository
資訊: 正在刪除 EM 資料檔案庫 (此操作可能需要一段時間)...
2010-4-26 14:33:32 oracle.sysman.emcp.EMReposConfig invoke
資訊: 已成功刪除資料檔案庫
2010-4-26 14:33:33 oracle.sysman.emcp.EMReposConfig createRepository
資訊: 正在建立 EM 資料檔案庫 (此操作可能需要一段時間)...
2010-4-26 14:39:22 oracle.sysman.emcp.EMReposConfig invoke
資訊: 已成功建立資料檔案庫
2010-4-26 14:40:45 oracle.sysman.emcp.util.DBControlUtil startOMS
資訊: 正在啟動 Database Control (此操作可能需要一段時間)...
2010-4-26 14:41:37 oracle.sysman.emcp.EMDBPostConfig performConfiguration
資訊: 已成功啟動 Database Control
2010-4-26 14:41:40 oracle.sysman.emcp.EMDBPostConfig performConfiguration
警告: 無法建立 Database Control 捷徑
2010-4-26 14:41:41 oracle.sysman.emcp.EMDBPostConfig performConfiguration
資訊: >>>>>>>>>>> Database Control URL 為 http://PC-20100401BTXZ:5500/em <<<<<<<
<<<<
已成功完成 Enterprise Manager 的配置 #配置完成,得到新的em地址 http://PC-20100401BTXZ:5500/em
EMCA 結束於 2010-4-26 14:41:41
C:\Documents and Settings\Administrator>emctl status dbconsole #查看em服務運行狀態
Environment variable ORACLE_SID not defined. Please define it. #提示沒有設定ORACLE_SID值
C:\Documents and Settings\Administrator>set oracle_sid=orcl #設定ORACLE_SID值為執行個體名,本例是orcl
C:\Documents and Settings\Administrator>emctl status dbconsole #查看em服務運行狀態
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://PC-20100401BTXZ:5500/em/console/aboutApplication
Oracle Enterprise Manager 10g is running. #正在運行,現在就可以在瀏覽器中輸入新得到的em地址訪問管理器了
------------------------------------------------------------------
Logs are generated in directory C:\oracle\product\10.2.0\db_1/PC-20100401BTXZ_or
cl/sysman/log
C:\Documents and Settings\Administrator>emctl stop dbconsole #能使用此命令停止em服務
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://PC-20100401BTXZ:5500/em/console/aboutApplication
OracleDBConsoleorcl 服務正在停止.......
OracleDBConsoleorcl 服務已成功停止。
C:\Documents and Settings\Administrator>emctl start dbconsole #能使用此命令啟動em服務
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://PC-20100401BTXZ:5500/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ...OracleDBConsoleorcl
服務正在啟動 ...................
OracleDBConsoleorcl 服務已經啟動成功。
C:\Documents and Settings\Administrator>
如果配置錯誤,會看到類似下面的介面:
檢查錄入的配置資訊,重新按照上面步驟重新設定。
另外,關於SYSMAN帳戶鎖定的問題,在我這裡並沒有出現。
可以在SQLPlus下使用這個命令檢查:
SQL> select username,account_status from dba_users;
USERNAME ACCOUNT_STATUS
------------------------------ --------------------------------
MGMT_VIEW OPEN
SYS OPEN
SYSTEM OPEN
DBSNMP OPEN
SYSMAN OPEN
OYI319 OPEN
OUTLN EXPIRED & LOCKED
MDSYS EXPIRED & LOCKED
ORDSYS EXPIRED & LOCKED
EXFSYS EXPIRED & LOCKED
DMSYS EXPIRED & LOCKED
USERNAME ACCOUNT_STATUS
------------------------------ --------------------------------
WMSYS EXPIRED & LOCKED
CTXSYS EXPIRED & LOCKED
ANONYMOUS EXPIRED & LOCKED
XDB EXPIRED & LOCKED
ORDPLUGINS EXPIRED & LOCKED
SI_INFORMTN_SCHEMA EXPIRED & LOCKED
OLAPSYS EXPIRED & LOCKED
SCOTT EXPIRED & LOCKED
TSMSYS EXPIRED & LOCKED
BI EXPIRED & LOCKED
PM EXPIRED & LOCKED
USERNAME ACCOUNT_STATUS
------------------------------ --------------------------------
MDDATA EXPIRED & LOCKED
IX EXPIRED & LOCKED
SH EXPIRED & LOCKED
DIP EXPIRED & LOCKED
OE EXPIRED & LOCKED
HR EXPIRED & LOCKED
已選擇28行。
註:連接埠有的是5500,有的是1158,出現這種情況的原因不清楚,不過在查看資訊的時候仔細看一下連接埠,應該是沒有問題。
http://localhost:1158/em/ (localhost在本地可以改為電腦名稱或IP地址)