今天在网上搜索已经有很过关于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
(二)手动配置
手动配置在官方文档上有详细的说明,其实我们一般数据库都是使用1521端口,用不到文档上说明的情况,可以在DB中直接去执行命令配置就ok,下面我简单说下步骤,具体参见官方文档:
init.ora local_listener=inst1
where inst1 isaTNSNAMESentrydefined intnsnames.ora that points to the listener.
For example :tnsnames.orainst1= (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host_name)(PORT=1234))(CONNECT_DATA=(SERVICE_NAME=service_name)(SERVER=DEDICATED)))
dispatchers="(PROTOCOL=TCP)(SERVICE=<sid>XDB)"
例如:dispatchers="(PROTOCOL=TCP)(SERVICE=ORCLXDB)"For example:
netstat –anp |grep5500; --检查确定该端口没有被占用
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/
Whenprompted for your username and password, log in as a user with DBA privilege(such as SYSTEM).普通用户赋予以上角色后即可访问EM Express
(四)关于CDB&PDB上的EM Exprss
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 。最后列出些我搜索到的关于EM Express的文档:
http://www.xifenfei.com/4568.html
http://blog.sina.com.cn/s/blog_6058d7c101014qx2.html
http://www.eygle.com/archives/2013/07/oracle_database_12c_em_express.html