图文深入理解Oracle Network配置管理(一)

news2024/9/28 18:06:58
  1. List item

本篇图文深入介绍Oracle Network配置管理。

Oracle Network概述

Oracle Net 服务

在这里插入图片描述

Oracle Net 监听程序

在这里插入图片描述

<oracle_home>/network/admin/listener.ora
<oracle_home>/network/admin/sqlnet.ora

建立网络连接

要建立客户机或中间层连接,Oracle Net 要求客户机了解下列事项:
• 运行监听程序的主机(Host)
• 监听程序监视的端口(Port)
• 监听程序使用的协议(Protocol)
• 监听程序处理的服务名(Service Name)

建立连接

连接请求从用户或中间层应用程序(以下称为“用户进程”)传递到监听程序(Listener)。
监听程序会接收一个 CONNECT 数据包,之后会检查此CONNECT 数据包请求的 Oracle Net 服务名是否有效?
• 如果没有请求的服务名(例如 tnsping 测试请求),监听程序会确认连接请求,不执行任何其它操作。
• 如果请求的服务名无效,则监听程序会将错误代码传输给该用户进程。

用户会话

• 如果 CONNECT 数据包请求了一个有效的服务名,则监听程序将衍生一个新的进程来处理该连接。此新进程称为“服务器进程”(Server Process)。
• 监听程序会传递初始化信息给服务器进程,包括用户进程的地址信息。并把所有工作都传递到服务器进程处理。
• 服务器进程将检查用户的验证身份证明(通常为用户密码),如果身份证明有效,则创建一个用户会话(Session)。
在这里插入图片描述

配置和管理 Oracle Network 的工具

• Enterprise Manager: Home > Listener > Related_Links: Net
Services Administration
• Oracle Net Manager (netmgr)
• Oracle Net Configuration Assistant (netca)
• 命令行工具 (lsnrctl 或 srvctl)
• 网络配置文件:
–listener.ora
– tnsnames.ora
– sqlnet.ora

可以使用 lsnrctl 命令(或通过 OEM)控制 Oracle Net 监听程序。可以使用命令行或 LSNRCTL 提示符发出监听控制程序的命令。
• 命令行语法:

$ lsnrctl <command name>
$ lsnrctl start
$ lsnrctl status

• 提示符语法:

LSNRCTL> <command name>
LSNRCTL> start
LSNRCTL> status

使用 SRVCTL 启动和停止监听程序

如果配置了 Oracle Restart,则应使用 SRVCTL 来管理监听程序。

$ srvctl -h
$ srvctl start listener
$ srvctl stop listener
$ srvctl start listener –l mylistener
$ srvctl status listener

数据库(动态/静态)服务注册

• 动态服务注册:DB 实例会在启动数据库时向默认监听程序自动进行注册,不需要其它的监听程序配置。
• 静态服务注册:为监听程序配置文件添加一个数据库服务列表,监听程序为之提供服务

Oracle Net 命名方法

Oracle Net 支持多种解析连接信息的方法:
• 简便连接命名(EZCONNECT):无需配置,直接使用 TCP/IP 连接字符串(由主机名、可选端口和服务名组成),格式如下:

CONNECT username/password@host[:port][/service_name]

• 本地命名:使用本地 tnsnames.ora 配置文件
• 目录命名:使用符合 LDAP 的集中式目录服务器
• 外部命名:使用 Oracle 支持的第三方服务命名方式,如:
– 网络信息服务 (NIS)
– 分布式计算环境 (DCE) 单元目录服务 (CDS)
在这里插入图片描述

简便连接(EZConnect)

• 默认启用此方式
• 不需要进行客户机配置,连接字符串采用以下形式:

<username>/<password>@<hostname>:<listener port>/<service name>

• 仅支持 TCP/IP(无 SSL),默认 port 1521
• 不支持高级连接选项,如:
– 连接时故障转移
– 源路由
– 负载平衡

SQL> CONNECT hr/hr@oracle.example.com:1521/orcl

在这里插入图片描述

本地命名

本地命名的好处是:数据库用户仅需要记住一个短别名,而不必记住简便连接所需的长连接字符串。
• 本地已知服务列表存储在以下配置文件中,默认位置在:

<oracle_home>/network/admin/tnsnames.ora

• tnsnames.ora 文件的位置也可以使用 TNS_ADMIN 环境变量指定
• 需要客户机名称解析文件(Hosts 文件)
• 支持所有的 Oracle Net 协议
• 支持高级连接选项,如:
– 连接时故障转移、源路由、负载平衡
在这里插入图片描述

目录命名

目录命名的好处是:只需将更新的服务名添加到 LDAP 目录,此服务名便可供用户在连接时使用,无需再到各个客户端修改设定。
• 需要加载了 Oracle Net 名称解析信息的 LDAP:
– Oracle Internet Directory – Microsoft Active Directory Services
• 支持所有的 Oracle Net 协议
• 支持高级连接选项
在这里插入图片描述

外部命名方法

• 外部命名类似于目录命名,是使用了受支持的非 Oracle 命名服务,包括:
– 网络信息服务 (NIS) 外部命名
– 分布式计算环境 (DCE) 单元目录服务 (CDS)
在这里插入图片描述

测试 Oracle Net 连接

tnsping 实用程序测试 Oracle Net 服务别名:
• 确保客户机与 Oracle Net 监听程序之间的连接
• 不验证所请求的服务是否可用
• 支持简便连接名称解析:

tnsping host01.example.com:1521/orcl

• 支持本地命名和目录命名:

tnsping orcl

用户会话:专用服务器进程(Dedicated Server Processes)

在这里插入图片描述

用户会话:共享服务器进程(Shared Server Processes)

在这里插入图片描述

不能使用共享服务器的情况

不能使用共享服务器执行某些类型的数据库工作:
• 数据库管理(包括:启动和关闭实例、创建表空间和数据文件等需要由 DBA 执行的任务)
• 备份和恢复操作
• 批处理和批量加载操作
• 必须处理大批数据的数据仓库操作。

配置数据库之间的通信

• 在站点之间发送数据或消息时,需要在双方站点上进行网络配置。
• 必须配置以下项:
– 网络连接(例如 tnsnames.ora)
– 数据库链接(PUBLIC DATABASE LINK )

CREATE DATABASE LINK <remote_global_name>
CONNECT TO <user> IDENTIFIED BY <pwd>
USING '<connect_string_for_remote_db>';

未完待续。
码字不易,宝贵经验分享不易,请各位支持原创,转载注明出处,多多关注作者,后续不定期分享DB基本知识和排障案例及经验、性能调优等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2174329.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【嵌入式软件-数据结构与算法】01-数据结构

摘录于老师的教学课程~~(*๓╰╯๓)~~内含链表、队列、栈、循环队列等详细介绍~~ 基础知识系列 有空再继续更~~~ 目录 【链表】 一、单链表 1、存储结构&#xff1a;带头结点的单链表 2、单链表结点类型的定义 3、创建单链表 1&#xff09;头插法 2&#xff09;尾插法 …

上交所服务器崩溃:金融交易背后的技术隐患暴露杭州BGP高防服务器43.228.71.X

一、上交所宕机事件始末 2024 年 9 月 27 日&#xff0c;上交所交易系统突发崩溃&#xff0c;这一事件犹如一颗巨石投入平静的湖面&#xff0c;引起了轩然大波。当天上午&#xff0c;众多投资者反馈券商交易出现延迟问题&#xff0c;随后上交所发布了《关于股票竞价交易出现异常…

产品管理 - 互联网产品(3) : 迭代管理

1、需求文档的每一个迭代版本号&#xff0c;都需要标识出来 根据软件文档的配置标准&#xff1a; 上线时&#xff1a;X.Y 修改时&#xff1a;X.YZ 草稿时&#xff1a;0.XY 2、每一个项目干系人&#xff0c;都可以访问到最新版本的需求。 所有角色必须要有统的一认知。这是需求…

【一文读懂】通信卫星频段探秘:从L到Ka的全面介绍(增加Q/V和UHF频段)

一、引言 背景介绍&#xff1a; 卫星通信&#xff0c;作为现代通信技术的关键一环&#xff0c;利用人造卫星作为中继&#xff0c;实现了全球范围内的即时通信。这一技术极大地拓宽了通信的边界&#xff0c;对现代社会产生了深远影响。 在广播电视领域&#xff0c;卫星通信让…

Linux——K8s pod调度

rc/rsdeployment statefulset daemonsetjob | cronjob 访问pod中的应用&#xff1a;在pod已经处于running状态之下&#xff0c;客户端的请求如何到达pod中的应用&#xff1f; K8S 平台本身的网络架构设计&#xff1a; coredns 属于K8S核心组件&#xff0c;提供K8S集群…

甄选范文“论软件的可靠性设计”,软考高级论文,系统架构设计师论文

论文真题 现代军事和商用系统中,随着系统中软件成分的不断增加,系统对软件的依赖性越来越强。软件可靠性已成为软件设计过程中不可或缺的重要组成部分。实践证明,保障软件可靠性最有效、最经济、最重要的手段是在软件设计阶段采取措施进行可靠性控制,由此提出了可靠性设计…

05-成神之路_ambari_Ambari实战-013-代码生命周期-metainfo-configFiles详解

1.Redis 集群 metainfo.xml 示例 <?xml version"1.0"?> <metainfo><schemaVersion>2.0</schemaVersion><services><service><!-- Redis 集群服务的基本信息 --><name>REDIS</name><displayName>Redi…

告别选择困难症,这些AI高效工具正改变着500万创作者的工作方式

本文背景 有个小伙子叫李光头&#xff0c;最近他为了紧跟 AI 的潮流&#xff0c;下载了不少新玩意&#xff1a;用 GPT 来写文案&#xff0c;用 Midjourney 来画图。 可当他准备开始这周的工作时&#xff0c;却发现自己陷入了一种奇怪的困境&#xff1a;虽然有了很多 AI 工具&am…

解决在vue项目中index.html中直接引入Cesium.js时候报错:Cesium is not defined

在vue项目直接引入Cesium&#xff1a; 报错&#xff1a;Cesium is not defined 原因&#xff1a;eslint报错&#xff0c;找不到Cesium 这个全局变量。 解决&#xff1a;向ESLint规则中添加全局变量&#xff1a; 找到package.json文件&#xff0c;在eslintConfig里加入 "…

【JavaEE】——单例模式引起的多线程安全问题:“饿汉/懒汉”模式,及解决思路和方法(面试高频)

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯&#xff0c;你们的点赞收藏是我前进最大的动力&#xff01;&#xff01;希望本文内容能够帮助到你&#xff01; 目录 一&#xff1a;单例模式&#xff08;singleton&#xff09; 1&#xff1a;概念 二&#xff1a;“饿汉模…

CentOS 修改服务器登录密码的完整指南

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

众数问题,

在本实验中&#xff0c;需要编写一个程序来处理一组输入数据&#xff0c;找出其中的众数&#xff0c;即出现次数最多的数字。程序会读取文件中的数据进行处理&#xff0c;并将结果与标准答案进行比对&#xff0c;判断程序输出是否正确。 #include <bits/stdc.h> #define …

Spring-bean实例化的方式

前言 什么是bean的实例化&#xff1f; 通常我们使用spring管理java的对象&#xff0c;一般称这个java对象为一个实例化的bean。bean的实例化方式&#xff0c;实际上就是spring创建并管理java对象实例的方式 bean的实例化方式 在Java和Spring框架的上下文中&#xff0c;Bean的实…

测试用例的举例

1. 基于测试公式设计测试用例 通过功能&#xff0c;性能&#xff0c;安全性&#xff0c;界面&#xff0c;安全性&#xff0c;易用&#xff0c;兼容对于一个水杯进行测试用例的设计&#xff1b; 对于一个软件的测试用例设计&#xff1a; 功能&#xff1a;软件本质上能够用来干什…

京东健康高级项目经理段一凡受邀为第四届中国项目经理大会演讲嘉宾

全国项目经理专业人士年度盛会 京东健康技术产品部高级项目经理段一凡先生受邀为PMO评论主办的全国项目经理专业人士年度盛会——2024第四届中国项目经理大会演讲嘉宾&#xff0c;演讲议题为“项目经理如何做好资源管理——货币化资源管理实践”。大会将于10月26-27日在北京举办…

C++ | 定长内存池 | 对象池

文章目录 C | 定长内存池 | 对象池一、内存池的引入二、代码中的内存池实现 - ObjectPool类&#xff08;一&#xff09;整体结构&#xff08;二&#xff09;内存分配 - New函数&#xff08;三&#xff09;内存回收 - Delete函数 三、内存池在TreeNode示例中的性能测试演示四、脱…

文件和目录

文件和目录 获取文件属性 通过 ls 命令可以查看到文件的很多属性内容&#xff0c;这些文件属性的内容可以通过以下几个函数获取: #include <sys/types.h> #include <sys/stat.h> #include <unistd.h>int stat(const char *pathname, struct stat *statbuf…

第一节- C++入门

1. &#x1f680;&#x1f680;C关键字(C98) &#x1f33c;&#x1f33c;C总计63个关键字&#xff0c;C语言32个关键字 ps&#xff1a;下面我们只是看一下C有多少关键字&#xff0c;不对关键字进行具体的讲解。后面我们学到以后再细讲。 2. 命名空间 在C/C中&#xff0c;变量…

基于深度学习的学情智能监测系统设计与实现(PYQT+YOLOv8+训练数据集+论文+部署文档)

摘要 本文设计并实现了一个基于深度学习的学情智能监测系统&#xff0c;该系统通过对学生学习状态的自动监测与分析&#xff0c;旨在辅助教师更精准地把握学生学习情况&#xff0c;进而优化教学策略和提升教学质量。在论文中&#xff0c;详细描述了系统的设计与实现过程&#…

【web开发】Spring Boot 快速搭建Web项目(三)

Date: 2024.08.31 18:01:20 author: lijianzhan 简述&#xff1a;根据上篇原文Spring Boot 快速搭建Web项目&#xff08;二&#xff09;&#xff0c;由于已经搭建好项目初始的框架&#xff0c;以及自动创建了一个启动类文件&#xff08;TestWebApplication.java&#xff09; …