Oracle-应用会话集中在RAC集群一个节点问题

问题:

        用户一套Oracle19c RAC集群,出现一个奇怪的现象,通过SCAN IP访问的连接会话都集中在节点一实例,而且用户并没有做任何的节点服务访问去控制会话的连接节点,比如常见的通过集群的高可用服务去控制应用访问连接集中在同一节点,从而避免gc产生性能消耗问题。

问题分析:

        因为应用都是通过scan ip去连接的数据库,所以我们首先先检查了scan监听listener_scan1的服务注册情况,发现监听上面的服务注册存在问题,监听上的每个服务注册实例只有节点一,并没有节点二的实例,这也解释了为什么应用访问RAC集群都集中在节点一的原因,因为节点二实例根本就没有服务注册进scan监听

        接下来检查节点二的scan监听实例配置参数remote_listener,确认是否有配置向scan 监听进行注册的地址,可以看到remote_listener有配置scan ip的域名以及端口

        检查scan_listener的日志,发现存在一些异常的报错信息,显示出现访问被拒绝的情况,这里的169.254.31.131为节点二的haip

Incoming connection from 169.254.31.131 rejected

TNS-12546: TNS:permission denied

TNS-12560: TNS:protocol adapter error

TNS-00516:Permission denied

        怀疑是不是设置了白名单访问导致的问题,检查节点一的sqlnet.ora配置,发现白名单的IP列表有包含整个业务网段(public ip,vip,scan ip所在的网段)xxx.xxx.3.*

        通过跟踪数据库注册服务的过程,获取进一步详细的信息,需要注意的事,在12c之后,数据库向监听动态注册服务的后台进行为LREG (ListenerREGistration)进程,不是之前版本的pmon进程,对LREG开启跟踪

--查看lreg进程spid
ps -ef |grep lreg
--进行跟踪
oradebug setospid xxx
oradebug dump sqlnet_server_trace 16
--关闭跟踪
oradebug dump sqlnet_server_trace 0

        分析产生的跟踪文件xxx_lreg_xxx.trc,可以看到一开始数据库是向SCAN IP:xxx.xxx.3.20的地址进行注册

        但后面解析地址又返回的是scan监听所在节点的haip169.254.7.254,然后遇到了错误TNS-12547,TNS-12560

        为什么注册scan监听最后变成是haip的通信,我们从Oracle mos官方上的文章ORA-12514 & Services Fail to Register to SCAN Listeners After HAIP Offline (Doc ID 2500067.1)发现了答案,原来从12c之后,scan监听通过配置参数REMOTE_REGISTRATION_ADDRESS_<listener_name

将haip作为远程注册的地址,从而限制实例的动态服务注册只能通过haip进行

        lsnrctl show remote_registration_address listener_scan1查看scan监听的远程注册地址, 可以看到scan监听的远程注册地址为169.254.7.254

        这时我们再重新回到之前检查scan监听的日志错误以及白名单的配置,为啥会出现注册节点haip 169.254.31.131被拒绝的情况,就是因为白名单里面只配置了业务网段xxx.xxx.3.*,但没有加入haip网段169.254.*.*,导致节点二通过haip注册节点一的scan 监听时被拒绝

Incoming connection from 169.254.31.131 rejected

TNS-12546: TNS:permission denied

TNS-12560: TNS:protocol adapter error

TNS-00516:Permission denied

问题解决

        将haip网段169.254.*.*加入白名单的tcp.invited_nodes配置列表里面,然后重启scan监听恢复正常,节点二的实例也能注册到scan 监听里面

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【BIG_FG_CSDN】*VMware17pro*Linux*Redhit6网络管理(个人向——学习笔记)

物理机中的网络 查看物理网络的方法 “网络连接”—>单点选中网络的选项-->菜单栏中“查看此连接状态”-->“详细信息” “网络连接”中的VM网卡 在主机上对应的有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡&#xff0c;它们分别…

【SpringMVC】SpringMVC简介、过程分析、bean的加载和控制

文章目录 1. SpringMVC简介2. SpringMVC入门案例文件结构第一步&#xff1a;坐标导入第二步&#xff1a;创建SpringMVC容器的控制器类第三步&#xff1a;初始化SpringMVC环境&#xff0c;设定Spring加载对应的bean第四步&#xff1a;初始化Servlet容器&#xff0c;加载SpringMV…

【数据结构】(堆)Top-k|堆排序

目录 概念&#xff1a; 堆的实现 构建 初始化 销毁 插入元素 往上调整 删除堆顶元素 往下调整 返回堆顶元素 返回有效个数 是否为空 堆排序 Top-k问题 ​编辑 创建数据 堆top-k 概念&#xff1a; 堆是将数据按照完全二叉树存储方式存储到一维数组中&#xff…

C语言使用posix正则表达式库

在C语言中&#xff0c;你可以使用 POSIX 正则表达式库&#xff08;regex.h&#xff09;来进行正则表达式的模式匹配。POSIX 正则表达式库提供了一组函数来编译、执行和释放正则表达式。 下面是使用 POSIX 正则表达式库的基本步骤&#xff1a; 包含头文件 <regex.h>&…

Spring Boot 3 + Vue 3 整合 WebSocket (STOMP协议) 实现实时通信

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

【MySQL】数据库基础入门 安装MySQL

目录 介绍&#xff1a; 安装MySQL: 设置 root 账号密码 2.配置环境变量 2.找到 Path 系统变量, 点击 "编辑" 介绍&#xff1a; MySQL是一个开源的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它是一种用于管理和存储数据的软件。 安装MySQL: …

前端登录界面网站设计模板--HTML+CSS

🎀登录表单 💖效果展示 💖HTML代码展示 <!DOCTYPE html> <html lang="en" > <head></

Linux驱动(中断、异步通知):红外对射,并在Qt StatusBus使用指示灯进行显示

本文工作&#xff1a; 1、Linux驱动与应用程序编写&#xff1a;使用了设备树、中断、异步通知知识点&#xff0c;实现了红外对射状态的异步信息提醒。 2、QT程序编写&#xff1a;自定义了一个“文本指示灯”类&#xff0c;并放置在QMainWidget的StatusBus中。 3、C与C混合编程与…

[Verilog] Verilog 数据类型

主页&#xff1a; 元存储博客 文章目录 前言1. bit 类型2. reg 类型3 wire类型4 integer类型5 real类型6 parameter类型7 enum类型8 array 类型9 向量类型10 time 类型11 string 类型 前言 在 Verilog 中&#xff0c;有几种不同的数据类型可以用于声明和操作变量。 在 Verilo…

Missing artifact org.wltea.analyzer:ik-analyzer:jar:5.0

没有找到【org.wltea.analyzer】 找到了【org.wltea.ik-analyzer】 https://github.com/wks/ik-analyzer https://github.com/wks/ik-analyzer.git https://code.google.com/archive/p/ik-analyzer/downloads?page2 C:\Users\Administrator\Desktop\ik-analyzer-master>m…

Docker使用3-Share the application

写在前面 本文主题是Share the application&#xff0c;这里是链接。本文主要学习如何将镜像image上传到Docker Hub 创建仓库 创建并登录Docker Hub登录后点击Create Repository按钮仓库名填写getting-started&#xff0c;确保仓库权限为公开的点击Create按钮 推送镜像 在…

ArcMap自定义脚本工具箱迁移至ArcGIS pro

本文记录了将ArcMap10.7创建的自定义脚本工具箱&#xff08;.tbx&#xff09;迁移至ArcGIS pro的过程 ArcGIS Pro使用的是python版本与ArcMap不同&#xff0c;前者为python3&#xff0c;后者为python2。由于python3 和 python2 的部分语法不兼容&#xff0c;以及一些地理处理工…