Oracle 12C EM Express配置及问题处理

    Oracle的EM是EnterpriseManager的缩写,可翻译为Oracle数据库的企业管理器。在Oracle10g之后,能够经过oracle EM使用Web界面来监控,管理,维护Oracle数据库。DBA能够从任何能够访问web应用的位置经过OEM来对数据库行各类管理和监控。html

    在11g中,OEM分为Grid control和Database control,他们均可以用来作DB的管理。从DB管理的角度,两者最大的差异在于Grid能够监控和集中管理多个数据库,而database control只能管理监控一个数据库,不能用于监控多个数据库,它只在数据库上运行。html5

    (Gridcontrol能够监控整个Oracle生态环境,它具备一个中心存储仓库,用于收集有关多个计算机上的多个目标的数据,而且提供一个界面来显示全部已发现目标的共同信息。)web

关于EM Express 数据库

   在12c中,12c数据库的管理能够经过使用cloud control或者Database Express来实现,12c再也不支持database control。EM express是一个很是简化版本Database control,仅提供最基本的数据库管理和性能监控管理。例如若是你想作备份恢复,你只能经过cloud control(EMCC)来作,经过EM Express你能够view数据库的基本参数信息,存储信息,添加数据数据文件,表空间,用户管理等。express

   在EM express上没有中间件或者中间层,这样保证了它在oracle数据库server上的运行开销很是很是小。它是经过使用oracle的XDB server构建在oracle数据库内部的,具体参考oracle XDB的一些内容。浏览器

EM Express的配置session

(一)自动配置oracle

  在dbca建立数据库的时,默认会选择配置EMX,若是你不想使用EMX,能够在这个时候去掉这个默认的选择。后面再想使用的话也能够手动去配置。EM Express不是安装的,个人理解,就像社区的光纤,已经拉到你家门外了,你能够选择不去使用它,这样你不拉线,不去营业厅申请开通就行。它不是一个独立安装卸载的东西,这点与以前的11g的Database control不一样,关于EM Express的管理,也没有专门的命令行命令去控制它的关闭和开启。像以前的比喻,若是你不想使用你把线拉掉就行了。tcp

dbca配置EM Express:dbca建立结束后会显示一个访问EM Express的URL。性能

(二)手动配置

    手动配置在官方文档上有详细的说明,其实咱们通常数据库都是使用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的关系图。

  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/

相关文章
相关标签/搜索