ORACLE提供的OEM受到DBA的喜爱。让我们随时多可以监控数据库,很方便,但是EM也有一些遗憾,如果监控的数据不一样或者端口号不同,就需要从新配置EM。

下面我们就来介绍两种配置EM的方法。

1.dbca

我们在创建数据库时,可以通过图形化界面配置EM:

SQL> select * from v$version where rownum<2;



BANNER

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

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production


[oracle@localhost ~]$ lsb_release -a 

LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch

Distributor ID: EnterpriseEnterpriseServer

Description:    Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)

Release:        5.5

Codename:       Carthage

[oracle@localhost ~]$ dbca



我的数据库已经创建了,在这里只是给大家示范:


下面的EM资料档案库已经创建了:



2.通过命令行的方式创建:

首先查看EM的状态:

[oracle@localhost ~]$ emca  status

/u01/app/oracle/product/11.2.0/dbhome_1/bin/emca [操作] [模式] [数据库类型] [标记] [参数]



-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] [参数]: 取消配置 Database Control

-deconfig centralAgent (db | asm) [-cluster] [ -silent] [参数]: 取消配置中心代理管理

-deconfig all db [-repos drop] [-cluster] [-silent] [参数]: 取消配置 Database Control 和中心代理管理



-addNode (db | asm) [-silent] [参数]: 配置数据库的新添加节点的 EM



-deleteNode (db | asm) [-silent] [参数]: 取消为数据库 (位于要删除的节点上) 配置 EM



-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 Control 配置的信息



-migrate -from dbcontrol -to centralAgent  [-repos drop] [-cluster] [-silent] [参数]: 将 EM 配置从 Database Control 移植到中心代理



-upgrade (db | asm | db_asm) [-cluster] [-silent] [参数]: 将较低版本的 EM 配置升级到当前版本



-updateTargets crs [-silent] [参数]: 更新 CRS 升级时所有 dbcontrol 和中心代理的新 CRS 主目录



-restore (db | asm | db_asm) [-cluster] [-silent] [参数]: 将当前版本的 EM 配置还原到较低版本



参数和选项:

[参数]: [ -respFile fileName ] [ -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: 配置数据库的自动备份



单实例数据库的参数

        ORACLE_HOSTNAME: 本地主机名

        SID: 数据库 SID

        PORT: 监听程序端口号

        ORACLE_HOME: 数据库 ORACLE_HOME

        LISTENER_OH: 监听程序 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 端口

        EM_SWLIB_STAGE_LOC:  软件库位置

        PORTS_FILE: 用于指定要使用的端口的静态文件的路径 (默认值: ${ORACLE_HOME}/install/staticports.ini)。



集群数据库的其他参数

        CLUSTER_NAME: 集群名

        DB_UNIQUE_NAME: 数据库的唯一名称

        SERVICE_NAME: 服务名

        EM_NODE: Database Control 节点名

        EM_NODE_LIST: 代理节点列表 [以逗号分隔]



Note: For Desktop Class Install always pass parameter ORACLE_HOSTNAME 

      as "localhost" to any emca command



我们通过上面给的提示,我们可以在创建数据库时不配置EM,通过emca来创建:


-config dbcontrol db [-repos (create | recreate)] [-cluster] [-silent] [-backup] [参数]: 配置数据库的 Database Control

大家看到这一行了吧,创建em命令:emca  -config dbcontrol db create 

ORACLE的em本身就是一本学课,内容很多,在这里只是说明配置em的方法。



整理了一些em配置时的命令:

创建一个EM资料库

emca -repos create

重建一个EM资料库

emca -repos recreate

删除一个EM资料库

emca -repos drop

配置数据库的 Database Control

emca -config dbcontrol db

删除数据库的 Database Control配置

emca -deconfig dbcontrol db

重新配置db control的端口,默认端口在1158

emca -reconfig ports

emca -reconfig ports -dbcontrol_http_port 1160 

emca -reconfig ports -agent_port 3940

先设置ORACLE_SID环境变量后,启动EM console服务 

emctl start dbconsole

先设置ORACLE_SID环境变量后,停止EM console服务

emctl stop dbconsole

先设置ORACLE_SID环境变量后,查看EM console服务的状态

emctl status dbconsole



配置dbconsole的步骤

emca -repos create

emca -config dbcontrol db

emctl start dbconsole

重新配置dbconsole的步骤

emca -repos drop

emca -repos create

emca -config dbcontrol db

emctl start dbconsole



此时我们启动数据库控制台服务:


[oracle@localhost ~]$ emctl start dbconsole;

Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0 

Copyright (c) 1996, 2009 Oracle Corporation.  All rights reserved.

https://localhost:1158/em/console/aboutApplication

Starting Oracle Enterprise Manager 11g Database Control .................................


启动监听,登陆到em:

https://localhost:1158/em/

em其实可以理解是图形化的视图的一个大集合,视图上所能查到的,用sql都可以实现,只是em封装了,以图形化的方式展现出来,更加直观方便。

实际生产中不建议启动控制台服务,很占资源。

我们在登陆em时,有时候登不上去,可能是防火墙的问题(关闭防火墙,或者在网络里添加配置时的端口号,我用的是默认端口1521),也可能需要在浏览器安全项的安全例外里添加https://localhost:1158/em/

em的学习会让你多一门强大的诊断数据库的工具。


Stay Hungry. Stay Foolish.