• Oracle(2-2)Oracle Net Architecture



    在这里插入图片描述

    Oracle Net Architecture Oracle Net体系结构
    目标:

    • 解释Oracle网栈通信架构的关键组件
    • 解释Oracle网在客户端-服务器连接中的作用
    • 描述如何通过Oracle网络产品建立Web客户端连接

    一、基础知识

    1、Oracle Net Connections Oracle网络连接

    • Oracle网用于建立网络上的应用程序之间的连接,这取决于以下几点:
      • 网络配置
      • 节点的位置(Oracle数据服务器的位置)
      • 应用程序
      • 网络协议
    • 连接类型可以是:
      • 客户端一服务器应用程序
      • Java应用程序
      • Web客户端应用程序

    2、C/S Application Connection C/S应用程序连接

    在这里插入图片描述

    3、OSI Communication Layers OSI通信层

    在这里插入图片描述

    • 其中TCP层在运输层,IP在网络层

    4、Oracle Protocol Support Oracle协议支持

    • TCP/IP (主流的协议)
    • TCP/IP with SSL (具有SSL加密,更加安全)
    • Named Pipes (微软开发专门支持在局域网的一种协议)
    • SDP(性能高于TCP/IP,用于高端的网络要求)
      • SDP 套接字目录协议 (SDP) 是Infiniband网络对等点之间的行业标准有线协议。当SDP在Infiniband网络上使用时,它通过消除数据的中间复制和将大部分消息传递负担从CPU转移到网络硬件上来减少TCP/IP的开销。

    5、B/S Application Connections B/S应用程序连接

    Web浏览器(这里指的javaweb,如果使用的是C/C++可以使用OCI连接)可以通过以下方式连接到Oracle服务器:

    • 将应用程序Web服务器用作中间层,该中间层配置有以下任一项:
      • JDBC Oracle Call Interface (OCl) driver
      • Thin JDBC driver
    • 使用HTTP直接连接到Oracle服务器(这种方法使用的比较少)

    6、TwoTypes JDBC Drivers 两种JDBC连接方式

    Oracle Java数据库连接 (JDBC) 驱动程序提供Java应用程序访问甲骨文数据库。甲骨文提供了两个JDBC驱动程序:

    • JDBC OCI Driver驱动程序是一个2级JDBC驱动程序,用于客户端/服务器Java应用程序。JDBC OCI驱动程序将JDBC调用转换为对OCI的调用,然后通过Oracle网络发送到Oracle数据库服务
      器。
    • JDBC Thin Driver驱动程序是Java applet使用的4级驱动程序。JDBC Thin驱动程序通过Java套接字建立到Oracle数据库服务器的直接连接。TTC和Oracle Net的轻量级实现有助于对数据库的访问。

    以下是两种连接方式的工作流程图:
    在这里插入图片描述

    7、Web Connection Using HTTP web浏览器使用HTTP连接Oracle

    在这里插入图片描述

    以下是HTTP连接的工作流程图:
    在这里插入图片描述

    8、Concepts & Terminology 概念和术语介绍

    • Database services 数据库服务
    • Service Name 服务名字
      • 数据库的逻辑表示
      • 将数据库呈现给客户端的方式
    • Connect Descriptor 连接描述
      • 数据库的位置
      • 数据库服务的名称
    • Listener Oracle监听
      • 接收客户端连接请求
      • 将请求传递给数据库服务器
    • Service Registration 服务注册
      • 数据库向侦听器注册信息
      • 每个实例可用的服务处理程序
    • Service Handlers 服务器管理员
      • 连接点 (客户端和服务器的连接点)
      • 调度器或专用服务器

    Service Registration 服务注册流程
    在这里插入图片描述
    一旦客户机请求到达侦听器,侦听器将选择适当的service handler来服务客户机的请求,并将客户机的请求转发给它。侦听器确定是否可以通过service registration使用数据库服务及其服务处理程序。在服务注册期间,PMON进程 (一个实例后台进程) 为侦听器提供以下信息:

    • 数据库提供的数据库服务的名称
    • 与服务关联的实例的名称及其当前和最大负载
    • 实例可用的服务处理程序(调度程序和专用服务器),包括它们的类型、协议地址以及当前和最大负载

    此信息使侦听器能够正确地引导客户端的请求

    9、连接三步走的过程

    在这里插入图片描述

    • 需要先启动Listener
    • 然后启动数据库实例
    • 数据库实例向Listener注册服务
    • 然后客户端与Listener建立连接服务
    • 最后直接将客户端和服务端连接在一起,能够直接进行双向通信

    10、Net Configuration Models 网络配置模型

    • 本地化管理
      • 网络中每台计算机上有一个本地配置文件
    • 集中化管理
      • 符合LDAP的目录服务器(适合大规模的配置)
      • Oracle命名服务器

    11、Overview of Naming Methods 命名方法概述

    • 当尝试连接到数据库服务时,客户端应用程序使用命名方法将连接标识符解析为连接描述符。我们要连接数据库需要知道数据库服务的ip地址和端口号
    • Oracle网络提供了五种命名解析方法:
      • Host naming (基于操作系统的解析方法)
      • Local naming (使用tnsnames.ora配置文件)(最常用)适合小规模
      • 使用目录服务 (最常用)适合大规模
      • Oracle服务名称
      • 第三方提供的信息服务

    12、Configuration Files Oracle配置文件

    在这里插入图片描述

    • 其中最重要的的就是tnsnames.oralistener.ora

    配置文件的位置位于:$ORACLE_HOME/network/admin目录下
    我们可以切换到这里进行查看:

    cd $ORACLE_HOME/network/admin
    
    • 1

    在这里插入图片描述
    我们现在查看一下tnsnames.ora

    cat tnsnames.ora
    
    • 1

    在这里插入图片描述

    • 我们能够看出它的协议是TCP,HOST是本机(如果是远程连接的话会显示ip地址),端口号是1521,服务名是orcl
    • 注意做上方第一个红框的ORCL,在我们连接数据库的时候就可以使用这个
      • 语法举例:sqlplus system/123@orcl 连接我们使用sqlplus,用户名是system(这个可以是其他的),密码是123(要连接的用户的用户名),@符号后边跟着图中坐上第一个红方框中的内容就可以完成连接
      • 在这里插入图片描述
      • 连接后会有两个版本号,第一个是连接机器上的版本号,第二个是你连接到的Oracle的版本号

    13、Three Key Parameters 连接的三个关键参数

    • 连接描述符:

      • 数据库的位置
      • 数据库服务的名称
    • 三个关键参数:

      • IP地址
      • 端口号
      • 服务名称

    二、基础操作

    1、监听程序的启动

    在客户端进行远程连接的时候需要启动监听程序:
    使用ps -ef | grep oracle来查看监听程序是否启动
    在这里插入图片描述
    如果没发现红框内部这一条的话说明监听是没有启动的,我们需要启动
    启动监听的命令:lsnrctl start
    只有启动监听我们外部才能进行连接,当然有许多人是在自己本地执行命令进行连接的,再本地进行连接监听不启动也能够用连接到数据库实例。

    • 对于本地连接,您不需要启动监听。您可以直接连接到本地数据库实例,而无需通过监听器。这对于开发和测试来说非常方便。

    但是对于非本地连接,当您要连接到一个数据库实例时,如果监听没有运行,那么PMON(实例后台进程)将无法注册服务。因此,如果不启动监听,无论是通过SQLPLUS还是其他方式,都不可能连接到数据库。

    2、查看Oracle服务名字的方法

    登录数据库执行语句:show parameter service

    在这里插入图片描述

  • 相关阅读:
    转载 | 自动驾驶开源数据集总结
    自适应滤波器更新算法-EP1
    百度SEO优化全攻略(提高网站排名的5个方面)
    iMeta框架使用方法
    举个栗子~ Minitab 技巧(1):快速安装和激活 Minitab 统计软件
    linux添加了公钥后,ssh登录却还需要密码
    PyTorch中collate_fn的应用
    数据结构:赫夫曼编码
    网安入门17-XSS(打Cookie)
    13 C++11 线程同步之互斥锁
  • 原文地址:https://blog.csdn.net/yushaoyyds/article/details/134365973