<< 返回文章列表

如何手工配置DBControl

2019年9月9日
盖国强
728


摘要:手工配置DBControl和启动DBConsole服务


手工配置DBControl



如果在创建数据库时没有选择DBcontrol,或者之后修改过数据库信息,使得原有的DBcontrol失效,则可以通过emca创建、修改、重建或者删除DBcontrol的配置。

在Windows命令行下,键入emca  -h命令,则可以看到相关的提示信息:
C:\>emca -h
C:\oracle\10.2.0\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 和中心代理管理
……


现在通过手工方式来配置dbcontrol:

C:\>emca -repos create

 
EMCA 开始于 2007-1-25 11:01:41
EM Configuration Assistant 10.2.0.1.0 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。
 
输入以下信息:
数据库 SID: eygle
监听程序端口号: 1521
SYS 用户的口令:
SYSMAN 用户的口令:
 
是否继续? [yes(Y)/no(N)]: y
2007-1-25 11:01:56 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到
 C:\oracle\10.2.0\cfgtoollogs\emca\eygle\emca_2007-01-25_11-01-41-上午.log。
2007-1-25 11:01:57 oracle.sysman.emcp.EMReposConfig createRepository
信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)...
2007-1-25 11:06:16 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功创建资料档案库
已成功完成 Enterprise Manager 的配置
EMCA 结束于 2007-1-25 11:06:16


更详细的日志可以在$ORACLE_HOME/cfgtoollogs/emca目录下找到。

启动EM可以在命令行键入“emctl start dbconsole”命令。由于EM需要J2EE环境支持,正常创建之后,在$ORACLE_HOME目录下将会建立一个类似

$ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_<hostname>_<sid>的目录,如果该目录结构不存在,则EM将无法启动:
C:\>set ORACLE_SID=eygle
C:\>emctl start dbconsole
OC4J Configuration issue. C:\oracle\10.2.0/oc4j/j2ee/OC4J_DBConsole_gqgai_eygle not found.


注意到以上目录结构和主机名称有关,如果服务器修改过主机名称(有时候与IP地址相关)等信息,则EM可能无法启动,此时就需要重新配置EM。

如果已经创建过了档案库,则需要指定recreate参数,注意不要再繁忙时段执行重建操作,其密集的SQL可能会引发数据库竞争。重建在命令行输入如下命令即可:

C:\>emca -config dbcontrol db -repos recreate
EMCA 开始于 2007-1-25 11:18:00
EM Configuration Assistant 10.2.0.1.0 正式版
版权所有 (c) 2003, 2005, Oracle。保留所有权利。
 
输入以下信息:
数据库 SID: eygle
监听程序端口号: 1521
SYS 用户的口令:
DBSNMP 用户的口令:
SYSMAN 用户的口令:
SYSMAN 用户的口令: 通知的电子邮件地址 (可选): eygle@eygle.com
通知的发件 (SMTP) 服务器 (可选): smtp.hurray.com.cn
-----------------------------------------------------------------
已指定以下设置
数据库 ORACLE_HOME ................ C:\oracle\10.2.0
数据库主机名 ................ gqgai
监听程序端口号 ................ 1521
数据库 SID ................ eygle
通知的电子邮件地址 ............... eygle@eygle.com
通知的发件 (SMTP) 服务器 ............... smtp.hurray.com.cn
-----------------------------------------------------------------
是否继续? [yes(Y)/no(N)]: y
2007-1-25 11:18:48 oracle.sysman.emcp.EMConfig perform
信息: 正在将此操作记录到
C:\oracle\10.2.0\cfgtoollogs\emca\eygle\emca_2007-01-25_11-18-00-上午.log。
2007-1-25 11:18:50 oracle.sysman.emcp.EMReposConfig dropRepository
信息: 正在删除 EM 资料档案库 (此操作可能需要一段时间)...
2007-1-25 11:20:25 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功删除资料档案库
2007-1-25 11:20:25 oracle.sysman.emcp.EMReposConfig createRepository
信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)...
2007-1-25 11:23:53 oracle.sysman.emcp.EMReposConfig invoke
信息: 已成功创建资料档案库
2007-1-25 11:24:00 oracle.sysman.emcp.ParamsManager getLocalListener
警告: 检索 gqgai 的监听程序时出错
2007-1-25 11:24:02 oracle.sysman.emcp.util.DBControlUtil startOMS
信息: 正在启动 Database Control (此操作可能需要一段时间)...
2007-1-25 11:24:52 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: 已成功启动 Database Control
2007-1-25 11:24:53 oracle.sysman.emcp.EMDBPostConfig performConfiguration
警告: 无法创建 Database Control 快捷方式
2007-1-25 11:24:53 oracle.sysman.emcp.EMDBPostConfig performConfiguration
信息: >>>>>>>>>>> Database Control URL 为 http://gqgai:1158/em <<<<<<<<<<<
已成功完成 Enterprise Manager 的配置
EMCA 结束于 2007-1-25 11:24:53


执行成功之后,Oracle主要创建的相关目录有2个,分别是:
 · ¡ $ORACLE_HOME/oc4j/j2ee/OC4J_DBConsole_<hostname>_<sid>
 · ¡ $ORACLE_HOME/<hostname>_<sid>


可以简单看一下这两个目录的结构,如图2-10所示。

目录结构

图2-10  目录结构

这一系列的操作完成之后,DBConsole就可以正常启动了,在Windows上的服务中,一个相关的服务(这里是OracleDBConsoleeygle)会随之自动创建,如图2-11所示。

自动创建的服务

图2-11  自动创建的服务

通过服务或者命令行工具emctl都可以启动或停止console服务。

以上的步骤实际上是重复了第1章中创建数据库执行的最后一条命令:

host C:\oracle\10.2.0\bin\emca.bat -config dbcontrol db -silent -DB_UNIQUE_NAME eygle -PORT 1521 -EM_HOME C:\oracle\10.2.0 -LISTENER LISTENER -SERVICE_NAME eygle -SYS_PWD &&sysPassword -SID eygle -ORACLE_HOME C:\oracle\10.2.0 -DBSNMP_PWD &&dbsnmpPassword -HOST gqgai -LISTENER_OH C:\oracle\10.2.0 -LOG_FILE C:\oracle\admin\eygle\scripts\emConfig.log -SYSMAN_PWD &&sysmanPassword;


启停DBConsole服务



在Windows系统上,可以通过服务来启停DBConsole,也可以通过命令行工具emctl来控制DBConsole的启停。

启动过程如下:

C:\>emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://gqgai:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ...
OracleDBConsoleeygle 服务正在启动 ................
OracleDBConsoleeygle 服务已经启动成功。


关闭服务使用如下命令:

C:\>emctl stop dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
http://gqgai:1158/em/console/aboutApplication
OracleDBConsoleeygle 服务正在停止...............
OracleDBConsoleeygle 服务已成功停止。


emctl工具在Windows/Linux/UNIX下的用法是一致的,其本质是通过脚本执行一系列的命令来启动EM,具体内容可以直接打开emctl文件查看,在Windows系统上是一个批处理文件,在其他平台一般是一个Shell脚本:

C:\>which emctl
C:\oracle\10.2.0\bin/emctl.bat