记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。


如何为 Oracle 19c/21c/12c Enterprise Manager 设置全局端口


想知道为什么需要为 Oracle 企业管理器设置全局端口?我看看。到目前为止,关于Oracle Enterprise Manager数据库express的一件事对我们来说非常清楚,

那就是在较新版本的Oracle数据库中,特别是基于多租户架构的Oracle引擎,通过我们在企业管理器的URL中使用的端口号来区分从CDB和PDB登录。

但是,数据库速成式的这一新功能的唯一问题是,如果处理不当,可能会导致混淆。尽管如此,让我向你解释一下——

问题陈述 –

假设您是一个 DBA,他正在处理一个包含 1 个根容器的数据库。而且,该根容器具有 1024 个可插入数据库。

您需要知道其各自的端口号,以便使用该根容器登录到 Oracle EM。但是,如果我们想使用这些可插拔数据库中的任何一个登录Oracle EM,那么您需要使用它们各自的https端口号。

问题来了。密切关注这些可插拔数据库及其各自的HTTPS端口号将成为一个没有人想要的麻烦。

解决方案 –

现在想想,如果我们可以使用根容器的端口号登录到Oracle Enterprise Manager Database Express,该怎么办?

因此,如果我们能以某种方式弄清楚这一点,那么我们可以使用单个URL登录所有根数据库以及可插入数据库。

因此,好消息是我们可以实施此解决方案。而且,在本教程中,这正是您要学习的内容 -

为 Oracle Enterprise Manager 设置启用的全局端口 –

我们使用 setGlobalPortEnabled 过程为 Oracle EM 启用全局端口。

此过程使 Oracle Enterprise Manager Database Express (EM Express) 客户端能够对会话使用单个端口(称为全局端口),而不是使用专用于 PDB 的端口。

此外,此过程也是在DBMS_XDB_CONFIG包中创建的,就像我们在本系列中学到的所有其他过程和函数一样。

此外,此过程仅采用一个参数。它可以是真的,也可以是假的

因此,如果它设置为 TRUE,则此过程将启用全局端口。并且,如果设置为 FALSE,则全局 https 端口将被禁用。

SetGlobalPortEnabled Procedure会做什么?

成功执行后,此过程将使根容器数据库的 https 端口成为全局 https 端口。这意味着您可以使用根容器数据库的https端口使用所需的任何可插拔数据库登录到oracle企业管理器。

只要该可插入数据库在该特定根容器内连接或创建。

如何为 Oracle 企业管理器设置全局端口 –

因此,以下是为您的 Oracle EM 启用全局端口的过程 –

步骤 1:登录到您的 Oracle 数据库

首先,您需要使用 sys 用户通过根容器登录到 Oracle 数据库 –

SQLPLUS / as sysdba

上述语句将使用 sys 用户将您连接到数据库。此外,我们知道默认情况下,在多租户体系结构中,我们通过根容器与数据库连接。因此,在执行上述语句后,必须通过根容器连接到数据库。

此外,您只需编写以下命令即可检查这一点 -

SHOW con_name;

此语句将显示您当前通过其连接的容器名称。

推荐阅读 – 如何使用 SQL Developer 与 Oracle 数据库连接

步骤2:执行程序 -

此外,一旦与数据库建立了连接,接下来必须执行 setGlobalPortEnabled 过程。

由于此过程是在DBMS_XDB_CONFIG包内创建的,因此要执行它,我们需要使用点表示法。我们首先写入包的名称,后跟点 (.),然后是过程的名称。像这样——

EXEC DBMS_XDB_CONFIG. setglobalportenabled (TRUE)
/

此外,我们必须指定“TRUE”作为所述过程的参数,因为我们正在为Oracle企业管理器配置全局端口。

但是,如果您想禁用Oracle EM的全局端口,那么您只需在“TRUE”的位置上写上“False”并执行该过程即可。

尽管如此,在执行上述命令后,您将能够使用所需的任何可插拔数据库登录到Oracle企业管理器。

只需确保必须创建可插入数据库并将其插入到已执行该过程的根容器中即可。

如何检查全局端口是否已启用?

此外,要检查是否启用了全局端口,您可以借助同一包的另一个过程DBMS_XDB_CONFIG。 而且,该过程是GlobalPortEnabled。

因此,您可以编写或复制此匿名 PL/SQL 块。

SET SERVEROUTPUT ON;
DECLARE
    gPort boolean;
BEGIN
    gPort := DBMS_XDB_config.isglobalportenabled;
    if gPort THEN
        DBMS_OUTPUT.PUT_LINE('Global Port is Enabled');
    ELSE
        DBMS_OUTPUT.PUT_LINE('Global Port is Not Enabled');
    END IF;
END;
/

单击此处阅读更多有关 PL/SQL 块的信息

setGlobalPortEnabled程序的条件 —

为了设置 Oracle 企业管理器的全局端口,您需要注意两个条件。这些是 ——

  1. 不仅必须为根容器启用全局端口,还必须为配置到该根容器中的所有可插拔数据库启用全局端口。

因此,默认情况下,仅对根容器禁用全局端口,但对于始终启用的可插入容器,全局端口处于禁用状态。因此,您只需为根容器启用它。

  1. 此外,您需要确保可插拔数据库对所有读写操作都处于打开状态,以便通过可插拔数据库登录到 Oracle 企业管理器。

但不幸的是,默认情况下,所有可插入数据库都已装入。这意味着它们不开放以进行读写操作。

登录到您的 Oracle 企业管理器 –

因此,成功执行上述过程后,您必须能够使用根容器的任何可插拔数据库登录到 Oracle 企业管理器数据库快速版。

除此之外,您可以使用系统或系统用户登录。例如,如果您决定使用系统用户登录您的 Oracle EM,那么您的登录凭据将是 –

Username – sys
Password – Your Password 
Container Name – name of the pluggable database container 

此外,如果您想使用无管理员用户(如HR,SH或您创建的任何用户)登录Oracle EM,那么我建议您遵循本指南 -

如何使用非管理员用户登录 Oracle EM 由 Manish Sharma



转载请标明出处【如何为 Oracle 19c/21c/12c Enterprise Manager 设置全局端口】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论