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

LISTENER、TNSNAMES和SQLNET配置文件

LISTENER、TNSNAMES和SQLNET配置文件

  • 用户连接验证
  • listener.ora
    • 文件配置
    • 监听日志
    • local_listener参数
  • tnsnames.ora
    • 文件配置
  • sqlnet.ora
    • 文件配置

用户连接验证

Oracle数据库中用户有三种常见的登录验证方式:

  • 通过操作系统用户验证:必须是在数据库服务器本地登录,并且操作系统用户必须是oracle用户。此方式不会验证用户名和密码,并且登录数据库后的用户身份是SYS
sqlplus / as sysdba
sqlplus <username>/<wrong_password> as sysdba   # 输错密码也可以登录
  • 通过EZCONNECT连接方式验证:
sqlplus <username>/<password>@<listener_hostname>:<listener_port>/<service_name>
  • 通过TNSNAMES连接方式验证:此方式要求提前在tnsnames.ora中配置好TNS连接名。
sqlplus <username>/<password>@<TNS连接名>

listener.ora

🦈Oracle监听器的配置文件,位置在数据库服务器的$ORACLE_HOME/network/admin/listener.ora。Listener负责监听客户端的连接请求,并管理到连接到数据库服务器的流量。

文件配置

LISTENER =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = oracle19c)(PORT = 1521)))SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = mario)(ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1/)(SID_NAME = mario)))ADR_BASE_LISTENER=/u01/app      # 监听器LISTENER的ADR自动诊断文件的位置
DIAG_ADR_ENABLED_LISTENER=OFF   # 是否开启对监听器LISTENER的ADR tracing

其中:

  • HOST:监听器所在本地服务器的主机名,也可以是IP地址。如果是主机名,需要在/etc/hosts文件或者DNS服务器中配置解析。
  • ORACLE_HOME:与oracle操作系统用户的环境变量${ORACLE_HOME}保持一致。
  • GLOBAL_DBNAMESID_NAME:通常与pfile中的db_nameinstance_name、以及oracle操作系统用户的环境变量${ORACLE_SID}保持一致。

监听日志

通过Listener监听日志可以协助排查一些客户端的连接问题。

grep -A5 '2022-04-27' $ORACLE_BASE/diag/tnslsnr/`hostname`/listener/alert/log.xml

local_listener参数

LREG进程只会动态注册(每隔1分钟)端口为1521的监听。如果要给监听器配置1521端口的监听,还需要修改local_listener参数。以配置1523监听端口为例,具体配置过程如下。

在Listener配置文件中添加:

LISTENER2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = oracle19c)(PORT = 1522)))

在TNS配置文件中添加:

LISTENER2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = oracle19c)(PORT = 1522)))

修改local_listener参数:

SQL> alter system set local_listener=listener2;

检查监听器状态:

lsnrctl status listener2
lsnrctl status

如果要恢复默认配置只需置空local_listener参数:

SQL> alter system set local_listener='';

tnsnames.ora

🦈TNS配置文件中可以定义一系列连接描述符,用于标识数据库服务的网络位置和服务名。其位置在客户端或者数据库服务端的$ORACLE_HOME/network/admin/tnsnames.ora

文件配置

MARIO =
(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = oracle19c)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = mario))
)

其中:

  • 第一行等号前的字符串(这里是MARIO)为定义的TNS连接描述符,用于通过TNS方式连接到数据库。一般不区分大小写。
  • HOST:Oracle数据库服务器(本地或者远程服务器都行)的主机名,也可以是IP地址。如果是主机名,需要在/etc/hosts文件或者DNS服务器中配置解析。
  • SERVICE_NAME:与pfile中的service_names参数保持一致。可以通过show parameter names语句查看。

sqlnet.ora

🦈SQLNET配置文件中定义了一组Oracle Net相关参数。其位置在客户端或者数据库服务端的$ORACLE_HOME/network/admin/sqlnet.ora

文件配置

SQLNET常见的一般配置如下:

# 解析客户端连接字符串所使用方法的先后顺序,默认顺序是:tnsnames > ldap > ezconnect
NAMES.DIRECTORY_PATH=(TNSNAMES,EZCONNECT)ADR_BASE=/u01/app               # ADR自动诊断仓库文件的位置
DIAG_ADR_ENABLED=OFF            # 是否开启ADR tracing# 每隔几分钟检查一次客户端和服务器连接是否还处于活跃状态
SQLNET.EXPIRE_TIME=10
# 客户端建立数据库连接的超时时间,默认60s
SQLNET.INBOUND_CONNECT_TIMEOUT=180

相关文章:

LISTENER、TNSNAMES和SQLNET配置文件

LISTENER、TNSNAMES和SQLNET配置文件 用户连接验证listener.ora文件配置监听日志local_listener参数 tnsnames.ora文件配置 sqlnet.ora文件配置 用户连接验证 Oracle数据库中用户有三种常见的登录验证方式&#xff1a; 通过操作系统用户验证&#xff1a;必须是在数据库服务器…...

【Leetcode -225.用队列实现栈 -232.用栈实现队列】

Leetcode Leetcode -225.用队列实现栈Leetcode -232.用栈实现队列 Leetcode -225.用队列实现栈 题目&#xff1a;仅使用两个队列实现一个后入先出&#xff08;LIFO&#xff09;的栈&#xff0c;并支持普通栈的全部四种操作&#xff08;push、top、pop 和 empty&#xff09;。 …...

悟道3.0全面开源!LeCun VS Max 智源大会最新演讲

夕小瑶科技说 原创 作者 | 小戏 2023 年智源大会如期召开&#xff01; 这场汇集了 Geoffery Hinton、Yann LeCun、姚期智、Joseph Sifakis、Sam Altman、Russell 等一众几乎是 AI 领域学界业界“半壁江山”的大佬们的学术盛会&#xff0c;聚焦 AI 领域的前沿问题&#xff0c…...

2023蓝桥杯大学A组C++决赛游记+个人题解

Day0 发烧了一晚上没睡着&#xff0c;感觉鼻子被打火机烧烤一样难受&#xff0c;心情烦躁 早上6点起来吃了个早饭&#xff0c;思考能力完全丧失了&#xff0c;开始看此花亭奇谭 看了六集&#xff0c;准备复习数据结构考试&#xff0c;然后秒睡 一睁眼就是下午2点了 挂了个…...

wkhtmltopdf踩坑记录

1. 不支持writing-mode。 需求是文字纵向排列&#xff0c;内容从左到右&#xff0c;本来用的是writing-mode: tb-rl;&#xff0c;插件转pdf后发现失效。 解决方法&#xff1a; 让每一列文字单独用一个div容器包裹&#xff0c;对它的宽度进行限制&#xff0c;控制每一行只能出现…...

贪心算法part2 | ● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

文章目录 122.买卖股票的最佳时机II思路思路代码官方题解困难 55. 跳跃游戏思路思路代码官方题解代码困难 45.跳跃游戏II思路思路代码困难 今日收获 122.买卖股票的最佳时机II 122.买卖股票的最佳时机II 思路 局部最优&#xff1a;将当天价格和前一天比较&#xff0c;价格涨…...

[C++]异常笔记

我不怕练过一万种腿法的对手,就怕将一种腿法 练一万次的对手。 什么是C的异常 在C中&#xff0c;异常处理通常使用try-catch块来实现。try块用于包含可能会抛出异常的代码&#xff0c;而catch块用于捕获并处理异常。当异常被抛出时&#xff0c;程序会跳过try块中未执行…...

浅谈一级机电管道设计中的压力与介质温度

管道设计是工程设计中的一个非常重要的部分&#xff0c;管道的设计需要考虑到许多因素&#xff0c;其中就包括管道设计压力分类和介质温度分类。这两个因素是在设计管道时必须非常严格考虑的&#xff0c; 首先是管道设计压力分类。在管道设计中&#xff0c;根据工作要求和要传输…...

Docker网络模型(八)使用 macvlan 网络

使用 macvlan 网络 一些应用程序&#xff0c;特别是传统的应用程序或监控网络流量的应用程序&#xff0c;期望直接连接到物理网络。在这种情况下&#xff0c;你可以使用 macvlan 网络驱动为每个容器的虚拟网络接口分配一个MAC地址&#xff0c;使其看起来像一个直接连接到物理网…...

控制视图内容的位置

文本域中的提示内容在默认情况下是垂直居中的&#xff0c;要改变文本在文本域中的位置&#xff0c;可以使用android:gravity来实现。 利用android:gravity可以指定如何在视图中放置视图内容&#xff0c;例如&#xff0c;如何在文本域中放置文本。 如果希望视图文本显示在上方&a…...

【分布式系统与一致性协议】

分布式系统与一致性协议 CAP原理APCPCA总结BASE理论 一致性拜占庭将军问题 分布式系统是一个硬件或软件组件分布在不同的网络计算机上&#xff0c;彼此之间仅仅通过消息传递进行通信和协调的系统。 分布式系统的设计目标一般包含如下&#xff1a; 可用性&#xff1a;可用性是分…...

音视频领域的未来发展方向展望

文章目录 音视频领域的未来发展方向全景音视频技术虚拟现实和增强现实的区别 人工智能技术可视化智能分析智能语音交互图像识别和视频分析技术 语音处理智能推荐技术远程实时通信 流媒体技术未来方向 音视频领域的未来发展方向 全景音视频技术&#xff1a;全景音视频技术是近年…...

时间同步/集群时间同步/在线/离线

目录 一、能够连接外网 二、集群不能连接外网--同步其它服务器时间 一、能够连接外网 1.介绍ntp时间协议 NTP&#xff08;Network Time Protocol&#xff09;网络时间协议&#xff0c;是用来使计算机时间同步的一种协议&#xff0c;它可以使计算机对其服务器或时钟源做同步…...

基于BP神经网络对MNIST数据集检测识别(numpy版本)

基于BP神经网络对MNIST数据集检测识别 1&#xff0e;作者介绍2&#xff0e;BP神经网络介绍2.1 BP神经网络 3&#xff0e;BP神经网络对MNIST数据集检测实验3.1 读取数据集3.2 前向传播3.3 损失函数3.4 构建神经网络3.5 训练3.6 模型推理 4&#xff0e;完整代码 1&#xff0e;作者…...

HTML5-创建HTML文档

HTML5中的一个主要变化是&#xff1a;将元素的语义与元素对其内容呈现结果的影响分开。从原理上讲这合乎情理。HTML元素负责文档内容的结构和含义&#xff0c;内容的呈现则由应用于元素上的CSS样式控制。下面介绍最基础的HTML元素&#xff1a;文档元素和元数据元素。 一、构建…...

Vue中Axios的封装和API接口的管理

一、axios的封装 在vue项目中&#xff0c;和后台交互获取数据这块&#xff0c;我们通常使用的是axios库&#xff0c;它是基于promise的http库&#xff0c;可运行在浏览器端和node.js中。他有很多优秀的特性&#xff0c;例如拦截请求和响应、取消请求、转换json、客户端防御XSR…...

MLIR面试题

1、请简要解释MLIR的概念和用途&#xff0c;并说明MLIR在编译器领域中的重要性。 MLIR(Multi-Level Intermediate Representation)是一种多级中间表示语言&#xff0c;提供灵活、可扩展和可优化的编译器基础设施。MLIR的主要目标是为不同的编程语言、领域专用语言(DSL)和编译器…...

***杨辉三角_yyds_LeetCode_python***

1.题目描述&#xff1a; 给定一个非负整数 numRows&#xff0c;生成「杨辉三角」的前 numRows 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 示例 1: 输入: numRows 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]] 示例 2: 输入: numRows …...

Mac使用DBeaver连接达梦数据库

Mac使用DBeaver连接达梦数据库 下载达梦驱动包 达梦数据库 在下载页面随便选择一个系统并下载下来。 下载下来的是zip的压缩包解压出来就是一个ISO文件&#xff0c;然后我们打开ISO文件进入目录&#xff1a;/dameng/source/drivers/jdbc 进入目录后找到这几个驱动包&#x…...

spring.expression 随笔0 概述

0. 我只是个普通码农&#xff0c;不值得挽留 Spring SpEL表达式的使用 常见的应用场景:分布式锁的切面借助SpEL来构建key 比较另类的的应用场景:动态校验 个人感觉可以用作控制程序的走向&#xff0c;除此之外&#xff0c;spring的一些模块的自动配置类&#xff0c;也会在Cond…...

2026 年 Redis 面试题全解析:原理 + 实战 + 高频考点

Redis 高频面试题全解析&#xff08;2026 最新版&#xff09; Redis 作为后端开发高并发、高可用架构的核心组件&#xff0c;是面试中必问的核心考点。本文从基础入门、核心原理、高并发实战、高可用架构、进阶运维五大模块&#xff0c;整理大厂高频面试题与标准答案&#xff…...

如何实现一个延迟队列?

1. 基于 Sorted Set (ZSet) 的实现 这是最轻量级、最原生的 Redis 延迟队列实现方式。 核心思想&#xff1a;利用 ZSet 可以根据 score 进行排序的特性。我们将任务的预期执行时间戳作为 score&#xff0c;任务的具体内容&#xff08;或任务 ID&#xff09;作为 member。 生产…...

小白程序员也能抓住的AI高薪机遇:大模型时代的机会与挑战

某书成立AI一级部门&#xff0c;预示着AI成为大厂核心战略。AI已从噱头渗透到工作和生活中&#xff0c;带来高薪机遇。AI大模型应用开发工程师年薪可达70万&#xff0c;薪资高源于需求大、供给少。无论技术岗还是非技术岗&#xff0c;AI都将创造更多机会。普通人应主动学习AI工…...

从通信原理到Verilog:一个约束长度7的卷积码编码器是如何炼成的?

从通信原理到Verilog&#xff1a;一个约束长度7的卷积码编码器是如何炼成的&#xff1f; 在数字通信系统的设计中&#xff0c;纠错编码技术如同隐形的守护者&#xff0c;确保数据在嘈杂信道中可靠传输。卷积码因其优异的纠错性能和简洁的编码结构&#xff0c;成为卫星通信、深空…...

Linux I2C设备驱动避坑指南:以MPU6050为例,解决i2c_transfer返回EIO错误

Linux I2C设备驱动深度排障&#xff1a;MPU6050的EIO错误全解析 调试嵌入式设备时&#xff0c;最令人沮丧的莫过于那些间歇性出现的错误。它们像幽灵一样时隐时现&#xff0c;让开发者陷入无尽的猜测和试错循环。MPU6050作为一款广泛使用的运动传感器&#xff0c;其I2C接口的稳…...

Python 项目结构与相对导入的实践

在 Python 编程中,模块间的导入是非常常见的操作,但有时会遇到一些棘手的问题,比如相对导入的错误。让我们通过一个具体的例子来探讨如何解决这些问题。 问题描述 假设你有一个名为 draft 的文件夹结构如下: draft/model/a.pypackage/b.py在 b.py 中,你希望导入 a.py 中…...

如何快速导出API账单数据?New API 数据导出功能完整指南

如何快速导出API账单数据&#xff1f;New API 数据导出功能完整指南 【免费下载链接】new-api A unified AI model hub for aggregation & distribution. It supports cross-converting various LLMs into OpenAI-compatible, Claude-compatible, or Gemini-compatible for…...

GPU架构优化新突破:Lumina框架解决AI硬件设计挑战

1. GPU架构设计空间探索的挑战与机遇现代AI计算基础设施中&#xff0c;GPU已成为支撑大规模模型训练与推理的核心硬件。随着大语言模型&#xff08;LLM&#xff09;参数规模突破千亿级别&#xff0c;传统GPU架构设计方法面临三大核心挑战&#xff1a;设计空间爆炸问题&#xff…...

别再折腾了!Windows 10/11下用VS2019编译ActiveMQ-CPP库的保姆级避坑指南

Windows平台下VS2019编译ActiveMQ-CPP库的终极解决方案 在Windows环境下使用Visual Studio 2019编译ActiveMQ-CPP库&#xff0c;对于需要实现高效消息队列通信的C开发者而言&#xff0c;是一个既关键又充满挑战的任务。不同于其他语言生态中"一键安装"的便捷&#x…...

别再乱配了!SpringBoot配置文件加载顺序的实战避坑指南(附优先级图解)

SpringBoot配置加载优先级深度解析&#xff1a;从原理到实战避坑 SpringBoot的配置加载机制看似简单&#xff0c;实则暗藏玄机。许多开发者在使用过程中都曾遇到过配置不生效、覆盖关系混乱的问题&#xff0c;尤其是在多环境部署或使用外部配置时。本文将深入剖析SpringBoot配置…...