Oracle的EM是EnterpriseManager的缩写,可翻译为Oracle数据库的企业管理器。在Oracle10g以后,可以通过oracle EM使用Web界面来监控,管理,维护Oracle数据库。DBA可以从任何可以访问web应用的位置通过OEM来对数据库行各种管理和监控。
在11g中,OEM分为Grid control和Database control,他们都可以用来做DB的管理。从DB管理的角度,二者最大的差别在于Grid可以监控和集中管理多个数据库,而database control只能管理监控一个数据库,不能用于监控多个数据库,它只在数据库上运行。
(Gridcontrol可以监控整个Oracle生态环境,它具有一个中心存储仓库,用于收集有关多个计算机上的多个目标的数据,并且提供一个界面来显示所有已发现目标的共同信息。)
关于EM Express
在12c中,12c数据库的管理可以通过使用cloud control或者Database Express来实现,12c不再支持database control。EM express是一个非常简化版本Database control,仅提供最基本的数据库管理和性能监控管理。例如如果你想做备份恢复,你只能通过cloud control(EMCC)来做,通过EM Express你可以view数据库的基本参数信息,存储信息,添加数据数据文件,表空间,用户管理等。
在EM express上没有中间件或者中间层,这样保证了它在oracle数据库server上的运行开销非常非常小。它是通过使用oracle的XDB server构建在oracle数据库内部的,具体参考oracle XDB的一些内容。
EM Express的配置
(一)自动配置
在dbca创建数据库的时,默认会选择配置EMX,如果你不想使用EMX,可以在这个时候去掉这个默认的选择。后面再想使用的话也可以手动去配置。EM Express不是安装的,我的理解,就像社区的光纤,已经拉到你家门外了,你可以选择不去使用它,这样你不拉线,不去营业厅申请开通就行。它不是一个独立安装卸载的东西,这点与之前的11g的Database control不同,关于EM Express的管理,也没有专门的命令行命令去控制它的关闭和开启。像之前的比喻,如果你不想使用你把线拉掉就好了。
dbca配置EM Express:dbca创建结束后会显示一个访问EM Express的URL。
dbca配置EM Express
(二)手动配置
手动配置在官方文档上有详细的说明,其实我们一般数据库都是使用1521端口,用不到文档上说明的情况,可以在DB中直接去执行命令配置就ok,下面我简单说下步骤,具体参见官方文档:
–Step1.Configure and start the Oracle Net Listener (the listener). –Step2.init.ora(when the listener is running on a non standard port ) init.ora local_listener=inst1
where inst1 is a TNSNAMES entry defined in tnsnames.ora that points to the listener.
For example :tnsnames.ora inst1= (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host_name)(PORT=1234))(CONNECT_DATA=(SERVICE_NAME=service_name)(SERVER=DEDICATED)))
–Step3. Enable the TCP dispatcher by adding the following entry to the init.ora file for the database you want to manage using EM Express: dispatchers="(PROTOCOL=TCP)(SERVICE=XDB)"
例如:dispatchers="(PROTOCOL=TCP)(SERVICE=ORCLXDB)"For example:
-Step4. Restart the database so that the changes made in the init.ora file take effect. Configure 5500 for EM Express netstat -aon|findstr "5500" --检查确定该端口没有被占用
SQL> show parameter dispatchers;
SQL> exec DBMS_XDB_CONFIG.SETHTTPSPORT(5500);
该操作会更改在oracle XML DB Repossitory中xdbconfig.xml中相关的https端口信息,关于http端口也可以类似设定。
(三)访问EM Express
--访问格式
https://database-hostname:portnumber/em
--查询EM Express的访问端口
SQL>SELECTdbms_xdb_config.gethttpsport FROM DUAL
例:https://mydbhost.example.com:5500/em/
When prompted for your username and password, log in as a user with DBA privilege(such as SYSTEM). EM Express使用Shockwave Flash文件,所以浏览器必须安装flash插件,同时在你访问EM Express的时候监听必须是启动的。
特别注意:要访问的地址的操作系统防火墙是否关闭,或将访问端口添加到防火墙允许访问端口。
关于其访问有两个角色EM_EXPRESS_BASIC(view权限)和 EM_EXPRESS_ALL(all权限) 普通用户赋予以上角色后即可访问EM Express。
(四)关于CDB&PDB上的EM Exprss Oracle 12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。下面是官方文档关于CDB与PDB的关系图。
12c中提出了关于CDB,PDB的概念,
在CDB上配置EMX与前面讲的手动配置EMX的过程是一样,每个continer(root或者pdb)需要配置一个不同端口。
我们采用下面的两种模型:
root:针对整个CDB的data和actions,是整个CDB或实例的一个代理。可以成为一个Container
PDB:针对单一某个pdb的data和actions。也可以成为container
我们会说为某个container配置EM Express,而不是某个CDB或者PDB。
Oracle企业管理器(EM)
1.企业管理器Enterprise Manager Database Control(Oracle 11g) emctl status dbconsole emctl start dbconsole emctl stop dbconsole
使用浏览器连接到Database Control, 注意打开防火墙端口 ,默认端口是1158。 https://hostname:port/em
2.企业管理器Enterprise Manager Database Express(Oracle 12c) 使用EM Express: 打开em: exec dbms_xdb_config.sethttpsport(5500); -- https exec dbms_xdb_config.sethttpport(5505); -- http
关闭em: exec dbms_xdb_config.sethttpsport(0); -- https exec dbms_xdb_config.sethttpport(0); -- http
查看em端口: select dbms_xdb_config.gethttpsport from dual; -- https select dbms_xdb_config.gethttpport from dual; -- http
使用浏览器连接到Database Express: https://hostname:port/em
浏览器应该使用支持html5的高版本的浏览器,如Google Chrome,低版本IE,Firefox似乎不能连接。
3.手动配置Enterprise Manager Database Express端口(Oracle 12c) 如果用dbca创建数据库时没有选择或配置Enterprise Manager Database Express,则需要手动配置EM Express. ·注册监听器 如果监听器listener运行在非标准端口(1521),则初始化参数local_listener需注册正确的监听: select value from v$parameter where name = 'local_listener'; -- LISTENER_SID,名称在tnsnames.ora中配置 alter system set local_listener=inst1;
tnsnames.ora: inst1= (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host_name)(PORT=1234)) (CONNECT_DATA=(SERVICE_NAME=service_name)(SERVER=DEDICATED)))
·配置dispatchers 修改初始化参数dispatchers select value from v$parameter where name = 'dispatchers'; alter system set dispatchers='(PROTOCOL=TCP) (SERVICE=XDB)'; alter system set dispatchers='(PROTOCOL=TCP) (SERVICE=salesXDB)';
·设置EM Express访问端口 non-CDB: exec dbms_xdb_config.sethttpsport(5500);
CDB: alter session set container=CDB$ROOT; exec dbms_xdb_config.sethttpsport(5501);
PDB: alter session set container=PDB1; exec dbms_xdb_config.sethttpsport(5502); ·确认端口是否已注册到监听器 $ lsnrctl status | grep -i 5500
·使用EM Express(non-CDB,CDB,PDB): https://database-hostname:portnumber/em/
1、 如果默认监听端口改变了,则需要设置 local_listener 参数; 如果默认监听端口没有改变,为1521的话,则无需设置。
local_listener=inst1
2、设置容器 CDB$ROOT 的端口
SQL> alter session set container=CDB$ROOT; SQL> exec DBMS_XDB_CONFIG.SETHTTPSPORT(5501);
3、设置 PDB 的端口
SQL> alter session set container=PDB1; SQL> exec DBMS_XDB_CONFIG.SETHTTPSPORT(5502);
4、查看设置的端口是否在监听中生效 [oracle@ATFDB1 ~]$ lsnrctl status|grep 55 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=ATFDB1)(PORT=5501))(Security=(my_wallet_directory=/u01/app/oracle/admin/newdb/xdb_wallet))(Presentation=HTTP)(Session=RAW)) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=ATFDB1)(PORT=5502))(Security=(my_wallet_directory=/u01/app/oracle/admin/newdb/xdb_wallet))(Presentation=HTTP)(Session=RAW))
-
-- 一句话说的很明白:
-
you've probably already got EM Database Express configured. Unlike the DB Control, it runs from inside the database using the XML DB infrastructure,
-
so there are no additional parts to install or executables to start.If your organisation uses Cloud Control, which it should, you will probably never use
-
EM Database Express. If on the other hand you are playing around with the database and want a pretty interface to perform some tasks,
-
the EM Database Express might be your answer
-
--启用:
-
SQL > exec dbms_xdb_config.sethttpsport( 5501 );
-
PL/SQL 过程已成功完成。
-
SQL> exec dbms_xdb_config.sethttpport(5502);
-
PL/SQL 过程已成功完成。
-
如果想 --禁用:
-
SQL> exec dbms_xdb_config.sethttpsport(0);
-
PL/SQL 过程已成功完成。
-
-- 查看
-
SQL> SELECT DBMS_XDB_CONFIG.gethttpport FROM dual;
-
GETHTTPPORT
-
-----------
-
SQL> SELECT DBMS_XDB_CONFIG.gethttpsport FROM dual;
-
GETHTTPSPORT
-
------------
-
5500
数据库安装后如何访问EM express:
执行:lsnrctl status
找到下面类似内容:(DESCRIPTION=(ADDRESS=(PROTOCOL= tcps )(HOST= hostname )(PORT=5500))(Security=.....这部分有对应的sid信息)
则该数据库的EM express的URL为:https://hostname:5500/em
如果红色部分是tcp,就要把https换成http,URL最后不要忘了加上/em,否则会弹出一个“需要验证”的窗口(提示“信息为:XDB”),也会提示输入用户名和密码。
通过数据库查看em端口:
select dbms_xdb_config.gethttpsport() from dual;
select dbms_xdb_config.gethttpport() from dual;
设置em端口:
下面这两个命令执行后,将取消https端口,重新创建一个http端口(端口号为5502)
exec dbms_xdb_config.setHTTPSport(); exec DBMS_XDB_CONFIG.setHTTPPort(5502);
在oracle 12c中,EM也做了很大的改动,单机的EM做了很大的简化,只保留了精简的功能,此外,最为重要的一点,原来在11g中,我们如果要配置em,需要调用外部的emctl这样的命令还进行创建,配置。现在在12c中进行了精简,做到了存储过程即可开启,关闭我们的em,极大的方面了我们的运维成本。
接下来即可通过5501端口访问:http://hostname:5501/em . 以下是登录页面示范:
登录之后的页面非常简洁,解决了之前EM对于简单应用的臃肿冗余问题:
在EM Express中可以实现对以下诸类信息的展现和管理:
在性能监控上,EM Express也提供了非常直观和简洁的纬度展现:
可以看到,常用的功能都有了
ORACLE 12C的Enterprise Manager Database Express 12c相对于11G和10G的Enterprise Manager,从功能上说确实精简了很多,比如不支持在线查看AWR,不支持在线操作不备份,不支持对SCHEDULER的操作等等,减少了功能的同时也大大的降低了其使用难度,不用向以前以前还需要启动dbconsole,需要配置资料库等等一些繁琐的操作,还经常出现一些莫名其妙的问题不得不重建EM。预测几年之后EM Express的使用人说可能会增加(数据库升级到12C是一个因素,有些人毕竟不会购买GC)。在12C的Express版本中,默认情况下只需要在对应的pdb用户下执行如下操作即可启用EM Express •设置http端口 exec DBMS_XDB_CONFIG.SETHTTPPORT(http_port_number);
•设置https端口 exec DBMS_XDB_CONFIG.SETHTTPSPORT(https_port_number);
注意:Each container must use a unique port for EM Express. 而且该操作是使用xdb组件开启对应端口用来通过浏览器http/https访问EM Express.监听的端口可以通过lsnrctl status查看,开启一个pdb的EM Express操作过程 未开启pdb库的监听状态如下
这里我们可以看到开启了一个默认的5500端口的EM Express,是属于root container 开启pdb的EM Expess
这里可以看到监听中多了一个监听端口5505,是给pdb的EM Epress使用
EM Express大概功能截图
root container
pdb container
这里需要注意cdb级别的东西直接在root container就查看,涉及到pdb container级别的东西,需要登录到具体pdb的EM Express,例如查看表空间数据文件只能在pdb级别看,redo/controlfile等信息可以在cdb级别看
关闭EM Express
已经没有了对pdb监控的5505端口,证明关闭pdb的EM Express成功
About Me
........................................................................................................................
● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除
● 本文在itpub( http://blog.itpub.net/26736162 )、博客园( http://www.cnblogs.com/lhrbest )和个人weixin公众号( xiaomaimiaolhr )上有同步更新
● 本文itpub地址: http://blog.itpub.net/26736162
● 本文博客园地址: http://www.cnblogs.com/lhrbest
● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/
● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/
● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826
........................................................................................................................
● QQ群号: 230161599 (满) 、618766405
● weixin群:可加我weixin,我拉大家进群,非诚勿扰
● 联系我请加QQ好友 ( 646634621 ) ,注明添加缘由
● 于 2018-09-01 06:00 ~ 2018-09-31 24:00 在魔都完成
● 最新修改时间:2018-09-01 06:00 ~ 2018-09-31 24:00
● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
........................................................................................................................
● 小麦苗的微店 : https://weidian.com/s/793741433?wfr=c&ifr=shopdetail
● 小麦苗出版的数据库类丛书 : http://blog.itpub.net/26736162/viewspace-2142121/
● 小麦苗OCP、OCM、高可用网络班 : http://blog.itpub.net/26736162/viewspace-2148098/
● 小麦苗腾讯课堂主页 : https://lhr.ke.qq.com/
........................................................................................................................
使用 weixin客户端 扫描下面的二维码来关注小麦苗的weixin公众号( xiaomaimiaolhr )及QQ群(DBA宝典)、添加小麦苗weixin, 学习最实用的数据库技术。
........................................................................................................................

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2213570/,如需转载,请注明出处,否则将追究法律责任。