重新配置Oracle企业管理工具 Orcale Enterprise Manager (OEM)
由于数据库服务器的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地址)