Oracle 12c EM express系列

Oracle 12c EM express系列





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

Oracle 12c 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=<sid>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的关系图。

Oracle 12c EM express系列

  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=<sid>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、查看设置的端口是否在监听中生效

[[email protected] ~]$ 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))



  1. -- 一句话说的很明白:

  2. you've probably already got EM Database Express configured. Unlike the DB Control, it runs from inside the database using the XML DB infrastructure,

  3. 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

  4. EM Database Express. If on the other hand you are playing around with the database and want a pretty interface to perform some tasks,

  5. the EM Database Express might be your answer

  6. --启用:

  7. SQL > exec dbms_xdb_config.sethttpsport( 5501 );

  8. PL/SQL 过程已成功完成。

  9. SQL> exec dbms_xdb_config.sethttpport(5502);

  10. PL/SQL 过程已成功完成。

  11. 如果想 --禁用:

  12. SQL> exec dbms_xdb_config.sethttpsport(0);

  13. PL/SQL 过程已成功完成。

  14. -- 查看

  15. SQL> SELECT DBMS_XDB_CONFIG.gethttpport FROM dual;

  16. GETHTTPPORT

  17. -----------

  18. SQL> SELECT DBMS_XDB_CONFIG.gethttpsport FROM dual;

  19. GETHTTPSPORT

  20. ------------

  21. 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 . 以下是登录页面示范:

Oracle 12c EM express系列

 登录之后的页面非常简洁,解决了之前EM对于简单应用的臃肿冗余问题:
Oracle 12c EM express系列

在EM Express中可以实现对以下诸类信息的展现和管理:
Oracle 12c EM express系列

在性能监控上,EM Express也提供了非常直观和简洁的纬度展现:
Oracle 12c 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库的监听状态如下

C:\Users\XIFENFEI>lsnrctl status
   
LSNRCTL for 64-bit Windows: Version 12.1.0.1.0 – Production on 12-7月 -2013 21:2
2:32
   
Copyright (c) 1991, 2013, Oracle.  All rights reserved.
   
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=XIFENFEI-PC)(PORT=1521)))
LISTENER 的 STATUS
————————
别名                      LISTENER
版本                      TNSLSNR for 64-bit Windows: Version 12.1.0.1.0 – Produ
ction
启动日期                  12-7月 -2013 21:22:08
正常运行时间              0 天 0 小时 0 分 27 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          E:\oracle\product\112~1.0\dbhome_1\NETWORK\ADMIN\liste
ner.ora
监听程序日志文件          E:\app\XIFENFEI\diag\tnslsnr\XIFENFEI-PC\listener\aler
t\log.xml
监听端点概要…
   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xifenfei-pc)(PORT=1521)))
   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=xifenfei-pc)(PORT=5500))(Security=(
my_wallet_directory=E:\APP\XIFENFEI\admin\cdb\xdb_wallet))(Presentation=HTTP)(Se
ssion=RAW))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
   实例 "CLRExtProc" , 状态 UNKNOWN, 包含此服务的 3 个处理程序…
服务 "cdb" 包含 1 个实例。
   实例 "cdb" , 状态 READY, 包含此服务的 1 个处理程序…
服务 "cdbXDB" 包含 1 个实例。
   实例 "cdb" , 状态 READY, 包含此服务的 1 个处理程序…
服务 "pdb" 包含 1 个实例。
   实例 "cdb" , 状态 READY, 包含此服务的 1 个处理程序…
命令执行成功

这里我们可以看到开启了一个默认的5500端口的EM Express,是属于root container

开启pdb的EM Expess

C:\Users\XIFENFEI>sqlplus / as sysdba
 
SQL*Plus: Release 12.1.0.1.0 Production on 星期五 7月 12 21:50:28 2013
 
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
 
 
连接到:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing opt
ions
 
SQL> show pdbs;
 
     CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
          2 PDB$SEED                       READ ONLY   NO
          3 PDB                            READ WRITE NO
SQL> alter session set container=pdb;
 
会话已更改。
 
SQL> exec DBMS_XDB_CONFIG.SETHTTPPORT(5505);
 
PL/SQL 过程已成功完成。
C:\Users\XIFENFEI>lsnrctl status
 
LSNRCTL for 64-bit Windows: Version 12.1.0.1.0 - Production on 12-7月 -2013 21:5
1:40
 
Copyright (c) 1991, 2013, Oracle.  All rights reserved.
 
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=XIFENFEI-PC)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 64-bit Windows: Version 12.1.0.1.0 - Produ
ction
启动日期                  12-7月 -2013 21:22:08
正常运行时间              0 天 0 小时 29 分 35 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          E:\oracle\product\112~1.0\dbhome_1\NETWORK\ADMIN\liste
ner.ora
监听程序日志文件          E:\app\XIFENFEI\diag\tnslsnr\XIFENFEI-PC\listener\aler
t\log.xml
监听端点概要...
   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xifenfei-pc)(PORT=1521)))
   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=xifenfei-pc)(PORT=5500))(Security=(
my_wallet_directory=E:\APP\XIFENFEI\admin\cdb\xdb_wallet))(Presentation=HTTP)(Se
ssion=RAW))
   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xifenfei-pc)(PORT=5505))(Presentatio
n=HTTP)(Session=RAW))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
   实例 "CLRExtProc" , 状态 UNKNOWN, 包含此服务的 3 个处理程序...
服务 "cdb" 包含 1 个实例。
   实例 "cdb" , 状态 READY, 包含此服务的 1 个处理程序...
服务 "cdbXDB" 包含 1 个实例。
   实例 "cdb" , 状态 READY, 包含此服务的 1 个处理程序...
服务 "pdb" 包含 1 个实例。
   实例 "cdb" , 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功

这里可以看到监听中多了一个监听端口5505,是给pdb的EM Epress使用

EM Express大概功能截图
root container
Oracle 12c EM express系列
pdb container
Oracle 12c EM express系列
这里需要注意cdb级别的东西直接在root container就查看,涉及到pdb container级别的东西,需要登录到具体pdb的EM Express,例如查看表空间数据文件只能在pdb级别看,redo/controlfile等信息可以在cdb级别看

关闭EM Express

SQL> alter session set container=pdb;
   
会话已更改。
   
SQL> exec DBMS_XDB_CONFIG.SETHTTPPORT(0);
   
PL/SQL 过程已成功完成。
   
SQL> exit
从 Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing opt
ions 断开
C:\Users\XIFENFEI>lsnrctl status
   
LSNRCTL for 64-bit Windows: Version 12.1.0.1.0 - Production on 12-7月 -2013 23:3
8:30
   
Copyright (c) 1991, 2013, Oracle.  All rights reserved.
   
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=XIFENFEI-PC)(PORT=1521)))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for 64-bit Windows: Version 12.1.0.1.0 - Produ
ction
启动日期                  12-7月 -2013 21:22:08
正常运行时间              0 天 2 小时 16 分 25 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          E:\oracle\product\112~1.0\dbhome_1\NETWORK\ADMIN\liste
ner.ora
监听程序日志文件          E:\app\XIFENFEI\diag\tnslsnr\XIFENFEI-PC\listener\aler
t\log.xml
监听端点概要...
   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=xifenfei-pc)(PORT=1521)))
   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=xifenfei-pc)(PORT=5500))(Security=(
my_wallet_directory=E:\APP\XIFENFEI\admin\cdb\xdb_wallet))(Presentation=HTTP)(Se
ssion=RAW))
服务摘要..
服务 "CLRExtProc" 包含 1 个实例。
   实例 "CLRExtProc" , 状态 UNKNOWN, 包含此服务的 3 个处理程序...
服务 "cdb" 包含 1 个实例。
   实例 "cdb" , 状态 READY, 包含此服务的 1 个处理程序...
服务 "cdbXDB" 包含 1 个实例。
   实例 "cdb" , 状态 READY, 包含此服务的 1 个处理程序...
服务 "pdb" 包含 1 个实例。
   实例 "cdb" , 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功

已经没有了对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, 学习最实用的数据库技术。

Oracle 12c EM express系列

........................................................................................................................

Oracle 12c EM express系列 Oracle 12c EM express系列

 

 



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