【转载】OEM配置及使用

1 OEM简介

OEM是采用直观而且方便的图像化界面来控制和管理ORACLE数据库的工具集,它包含大量对DBA有用的工具。在oracle中,数据库管理和操作都

可以使用OEM来完成,如创建用户和角色,权限分配,创建方案对象,进行存储管理等。

1.1 OEM架构

OEM不仅能够管理本地数据库实例,也可以管理网络和RAC环境下数据库实例。无论是管理本地还是网络上的数据库,OEM都通过HTTP/HTTPS访问数据库,它的架构如图下图:
Oracle(OEM与常见故障处理)
在这里插入图片描述
1)Management repository:存储要监控的数据库的管理数据及状态信息。
2)OMS管理服务:监控和管理安装了management agent的数据库,并将获得的管理信息存入management repository。
3)Oracle HTTP Server:内置的apache服务器。
4)OC4J/J2EE:符合J2EE标准的应用服务器。
5)Oracle web cache:用于快速访问web。
6)Management agent:安装在被管理的数据服务器上,用于监控数据库的运行状态,资源使用,信息变更等,将信息转送到OMS,OMS将这些信息存入repository。

1.2 OEM的两个版本

OEM有两个不同的版本,分别是:database control 和grid control。Database control通常用于监控和管理本地单个数据库或者RAC数据库。Grid control则用于管理大规模、复杂的系统环境,它可以管理包括主机、数据库、web服务器、监听器、服务等在内的整个基础设施。
对于database control,通常不用配置任何东西,当使用DBCA或者oracle universal installer创建完数据库后,database control就可以使用了。当然,如果是通过create database语句手工创建的数据库,那么需要通过EMCA(enterprise manager configuration assistant)来配置database control。Grid control则需要和数据库分开安装,安装过程和配置要复杂一些。
Enterprise Manager Database Control 提供了一个基于 Web 的界面,您可以使用这个界面来管理 Oracle 实例和数据库。

2 配置OEM

当通过oracle universal install安装oracle数据库时,如果选择了创建数据库(或者直接通过DBCA创建数据库),会默认安装OEM database control。数据库创建完毕之后会显示OEM的相关信息,database control URL即为OEM的访问地址。

2.1 手动配置

如果通过create database语句手动创建数据库,就需要通过EMCA来配置OEM。EMCA可以设置OEM相关的各个方面,如repository存储区的重建和删除,配置文件的创建和删除等。下面是EMCA常用命令。

  • 创建一个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
123
  • 先设置ORACLE_SID环境变量后,启动EM console服务
    emctl start dbconsole
  • 先设置ORACLE_SID环境变量后,停止EM console服务
    emctl stop dbconsole
  • 先设置ORACLE_SID环境变量后,查看EM console服务的状态
    emctl status dbconsole

2.1.1 配置dbconsole

emca -repos create
emca -config dbcontrol db
emctl start dbconsole
123

2.1.2 重新配置dbconsole

1.清除原有em

emca -deconfig dbcontrol db -repos drop
emca -deconfig all db -repos drop
12

若上述两个指令删除失败,则只能暴力删除

drop user SYSMAN cascade;
drop user MGMT_VIEW cascade;
drop role MGMT_USER;
drop public synonym MGMT_TARGET_BLACKOUTS;
drop public synonym SETEMVIEWUSERCONTEXT;
12345

通常暴力删除EM以后,会报错。

2.配置em

  • 重建资料库
emca -repos recreate
1
  • 重建em
emca -config dbcontrol db(单节点)
emca -config dbcontrol db -cluster(rac)
12
[oracle@nxxxxc samples]$ emca -config dbcontrol db

STARTED EMCA at May 10, 2019 4:54:54 PM
EM Configuration Assistant, Version 11.2.0.3.0 Production
Copyright (c) 2003, 2011, Oracle.  All rights reserved.

Enter the following information:
Database SID: nxx				# 数据库 SID
Listener port number: 1521			# 监听程序端口号
Listener ORACLE_HOME [ /opt/oracle/app/product/11.2.0/dbhome_1 ]:
Password for SYS user:  				# SYS 用户的口令
Password for DBSNMP user:  				# DBSNMP 用户的口令
Password for SYSMAN user:  				# SYSMAN 用户的口令
Email address for notifications (optional):							# SYSMAN 用户的口令: 通知的电子邮件地址 (可选):
Outgoing Mail (SMTP) server for notifications (optional):			# 通知的发件 (SMTP) 服务器 (可选)
-----------------------------------------------------------------

You have specified the following settings							# 已指定以下设置

Database ORACLE_HOME ................ /opt/oracle/app/product/11.2.0/dbhome_1

Local hostname ................ nxxxxc
Listener ORACLE_HOME ................ /opt/oracle/app/product/11.2.0/dbhome_1
Listener port number ................ 1521
Database SID ................ nxx
Email address for notifications ...............
Outgoing Mail (SMTP) server for notifications ...............

-----------------------------------------------------------------
Do you wish to continue? [yes(Y)/no(N)]: y
May 10, 2019 4:55:18 PM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /opt/oracle/app/cfgtoollogs/emca/nxxxxc/emca_2019_05_10_16_54_54.log.
May 10, 2019 4:55:19 PM oracle.sysman.emcp.EMReposConfig uploadConfigDataToRepository
INFO: Uploading configuration data to EM repository (this may take a while) ...
May 10, 2019 4:56:28 PM oracle.sysman.emcp.EMReposConfig invoke
INFO: Uploaded configuration data successfully
May 10, 2019 4:56:28 PM oracle.sysman.emcp.ParamsManager getLocalListener
WARNING: Error retrieving listener for nsfcdc
May 10, 2019 4:56:31 PM oracle.sysman.emcp.util.DBControlUtil secureDBConsole
INFO: Securing Database Control (this may take a while) ...
May 10, 2019 4:56:50 PM oracle.sysman.emcp.util.DBControlUtil secureDBConsole
INFO: Database Control secured successfully.
May 10, 2019 4:56:50 PM oracle.sysman.emcp.util.DBControlUtil startOMS
INFO: Starting Database Control (this may take a while) ...
May 10, 2019 4:57:22 PM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: Database Control started successfully
May 10, 2019 4:57:22 PM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: >>>>>>>>>>> The Database Control URL is https://nsfcdc:1158/em <<<<<<<<<<<
May 10, 2019 4:57:33 PM oracle.sysman.emcp.EMDBPostConfig invoke
WARNING:
************************  WARNING  ************************

Management Repository has been placed in secure mode wherein Enterprise Manager data will be encrypted.  The encryption key has been placed in the file: /opt/oracle/app/product/11.2.0/dbhome_1/nxxxxc_nxxxxc/sysman/config/emkey.ora. Ensure this file is backed up as the encrypted data will become unusable if this file is lost.

***********************************************************
Enterprise Manager configuration completed successfully				# 已成功完成 Enterprise Manager 的配置
FINISHED EMCA at May 10, 2019 4:57:33 PM
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657

3.启动 dbconsole 进程

[oracle@nxxxxc ~]$ emctl start dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.4.0
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
https://nxxxxc:1158/em/console/aboutApplication
- An instance of Oracle Enterprise Manager 11g Database Control is already running.
12345

4.查看 dbconsole 进程的状态
执行emctl status dbconsole命令,可以得到OEM是否运行、OEM的访问地址和日志存放位置。执行结果如下

 [oracle@nxxxxc ~]$ emctl status dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.4.0
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
https://nxxxxc:1158/em/console/aboutApplication
Oracle Enterprise Manager 11g is running.
------------------------------------------------------------------
Logs are generated in directory /opt/oracle/app/product/11.2.0/dbhome_1/nxxxxc_nxxxxc/sysman/log
1234567

2.1.3 配置过程中出现的问题

[oracle@nxxxxc ~]$ emca -repos recreate
# 报错
Some of the possible reasons may be:

1) Listener port 1521 provided is incorrect. Provide the correct port.
2) Listener is not up. Start the Listener.
3) Database service nsfcdc.oracle.docker is not registered with listener. Register the database service.
4) Listener is up on physical host and ORACLE_HOSTNAME environment variable is set to virtual host. Unset ORACLE_HOSTNAME environment variable.
5) Listener is up on virtual host. Set environment variable ORACLE_HOSTNAME=<virtual host>.
6) /etc/hosts does not have correct entry for hostname.
12345678910

解决方法:
1.检查一下$ORACLE_HOME/network/admin/listener.ora里面的端口号是否有正确的设置成1521

2.检查一下 监听器的状态:lsnrctl status 看一下是否正常启动

# 查看监听
[oracle@nxxxxc dbs]$ lsnrctl stat

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 10-MAY-2019 15:05:24

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                05-MAY-2019 13:56:05
Uptime                    5 days 1 hr. 9 min. 18 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /opt/oracle/app/diag/tnslsnr/nxxxxc/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=nsfcdc)(PORT=1521)))
Services Summary...
Service "nxxxxc.oracle.docker" has 1 instance(s).
  Instance "nxxxxc", status READY, has 1 handler(s) for this service...
Service "nxxxxcXDB.oracle.docker" has 1 instance(s).
  Instance "nxxxxc", status READY, has 1 handler(s) for this service...
The command completed successfully
1234567891011121314151617181920212223242526

3.如果监听器中没有注册orcl这个实例的服务的话需要注册一下。

[oracle@nxxxxc dbs]$ sqlplus / as sysdba
SQL> alter system register
12

5.就是说监听器只启动在虚拟主机上,这个要查看你的虚拟主机的ORACLE_HOSTNAME,很有可能是手残一不小心去更改了主机名后导致的错误。

export ORACLE_HOSTNAME= 服务名
1

6.如果你的服务器是自动获取IP地址的,而你在/etc/hosts下设置的ip地址又是设置成某一个值,一旦IP地址变化了以后就会报这个错误。
步骤:

  • ifconfig 查看一下ip地址是多少。
  • vi /etc/hosts
  • 将里面的ip地址更换一下。

7.如果以上方法都没有用的话,如果报错:用户名密码错误,请先创建口令文件:

orapwd file='/opt/oracle/app/product/11.2.0/dbhome_1/dbs/orapwnxx' password=oracle entries=5 force=y;
1

说明:

  • FILE参数指定口令文件存放的全路径及文件名。口令文件的命名也应该遵循Oracle公司指定的规范:orapw,在例子中实例名是nsfcdc
  • PASSWORD指定超级用户SYS的密码
  • ENTRIES为整数,指定最多有多少用户称为超级用户(SYSDBA)
  • FORCE取值为“Y”或者“N”,指定是否强行覆盖已经存在的口令文件

默认密码:

  • system默认:manager
  • sys默认:change_on_install
    使用SQL Plus登录数据库时,system使用密码manager可直接登录。
    但如果是sys用户,密码必须加上as sysdba,即完整密码为:change_on_install as sysdba

2.2 使用DBCA配置OEM

DBCA提供了图形化创建OEM的方式,首先启动DBCA。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样,采用OEM database control管理这个数据库就配置完成,这种方式十分简单,全部通过DBCA可视化完成。

3 进入OEM

安装好ORACLE后,最后一个窗口会提示登录OEM的地址
(如果忘记了,也没有关系;可以到$ORACLE_HOME/11g/install/ 中查看portlist.ini 文件中的HTTP端口,或者看此目录中的readme.txt文件)
登录地址格式为: https://hostname:1158/em (10g 11g 的默认端口是1158)
步骤:
1.以oracle用户登录
2.开启监听:lsnrctl start
3.如果页面还是无法显示,则开启OEM服务:emctl start dbconsole
4.登录OEM
监听和OEM服务都开启,但是https://nxxxxc:1158/em登录不了,显示拒绝访问的解决办法:
用IP地址登录:https://192.xxx.x.162:1158/em
原因是:nxxxxc可能存在重名,但是IP地址是唯一的,所以登录不上可能是网络原因。
在这里插入图片描述

4 使用OEM监控和管理数据库

OEM提供了非常强大的监控和管理功能,下面介绍几种常见操作。
1.使用OEM启动和关闭数据库
首先确定监听已经运行

[oracle@nxxxxc ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 13-MAY-2019 11:12:00

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                10-MAY-2019 15:35:31
Uptime                    2 days 19 hr. 36 min. 28 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /opt/oracle/app/diag/tnslsnr/nxxxxc/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=nsfcdc)(PORT=1521)))
Services Summary...
Service "nxxxxc.oracle.docker" has 1 instance(s).
  Instance "nxxxxc", status READY, has 1 handler(s) for this service...
Service "nxxxxcXDB.oracle.docker" has 1 instance(s).
  Instance "nxxxxc", status READY, has 1 handler(s) for this service...
The command completed successfully
12345678910111213141516171819202122232425

2.查看EM状态

[oracle@nxxxxc ~]$ emctl status dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.4.0 
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
https://nxxxxc:1158/em/console/aboutApplication
Oracle Enterprise Manager 11g is running. 
------------------------------------------------------------------
Logs are generated in directory /opt/oracle/app/product/11.2.0/dbhome_1/nxxxxc_nxxxxc/sysman/log 
1234567

3.访问EM的URL,单击“启动”按钮
在这里插入图片描述
4.进入主界面,单击“启动”,进入下面的界面,填写好了之后单击右上角的“确定”。
在这里插入图片描述
在这里插入图片描述

4.1 主目录

主目录部分呈现了数据库实例的整体状态,它通过图形的形式呈现,而更具体的指标和内容可以单击相应的内容获得。例如:要获得CPU具体情况,可以单击CPU图下面的带下划线的数据。其他情况类似,如下图所示:
在这里插入图片描述
单机监听程序:
在这里插入图片描述
在这里插入图片描述

4.2 性能

性能部分主要提供了主机监控、用户连接监控及i/o性能,还有其他相关的连接选项用于辅助判断。

  • 主机监控
    监控是否存在cpu瓶颈。它呈现了cpu使用率的曲线图,清晰地呈现出不同时段cpu使用率的高低。如果发现某段时间内cpu使用率极高,并且已经出现了性能问题,如终端用户反映应用系统变慢,那么这时就需要分析用户会话,看那些sql正在消耗cpu资源。
    在这里插入图片描述
  • 平均活动会话监控
    这是分析性能问题的关键部分,它呈现了实例中某个时间段内会话正在等待哪些事件,以及哪些会话正在等待那些事件,事件会用不同的颜色表示。
    性能-查看数据-历史(显示7天的)
    在这里插入图片描述
  • 重复的sql:
    显示实例中重复次数较多的sql,开发人员可以使用参数绑定修改这些sql,提高cpu的利用率
    在这里插入图片描述
    在这里插入图片描述

4.3 可用性

可用性部分主要针对备份和恢复的设置和管理,下面将使用OEM进行备份。
在这里插入图片描述
进入备份设置页面:
在这里插入图片描述
在这里插入图片描述
填写主机身份证明,用户名oracle,磁盘的备份采用默认,并行度为Q,最后单击“测试磁盘备份”。如果成功则设置完毕,否则根据提示重新填写。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
单击“备份集”标签,填写备份片大小,压缩算法,单击“确定”完成设置。
在这里插入图片描述
单击“策略”标签,可以对备份策略、保留策略及其他策略进行设置,此处采用默认设置
在这里插入图片描述
设置完毕后,点击“确定”
在这里插入图片描述
备份设置完毕后,需要进行调度备份设置
在这里插入图片描述
填写正确的身份证明,单击“调度定制备份”
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置调度频率,选择“一次(立即)”,单击下一步
在这里插入图片描述
在这里插入图片描述
编辑脚本
在这里插入图片描述
提交作业
在这里插入图片描述
可以查看作业
在这里插入图片描述
调度备份成功后,可以“管理当前备份”
在这里插入图片描述
在这里插入图片描述

4.4 服务器

服务器包括存储、数据库配置、调度、统计、资源、安全、查询优化及更改数据管理功能
在这里插入图片描述

4.4.1 用户管理

该界面以列表形式呈现了表空间的一些关键指标,如已分配大小、已用空间、是否自动扩展、空闲的已分配空间等
在这里插入图片描述

4.4.2 创建表空间

创建用户首先要创建表空间
在这里插入图片描述
添加数据文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
单击“确定”后,表空间创建完毕

4.4.2 创建用户

创建用户,首先进入用户管理界面
在这里插入图片描述
创建用户
在这里插入图片描述
输入相关信息
在这里插入图片描述

点击“角色”,为用户分配角色,单击“编辑列表”
在这里插入图片描述
在这里插入图片描述
点击“确定”,创建用户
在这里插入图片描述

4.5 方案

方案部分主要包括对数据库对象、程序、物化视图、字变更管理、用户自定义类型、XML数据库、工作区管理器及文本管理器的管理
在这里插入图片描述
使用最多的是“表”管理,下面为TEST用户新建一张表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
有一个报错信息,是因为没指定BIRTH列的属性和大小
在这里插入图片描述
查看结果
在这里插入图片描述

4.6 数据移动

数据移动包括移动行数据、移动数据文件、流管理及高级复制功能等。
在这里插入图片描述
下面利用移动行数据的导出功能,导出TEST方案
在这里插入图片描述
角色错误的解决办法,不能以sysdba的角色登录,所以可以更换为system用户登录操作
在这里插入图片描述
重新导出
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
导出文件位置是data_dump_dir目录所在位置
在这里插入图片描述
在这里插入图片描述
查看详细信息
在这里插入图片描述
到所在目录下查看

[oracle@nxxxxc ~]$ cd /opt/oracle/app/admin/nxxxxc/dpdump/
[oracle@nxxxxc dpdump]$ ll
total 12
-rw-r-----. 1 oracle oinstall  116 Oct 19  2018 dp.log
-rw-r-----. 1 oracle oinstall 4096 May 14 09:31 EXPDAT01.DMP
-rw-r--r--. 1 oracle oinstall  191 May 14 09:33 EXPDAT.LOG
123456

4.7 软件和支持

软件和支持部分提供了丰富的软件管理内容,包括软件的配置管理、补丁管理、real application testing和部署过程管理器。
在这里插入图片描述

  • 配置管理
    主机的配置,状态信息及资源使用率信息等。
  • 补丁管理
    可以查看当前的补丁建议,安装补丁的前提要求及应用补丁程序。
  • real application testing
    包括数据库重放和sql性能分析程序。
  • 部署过程管理器
    管理当前已经部署好的过程,包括编辑、查看、运行及监控部署好的过程。

5 小结

虽然OEM是图形化的,看起来比手敲命令要简单的多,但是在实际生产环境中,EM使用的并不多。因为EM 消耗服务器性能,一旦出现资源紧张,EM是第一个启动不来的,因此备份放在上面并不可靠。手敲命令熟练了,还是命令更方便。

posted @ 2021-02-10 17:02  向七岁  阅读(792)  评论(0编辑  收藏  举报