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

Wesley13
• 阅读 985

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

pmos 发表于9个月前

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

收藏

pmos

  • 发表于 9个月前
  • 阅读 454
  • 收藏 0
  • 点赞 0
  • 评论 0

1小时搭建人工智能应用 让技术更容易入门>>>   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。

(二)手动配置

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

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=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/

© 著作权归作者所有

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
2年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
2个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这