当前位置: 首页 > news >正文

Oracle(2-2)Oracle Net Architecture

文章目录

  • 一、基础知识
    • 1、Oracle Net Connections Oracle网络连接
    • 2、C/S Application Connection C/S应用程序连接
    • 3、OSI Communication Layers OSI通信层
    • 4、Oracle Protocol Support Oracle协议支持
    • 5、B/S Application Connections B/S应用程序连接
    • 6、TwoTypes JDBC Drivers 两种JDBC连接方式
    • 7、Web Connection Using HTTP web浏览器使用HTTP连接Oracle
    • 8、Concepts & Terminology 概念和术语介绍
    • 9、连接三步走的过程
    • 10、Net Configuration Models 网络配置模型
    • 11、Overview of Naming Methods 命名方法概述
    • 12、Configuration Files Oracle配置文件
    • 13、Three Key Parameters 连接的三个关键参数
  • 二、基础操作
    • 1、监听程序的启动
    • 2、查看Oracle服务名字的方法

在这里插入图片描述

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

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

cat tnsnames.ora

在这里插入图片描述

  • 我们能够看出它的协议是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

在这里插入图片描述

相关文章:

Oracle(2-2)Oracle Net Architecture

文章目录 一、基础知识1、Oracle Net Connections Oracle网络连接2、C/S Application Connection C/S应用程序连接3、OSI Communication Layers OSI通信层4、Oracle Protocol Support Oracle协议支持5、B/S Application Connections B/S应用程序连接6、TwoTypes JDBC Drivers 两…...

高速高精运动控制,富唯智能AI边缘控制器助力自动化行业变革

随着工业大数据时代的到来,传统控制与决策方式无法满足现代数字化工厂对工业大数据分析与决策的需求,AI边缘控制器赋能现代化智慧工厂,实现工业智造与行业变革。 富唯智能AI边缘控制器,基于x86架构的IPC形态产品,通过…...

GPTS应用怎么创建?GPTS无法创建应用很卡怎么办

在首届开发者大会上,OpenAI宣布推出了GPTs功能,也就是GPT Store,类似App Store的应用商店,任何用户都可以去参与创建应用。那么GPTS应用该如何创建?碰到应用无法创建很卡怎么办呢?下面就为大家带来GPTS应用创建图文教程&#xf…...

目标检测YOLO实战应用案例100讲-基于无人机的运动目标检测

目录 前言 国内外研究现状 2运动目标检测相关理论基础 2.1 运动目标检测算法...

东莞松山湖数据中心|莞服务器托管的优势

东莞位于珠江三角洲经济圈,交通便利,与广州、深圳等大城市相邻,而且东莞是中国重要的制造业基地,有众多的制造业和科技企业集聚于此,随着互联网和数字化时代的到来,企业都向数字化转型,对于信息…...

时间序列预测实战(十五)PyTorch实现GRU模型长期预测并可视化结果

往期回顾:时间序列预测专栏——包含上百种时间序列模型带你从入门到精通时间序列预测 一、本文介绍 本文讲解的实战内容是GRU(门控循环单元),本文的实战内容通过时间序列领域最经典的数据集——电力负荷数据集为例,深入的了解GRU的基本原理和…...

探索STM32系列微控制器的特性和性能

STM32系列微控制器是意法半导体(STMicroelectronics)公司开发的一款强大的嵌入式微控制器系列。该系列微控制器以其丰富的特性和卓越的性能,成为了嵌入式系统开发领域的首选。本文将深入探索STM32系列微控制器的特性和性能,并结合…...

数据结构(超详细讲解!!)第二十三节 树型结构

1.定义 树型结构是一类重要的非线性数据结构,是以分支关系定义的层次结构。是一种一对多的逻辑关系。 树型结构是结点之间有分支,并且具有层次关系的结构,它非常类似于自然界中的树。树结构在客观世界中是大量存在的,例如家谱、…...

Python 日志记录器logging 百科全书 之 日志回滚

Python 日志记录器logging 百科全书 之 日志回滚 前言 在之前的文章中,我们学习了关于Python日志记录的基础配置。 本文将深入探讨Python中的日志回滚机制,这是一种高效管理日志文件的方法,特别适用于长时间运行或高流量的应用。 知识点&…...

线圈寿命预测 数据集讲解

来自-郭师兄 1.这个是线圈数据的阻抗、电抗等数据,我想根据这个个数据进行线圈寿命预测也就是RUL预测,请问有什么思路吗。 最简单的思路: 数据通过某种方法进行压缩表征到一维再通过 同时需要标签。 确定一个特征 使用降维方法如同PCA来构…...

Flutter.源码分析.flutter/packages/flutter/lib/src/widgets/scroll_view.dart/GridView

Flutter.源码分析 GridView flutter/packages/flutter/lib/src/widgets/scroll_view.dart/GridView 李俊才 的个人博客:https://blog.csdn.net/qq_28550263 本文地址:https://blog.csdn.net/qq_28550263/article/details/134375048 本文提供 Flutter 框…...

IDEA 2022创建Spring Boot项目

首先点击New Project 接下来: (1). 我们点击Spring Initializr来创建。 (2). 填写项目名称 (3). 选择路径 (4). 选择JDK------这里笔者选用jdk17。 (5). java选择对应版本即可。 (6). 其余选项如无特殊需求保持默认即可。 然后点击Next。 稍等一会&#xff0c…...

Python 框架学习 Django篇 (十) Redis 缓存

开发服务器系统的时候,程序的性能是至关重要的。经过我们前面框架的学习,得知一个请求的处理基本分为接受http请求、数据库处理、返回json数据,而这3个部分中就属链接数据库请求的响应速度最慢,因为数据库操作涉及到数据库服务处理…...

考研数学笔记:线性代数中抽象矩阵性质汇总

在考研线性代数这门课中,对抽象矩阵(矩阵 A A A 和矩阵 B B B 这样的矩阵)的考察几乎贯穿始终,涉及了很多性质、运算规律等内容,在这篇考研数学笔记中,我们汇总了几乎所有考研数学要用到的抽象矩阵的性质…...

C语言--假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只​

一.题目描述 假设共有鸡、兔30只,脚90只,求鸡、兔各有多少只? 二.思路分析 本题是一个典型的穷举法例题,而穷举法,最重要的就是条件判断。⭐⭐ 本题中的条件很容易发现: 假设鸡有x只,兔有y只…...

nacos适配达梦数据库

一、下载源码 源码我直接下载gitee上nacos2.2.3的,具体链接:https://gitee.com/mirrors/Nacos/tree/2.2.3,具体如下图: 二、集成达梦数据库驱动 解压源码包,用idea打开源码,等idea和maven编译完成&#xff…...

CTFhub-RCE-读取源代码

源代码&#xff1a; <?php error_reporting(E_ALL); if (isset($_GET[file])) { if ( substr($_GET["file"], 0, 6) "php://" ) { include($_GET["file"]); } else { echo "Hacker!!!"; } } else {…...

Ansible playbook详解

playbook是ansible用于配置&#xff0c;部署&#xff0c;和被管理被控节点的剧本 playbook常用的YMAL格式&#xff1a;&#xff08;文件名称以 .yml结尾&#xff09; 1、文件的第一行应该以 "---" (三个连字符)开始&#xff0c;表明YMAL文件的开始。    2、在同一…...

Linux编辑器:vim的简单介绍及使用

目录 1.什么是vim 2.vim的基本概念 3.vim 的基本操作 4. 各模式下的命令集 4.1 正常模式命令集 4.2 末行模式命令集 5.补充 5.1 vim支持多文件编辑 5.2 vim 的配置 1.vim 配置原理 2. 常用简单配置选项&#xff1a; 3. 使用插件 1.什么是vim Vim 是从 vi 发展出…...

Redhat7查看时区、修改时区

问题&#xff1a; 安装好redhat7之后&#xff0c;发现时间和物理机上面的网络时间不一致&#xff0c;于是查看本着修改时间的目的&#xff0c;却发现原来是时区的问题。 解决步骤&#xff1a; 查看时区状态信息 timedatectl修改时区到亚洲/上海 timedatectl set-timezone A…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层&#xff08;GATT/Adv&#xff09;局限性&#xff1a; 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能&#xff0c;如 Configuration …...

前端高频面试题2:浏览器/计算机网络

本专栏相关链接 前端高频面试题1&#xff1a;HTML/CSS 前端高频面试题2&#xff1a;浏览器/计算机网络 前端高频面试题3&#xff1a;JavaScript 1.什么是强缓存、协商缓存&#xff1f; 强缓存&#xff1a; 当浏览器请求资源时&#xff0c;首先检查本地缓存是否命中。如果命…...

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!

【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...

链式法则中 复合函数的推导路径 多变量“信息传递路径”

非常好&#xff0c;我们将之前关于偏导数链式法则中不能“约掉”偏导符号的问题&#xff0c;统一使用 二重复合函数&#xff1a; z f ( u ( x , y ) , v ( x , y ) ) \boxed{z f(u(x,y),\ v(x,y))} zf(u(x,y), v(x,y))​ 来全面说明。我们会展示其全微分形式&#xff08;偏导…...