Oracle 20C OEM Database Express配置监控CDB和PDB
原文链接:https://www.modb.pro/db/22215
Oracle 20c已经发布,我们来看一看在20c中Enterprise Manager Database Express的一些改变,以及如何同时登录CDB和PDB。
在DBCA时可以设置是否配置EM,以及端口号,配置后会自动注册到监听
[oracle@pr7 ~]$ lsnrctl status |grep 5500
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=pr7)(PORT=5500))(Presentation=HTTP)(Session=RAW))
数据库种查看是否启动EM以及端口号:
[oracle@pr7 ~]$ sqlplus / as sysdba
SQL*Plus: Release 20.0.0.0.0 - Production on Sat Feb 1 22:28:23 2020
Version 20.2.0.0.0
Copyright (c) 1982, 2020, Oracle. All rights reserved.
Connected to:
Oracle Database 20c Enterprise Edition Release 20.0.0.0.0 - Production
Version 20.2.0.0.0
SQL> select dbms_xdb_config.gethttpsport FROM DUAL;
GETHTTPSPORT
------------
5500
浏览器中打开https://ip:5500/em登录(如果浏览器报证书错误需要在钥匙串中设置为始终信任),输入sys或者system账号密码,容器名为空,不过20c中没有了as sysdba的选项(也有可能是未发布)。
登录之后,目前只有performance菜单,首页依次是database home、sql monitor和incidents三大模块。
查看performance hub页面,有时间负载总览信息,ASH(包含活动会话数、TOP SQL、TOP 会话)、SQL monitoring、ADDM、负载(CPU、等待时间等):
查看SQL detail页面,有该SQL时间维度的信息,有SQL的详细信息以及执行计划:
我们再来看看如何登录PDB查看PDB级别的数据,有两种方法,第一是直接切换到PDB容器中设置新的端口5501,然后通过新的端口直接访问,如:
SQL> alter session set container=PDB1;
Session altered.
SQL> exec DBMS_XDB_CONFIG.SETHTTPSPORT(5501);
PL/SQL procedure successfully completed.
第二种是设置setglobalportenabled(TRUE),也就是全局端口,如果再PDB数量多的情况下非常实用,只需要一个端口,通过输入不同的PDB名称进入不同的PDB内。
--首先停止现有的cdb和pdb的em端口
[oracle@pr7 ~]$ sqlplus / as sysdba
SQL*Plus: Release 20.0.0.0.0 - Production on Sun Feb 2 00:15:20 2020
Version 20.2.0.0.0
Copyright (c) 1982, 2020, Oracle. All rights reserved.
Connected to:
Oracle Database 20c Enterprise Edition Release 20.0.0.0.0 - Production
Version 20.2.0.0.0
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
SQL> alter session set container=PDB1;
Session altered.
SQL> exec DBMS_XDB_CONFIG.SETHTTPSPORT(0);
PL/SQL procedure successfully completed.
SQL> conn /as sysdba
Connected.
SQL> exec DBMS_XDB_CONFIG.SETHTTPSPORT(0);
PL/SQL procedure successfully completed.
--设置setglobalportenabled
SQL> exec dbms_xdb_config.setglobalportenabled(TRUE);
PL/SQL procedure successfully completed.
--打开5500的em端口
SQL> exec DBMS_XDB_CONFIG.SETHTTPSPORT(5500);
PL/SQL procedure successfully completed.
登录时输入容器名为pdb1即可:
此时登录进入的就是PDB: