概述

此实验申请地址在这里。

实验帮助在这里。

此实验预估完成时间65分钟。

这个实验其实并不需要特别的实验环境,任意找一个安装好的数据库都行。

简介

本研讨会重点介绍 Oracle Database 21c 的网络环境,其中包括监听器配置、监听器操作以及容器数据库 (CDB) 和可插拔数据库 (PDB) 的 HTTPS 端口。

什么是监听器?
Oracle Net Listener(或 Listener)是在 Oracle 数据库服务器上运行的网络服务。

监听器的主要作用是:

  • 管理 Oracle 数据库和客户端之间的连接请求
  • 管理网络流量
  • Oracle 监听器的默认名称是 LISTENER。


目标
本研讨会帮助您了解如何启动和停止侦听器以及查看侦听器配置。 您还可以为 CDB 和 PDB 设置 https 端口。

附录一:关于监听器配置

安装 Oracle 数据库后,您将拥有一个具有客户端/服务器网络环境的功能齐全的数据库。 Oracle Net 是位于客户端和 Oracle 数据库服务器上的软件层。 它通过网络建立和维护客户端应用程序和数据库之间的连接,并使用行业标准协议在它们之间交换消息。

客户端
客户端是连接到 Oracle 数据库以发送和接收数据的应用程序。 Oracle 数据库客户端应用程序驻留在安装了 Oracle 数据库客户端软件的主机上。

服务(Service)
客户端应用程序使用服务名称来识别 Oracle 数据库实例并连接到它。 服务名是 Oracle 数据库的逻辑表示。 一个数据库可以有一个或多个与之关联的服务。

例如,监听器状态返回代表 Oracle 数据库实例的服务名称 CDB1。

...
Service "CDB1" has 1 instance(s).Instance "CDB1", status READY, has 1 handler(s) for this service...

单个实例 Oracle 数据库可以作为多个服务与客户端交互。

默认监听器配置文件
监听器配置存储在文件 listener.ora 中,该文件位于 ORACLE_HOME 主目录下的 network/admin 子目录下。(但21c的文件位置有所不同

准确的说,listener.ora, tnsnames.ora位于环境变量TNS_ADMIN下。下面这个脚本说明了如何得到TNS_ADMIN:

  export OH=${ORACLE_HOME}if [ -f ${OH}/bin/orabasehome ]; thenexport ORACLE_BASE_HOME=$(orabasehome)export TNS_ADMIN=${ORACLE_BASE_HOME}/network/adminelseexport TNS_ADMIN=${OH}/network/adminfi

这里的概念可参考文档:

In a read/write ORACLE_HOME, the ORACLE_BASE_HOME path is the same as the ORACLE_HOME directory. However, in a read-only ORACLE_HOME, the ORACLE_BASE_HOME directory is not co-located with ORACLE_HOME but is located at ORACLE_BASE/homes/HOME_NAME.

Where, HOME_NAME is the internal name for ORACLE_HOME.

相关的orabase系列命令:

$ orabase
/opt/oracle$ orabasehome
/opt/oracle/homes/OraDB21Home1$ orabaseconfig
/opt/oracle

listener.ora 文件包含确定侦听器行为的配置参数。 参数包括:

  • 监听名称
  • 监听器可以接受连接请求的协议地址
  • 监听器允许向 Oracle 数据库注册的有效节点
  • Oracle 数据库服务
  • 控制参数

以下示例简要介绍了 listener.ora 文件。 此处,侦听器采用默认名称 LISTENER。 这些值可能因您使用的系统而异。

...LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = sale-server.us.oracle.com)(PORT = 1521))(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))))
...

您可以在一个 listener.ora 文件中配置多个监听器,每个监听器具有唯一的名称。 但是,Oracle 建议您只为客户环境中的每个节点运行一个监听器。

监听器注册 (LREG) 是一个实例后台进程,它使用监听器执行服务和数据库的动态注册

客户端连接
客户端连接到 Oracle 数据库所涉及的元素是:

  • 连接描述符
    客户端使用连接描述符来指定它想要连接的 Oracle 数据库。 连接描述符包含协议和 Oracle 数据库服务名称。
  • 连接请求
    用户使用连接字符串向 Oracle 数据库发起连接请求。 连接字符串包括用户名和密码,以及连接标识符。 连接标识符可以是连接描述符或代表连接描述符的名称。
  • 命名方法
    在连接到 Oracle 数据库服务时,客户端应用程序使用一种解析方法,称为命名方法。 此方法将连接标识符解析为连接描述符。

以下示例显示了一个连接描述符,它使客户端能够使用服务名称 CDB1 连接到 Oracle 数据库。 这些值可能因您使用的系统而异。

...DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=my-server)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=CDB1))
...

网络配置工具
Oracle Net Services 提供用户界面工具和命令行实用程序来配置、管理和监视网络。

  • Oracle 网络配置助手 (NETCA)
  • Oracle Net Manager

在数据库安装后立即使用网络配置助手 (NETCA)进行初始网络配置。 此后,您可以使用 Oracle Net Manager 来配置和管理您的网络。

Oracle Enterprise Manager Cloud Control (Oracle EMCC) 将跨多个文件系统的配置功能与侦听器管理控制相结合,为配置和管理 Oracle 网络服务提供集成环境。

关于 Oracle 网络配置助手 (NETCA)
Oracle Net Configuration Assistant (NETCA) 是一个独立工具,可帮助您配置侦听器和命名方法。 在 Oracle 数据库的典型安装过程中,Net Configuration Assistant 自动为一个侦听器配置一个 TCP/IP 侦听协议地址用于数据库。 然而,在 Oracle 数据库的高级安装中,Net Configuration Assistant 会提示您指定侦听器名称和您选择的端口号。

关于 Oracle 网络管理器
Oracle Net Manager 为本地客户端或服务器主机上的 Oracle 主目录提供配置功能。 它提供内置向导和实用程序来测试连接性、将数据从一种命名方法迁移到另一种命名方法以及创建其他网络组件。

本实验的作者为Manish Garodia,其它贡献者为Suresh Rajan, Prakash Jashnani, Malai Stalin, Subhash Chandra, Dharma Sirnapalli, Subrahmanyam Kodavaluru, Manisha Mati。

实验 3:CDB 和 PDB 的 HTTPS 端口

简介

本实验将引导您完成查看和设置容器数据库 (CDB) 和可插拔数据库 (PDB) 的 HTTPS 端口号的步骤。

创建 CDB 时,Oracle 数据库配置助手 (Oracle DBCA) 会自动为其分配一个唯一的端口号。 监听器使用此端口连接到 CDB。 您可以使用默认端口或使用动态协议注册方法为 CDB 和 PDB 设置您选择的新端口号。

注意:在连接到 Oracle 数据库时,在以下情况下您不需要密码。

  • Oracle 数据库驻留在本地主机上。
  • 当前用户(对于本实验,它是 oracle 用户)是 OSDBA 组的成员。

目标
查看调度程序配置,检查 CDB 和 PDB 的默认 HTTPS 端口号,并修改端口号。

任务 1:设置环境

您已为活动终端会话设置环境变量。 您现在可以连接到 Oracle 数据库并运行命令。

ORAENV_ASK=NO
ORACLE_SID=ORCLCDB
. oraenv

此命令将$ORACLE_BASE设置为/opt/oracle,以及将ORACLE_HOME设置为 /opt/oracle/product/21c/dbhome_1。

注意:每次打开新的终端窗口时,都必须设置环境变量以从该终端连接到 Oracle 数据库。 来自一个终端的环境变量不会自动应用于其他终端。
或者,您可以从主位置运行脚本文件 .set-env-db.sh 并输入 ORACLE_SID 的编号(注意,其大小写敏感)。 它自动设置环境变量。
.set-env-db.sh脚本如下:


任务 2:查看调度程序(Dispatcher)配置

SQL> show parameter dispatchersNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
dispatchers                          string      (PROTOCOL=TCP) (SERVICE=ORCLCDBXDB)
max_dispatchers                      integer

验证它是否包含 PROTOCOL=TCP 属性。

任务 3:为 CDB 设置 HTTPS 端口

CDB 的默认端口是 5500。对于本实验,请将端口更改为 5506。

SQL> show con_nameCON_NAME
------------------------------
CDB$ROOT
SQL> select dbms_xdb_config.gethttpsport() from dual;DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------5500SQL> exec DBMS_XDB_CONFIG.SETHTTPSPORT(5506);PL/SQL procedure successfully completed.SQL> select dbms_xdb_config.gethttpsport() from dual;DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------5506

任务 4:为 PDB 设置 HTTPS 端口

PDB 的默认端口是 0。对于本实验,将端口更改为 5507。

SQL> show pdbsCON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED                       READ ONLY  NO3 ORCLPDB1                       READ WRITE NOSQL> alter session set container=orclpdb1;Session altered.SQL> show con_nameCON_NAME
------------------------------
ORCLPDB1SQL> select dbms_xdb_config.gethttpsport() from dual;DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------0SQL> exec DBMS_XDB_CONFIG.SETHTTPSPORT(5507);PL/SQL procedure successfully completed.SQL> select dbms_xdb_config.gethttpsport() from dual;DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------5507

实验 4:监听器操作

简介

本实验展示如何使用监听器控制实用程序执行监听器操作,例如启动和停止监听器、检查监听器状态等。

任务 1:设置环境

. oraenv

任务 2:查看侦听器配置

运行 lsnrctl status 命令查看监听是否启动并查看监听配置。

$ lsnrctl statusLSNRCTL for Linux: Version 21.0.0.0.0 - Production on 14-NOV-2022 22:57:09Copyright (c) 1991, 2021, Oracle.  All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 21.0.0.0.0 - Production
Start Date                14-NOV-2022 22:40:44
Uptime                    0 days 0 hr. 16 min. 25 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/homes/OraDB21Home1/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/oracle-21c-vagrant/listener/alert/log.xml
Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=oracle-21c-vagrant)(PORT=5500))(Security=(my_wallet_directory=/opt/oracle/admin/ORCLCDB/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "ORCLCDB" has 1 instance(s).Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "ORCLCDBXDB" has 1 instance(s).Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "ed2ad72a8075d4cbe0530101007f069d" has 1 instance(s).Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "orclpdb1" has 1 instance(s).Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
The command completed successfully

监听器控制实用程序显示监听器配置设置、监听协议地址和向监听器注册的服务的摘要。如果 Oracle 数据库已配置 PDB,您将看到在 Oracle 数据库实例上运行的每个 PDB 的服务。

任务 3:停止和启动监听器

停止监听:

$ lsnrctl stopLSNRCTL for Linux: Version 21.0.0.0.0 - Production on 14-NOV-2022 23:00:55Copyright (c) 1991, 2021, Oracle.  All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
The command completed successfully

此时,用服务连接数据库会显示无监听:

$ sqlplus system@orclpdb1SQL*Plus: Release 21.0.0.0.0 - Production on Mon Nov 14 23:01:34 2022
Version 21.3.0.0.0Copyright (c) 1982, 2021, Oracle.  All rights reserved.Enter password:
ERROR:
ORA-12541: TNS:no listenerEnter user-name:

但以下命令会成功,因为其没有通过服务来连接,因此也无需通过监听:

$ sqlplus / as sysdbaSQL*Plus: Release 21.0.0.0.0 - Production on Mon Nov 14 23:02:51 2022
Version 21.3.0.0.0Copyright (c) 1982, 2021, Oracle.  All rights reserved.Connected to:
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0SQL>

注意:如果侦听器未在主机上运行,Oracle Enterprise Manager Cloud Control (Oracle EMCC) 将返回一个 I/O 错误,指示无法与您的 Oracle 数据库建立连接。

启动监听:

$ lsnrctl startLSNRCTL for Linux: Version 21.0.0.0.0 - Production on 14-NOV-2022 23:03:52Copyright (c) 1991, 2021, Oracle.  All rights reserved.Starting /opt/oracle/product/21c/dbhome_1/bin/tnslsnr: please wait...TNSLSNR for Linux: Version 21.0.0.0.0 - Production
System parameter file is /opt/oracle/homes/OraDB21Home1/network/admin/listener.ora
Log messages written to /opt/oracle/diag/tnslsnr/oracle-21c-vagrant/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 21.0.0.0.0 - Production
Start Date                14-NOV-2022 23:03:52
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/homes/OraDB21Home1/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/oracle-21c-vagrant/listener/alert/log.xml
Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
The listener supports no services
The command completed successfully

查看监听状态:

$ lsnrctl statusLSNRCTL for Linux: Version 21.0.0.0.0 - Production on 14-NOV-2022 23:04:19Copyright (c) 1991, 2021, Oracle.  All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 21.0.0.0.0 - Production
Start Date                14-NOV-2022 23:03:52
Uptime                    0 days 0 hr. 0 min. 27 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/homes/OraDB21Home1/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/oracle-21c-vagrant/listener/alert/log.xml
Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=oracle-21c-vagrant)(PORT=5500))(Security=(my_wallet_directory=/opt/oracle/admin/ORCLCDB/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "ORCLCDB" has 1 instance(s).Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "ORCLCDBXDB" has 1 instance(s).Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "ed2ad72a8075d4cbe0530101007f069d" has 1 instance(s).Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
Service "orclpdb1" has 1 instance(s).Instance "ORCLCDB", status READY, has 1 handler(s) for this service...
The command completed successfully

此时仅显示用户名或口令不正确,但不会显示无监听的错误:

$ sqlplus system@orclpdb1SQL*Plus: Release 21.0.0.0.0 - Production on Mon Nov 14 23:04:53 2022
Version 21.3.0.0.0Copyright (c) 1982, 2021, Oracle.  All rights reserved.Enter password:
ERROR:
ORA-01017: invalid username/password; logon deniedEnter user-name:

Oracle LiveLabs实验:Configure network environment for Oracle Database 21c相关推荐

  1. Oracle LiveLabs实验:Manage and Monitor Autonomous Database

    概述 本研讨会中的实验将引导您完成开始使用 Oracle 自治数据库的所有步骤. 首先,您将创建一个 Oracle 自治数据库实例. 然后,您将练习使用自治数据库工具和 API 从不同位置以不同格式加 ...

  2. Oracle LiveLabs实验: Pluggables, Clones and Containers: Oracle Multitenant Fundamentals Workshop

    本文为Oracle LiveLabs中实验Pluggables, Clones and Containers: Oracle Multitenant Fundamentals Workshop的过程记 ...

  3. Oracle Livelabs实验: Setting Up Active Data Guard For On-Premises

    本文是Oracle LiveLabs实验:Setting Up Active Data Guard For On-Premises 的过程记录. 实验步骤请参考这里. 因为是利用你自己的OCI云环境搭 ...

  4. Oracle LiveLabs实验:DB Security - Native Network Encryption (NNE)

    概述 此实验申请地址在这里,时间为2小时. 实验帮助在这里. 本实验使用的数据库为19c. 简介 在此小型实验中,您将学习如何使用 Oracle 本地网络加密 (NNE - Native Networ ...

  5. Oracle LiveLabs实验:DB Security - Oracle Label Security (OLS)

    概述 此实验申请地址在这里,时间为30分钟. 本实验也是DB Security Advanced研讨会的的第7个实验,即Lab 7. 实验帮助在这里. 本实验使了Oracle数据库19.13及Orac ...

  6. Oracle LiveLabs实验:DB Security - Key Vault

    概述 此实验关于Oracle Key Vault. 此实验申请地址在这里,时间为55分钟. 实验帮助在这里. 实验生成需要15分钟左右,最终会生成2个虚机,以下为我的专属配置: 129.146.74. ...

  7. Oracle LiveLabs实验:DB Security - Audit Vault and DB Firewall

    概述 此实验关于Oracle AVDF(Audit Vault and DB Firewall). 此实验申请地址在这里,时间为150分钟. 实验帮助在这里. 本实验使用的AVDF版本为Oracle ...

  8. Oracle LiveLabs实验:Load and Analyze Your Data with Autonomous Database

    概述 本研讨会中的实验将引导您完成开始使用 Oracle 自治数据库的所有步骤. 首先,您将创建一个 Oracle 自治数据库实例. 然后,您将练习使用自治数据库工具和 API 从不同位置以不同格式加 ...

  9. Oracle LiveLabs DB Security (数据库安全)实验汇总

    在Oracle LiveLabs中,和数据库安全相关的实验分为2个系列,共12个实验. Oracle数据库安全架构如下图: 这些实验涉及了Oracle安全相关的特性,企业版选件,独立产品和服务. 关于 ...

最新文章

  1. 云上人第七代产品简单的代码
  2. 01基于配置文件方式的SpringMVC,三种HandlerMapping,三种控制器
  3. Vue开发中有着原声app效果的滚动的第三方插件better-scroll在github的上面的运用方法及地址
  4. Java Stream ORM现在带有JOIN
  5. 一加 9RT原神限定礼盒今晚开售:内含丰富资源回馈用户
  6. 用自己的算法实现startsWith和endsWith功能
  7. jenkins+docker 持续构建非docker in docker
  8. Splice Beatmaker for Mac(音乐节拍工具)
  9. CoinFLEX的基本情况以及与Bakkt
  10. 液晶显示屏的LED背光辉度公式计算?
  11. 新中大连接服务器文件,新中大软件服务器地址修改
  12. 05 - 钓鱼网站的攻击与防御
  13. 限制性定语从句和非限制性定语从句的区别
  14. 开源私有lorawan server搭建
  15. Internal error: Oops: 37 [#1] PREEMPT SMP ARM。处理方法果然touchscreens被编译了,但是我的触摸屏没有接,取消此编译选项,重新编译,开发成功启动
  16. Atom - 介绍和使用方法(好用的文本编辑器,代码提示高亮、Markdown)
  17. 一般论文投稿应该注意哪些要求
  18. oracle杀缩表进程,oracle查看锁表和杀死锁表的方法总结
  19. python局域网监控系统_python 局域网监控系统
  20. 计算linux服务器CPU利用率

热门文章

  1. 强大的图片编辑工具:Affinity Photo Beta for Mac
  2. 什么是计算机自动化管理,自动化是什么
  3. 网络数据传输的原理,理解各站点间数据是如何传输的
  4. 【转】汽车零件产品开发过程A样件、B样件和C样件的区别?
  5. RabbitMq系列(九):主题交换Topic Exchange
  6. 普通Java类获取context
  7. Arduino控制PCA9685作为GPIO使用
  8. java 静态变量和非静态_Java中静态和非静态变量之间的区别
  9. 求闰年c语言程序if语句嵌套,C语言选择结构的嵌套 计算闰年
  10. 源码系列第1弹 | 带你快速攻略Kafka源码之旅入门篇