Oracle 12C EM Express配置及问题处理
pmos 发表于9个月前
原 Oracle 12C EM Express配置及问题处理
收藏
- 发表于 9个月前
- 阅读 454
- 收藏 0
- 点赞 0
- 评论 0
摘要: 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。
(二)手动配置
手动配置在官方文档上有详细的说明,其实我们一般数据库都是使用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=
例如: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=
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/
© 著作权归作者所有