oracle enable broken,[20200220]关于SQLNET.EXPIRE_TIME and ENABLE=BROKEN的总结.txt

2023-11-13

[20200220]关于SQLNET.EXPIRE_TIME and ENABLE=BROKEN的总结.txt

--//昨天做了大量关于SQLNET.EXPIRE_TIME and ENABLE=BROKEN的测试,晚上再仔细看,测试做的有点乱。

--//做一些总结:

1. 12c之前设置SQLNET.EXPIRE_TIME在sqlnet.ora文件中,DCD判断链接并不使用TCP keep-alive feature特性。它会定期发送探测包给客

户端检测链接是否正常,如果在1个SQLNET.EXPIRE_TIME之内客户端有数据包发送,这个探测包在SQLNET.EXPIRE_TIME(单位:分钟)时

间到来时,不会发送探测数据包给客户端,这样有可能出现最大2*SQLNET.EXPIRE_TIME时间端内,没有发送探测数据包给客户端的情

况。

这样会导致一种情况,假设路由器等网络相关设置在10分钟发送接受数据包网络就会断开,设置SQLNET.EXPIRE_TIME最安全的方式是

设置SQLNET.EXPIRE_TIME=5,这样才能保持连接在空闲时链接不会断开。

--//注:关于这个10分钟来历,可以参考链接:http://blog.itpub.net/267265/viewspace-2150614/=>[20180129]测量网络断开时间.txt

2. 12之前如果不设置SQLNET.EXPIRE_TIME在sqlnet.ora文件中,网络链接使用TCP keep-alive feature特性。这点你可以执行

netsta -npo | grep 看看最后一个字段是否是keepalive确定。

而linux下实际上使用如下参数:

# echo /proc/sys/net/ipv4/tcp_keepalive* | xargs   -n 1  strings -1 -f

/proc/sys/net/ipv4/tcp_keepalive_intvl: 75

/proc/sys/net/ipv4/tcp_keepalive_probes: 9

/proc/sys/net/ipv4/tcp_keepalive_time: 7200

--//参数解析:

/proc/sys/net/ipv4/tcp_keepalive_time    当keepalive起用的时候,TCP发送keepalive消息的频度。默认是2小时。

/proc/sys/net/ipv4/tcp_keepalive_intvl   当探测没有确认时,keepalive探测包的发送间隔。缺省是75秒。

/proc/sys/net/ipv4/tcp_keepalive_probes  如果对方不予应答,keepalive探测包的发送次数。缺省值是9。

默认的参数tcp_keepalive_time设置太长,不使用SQLNET.EXPIRE_TIME在sqlnet.ora文件中,必须修改内核对应参数符合实际需求。

假设路由器等网络相关设置在10分钟发送接受数据包网络就会断开,这样必须修改/etc/sysctl.conf文件:

net.ipv4.tcp_keepalive_time = 590

net.ipv4.tcp_keepalive_intvl = 10

net.ipv4.tcp_keepalive_probes=4

这也是我个人推荐的模式,我个人感觉这样不会出现上面设置SQLNET.EXPIRE_TIME=5的情况。而且采用TCP keep-alive feature特性

更加科学,因为如果链接有数据包发送接收,计时重新开始(注:你可以执行sql语句后,使用netsta -npo | grep 看看最后一个字

段是否是keepalive确定),不会像设置SQLNET.EXPIRE_TIME时,定期发送探测包给客户端检测链接是否正常。

缺点就是必须手工设置内核参数/proc/sys/net/ipv4/tcp_keepalive*参数,符合网络需求。

3.12c之后(包括12c)设置SQLNET.EXPIRE_TIME在sqlnet.ora文件中,DCD判断链接使用TCP keep-alive feature特性。实际上就是将

SQLNET.EXPIRE_TIME的数值换成秒,通过调用setsockopt(N, SOL_SOCKET, SO_KEEPALIVE, [1], 4) [注:这里N对应socket的句柄]。

可以通过netsta -npo | grep 观察 最后一列是否是keepalive确定。

从这里也可以看出使用TCP keep-alive feature特性更加合理科学,不然oracle不会采用这种方式。

4.ENABLE=BROKEN 设置在tns连接串中,设置它相当于客户端使用TCP keep-alive feature特性。

如果不设置ENABLE=BROKEN,就是出现链接http://blog.itpub.net/267265/viewspace-2150555/=>奇怪的SQLNet message from dblink模拟

的情况,大约等927秒(15分钟)才会报错。

"缺点"就是必须手工设置内核参数/proc/sys/net/ipv4/tcp_keepalive*参数,符合网络需求,[注:是指客户端的内核参数。]

而且许多客户端或者中间服务器使用的是windows系统,如何修改注册表,我还给上网查询测试看看,明天继续在查一些资料看看。

5.链接是否可以使用TCP keep-alive feature特性,linux下可以通过执行netsta -npo | grep 观察 最后一列是否是keepalive确定。

这是一种简单快捷的方式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

oracle enable broken,[20200220]关于SQLNET.EXPIRE_TIME and ENABLE=BROKEN的总结.txt 的相关文章

  • Arduino ESP32 v2 使用记录:开发环境搭建

    文章目录 目的 开发环境搭建 程序下载测试 使用VS Code进行开发 批量烧录固件到模块中 总结 目的 在之前的文章 使用Arduino开发ESP32 01 开发环境搭建 中介绍了使用Arduino开发ESP32的开发环境搭建内容 只不过
  • hashmap和hashset的区别

    HashMap 和 HashSet 都是 Java 中的数据结构 它们都使用哈希表来实现 但是 它们之间有一些重要的区别 HashMap 是一种映射 它存储键值对 key value pairs 每个键都是唯一的 而值可以重复 HashSe
  • C++ 函数

    函数是一组一起执行一个任务的语句 每个 C 程序都至少有一个函数 即主函数 main 所有简单的程序都可以定义其他额外的函数 您可以把代码划分到不同的函数中 如何划分代码到不同的函数中是由您来决定的 但在逻辑上 划分通常是根据每个函数执行一
  • Linux查看日志

    很多初级测试人员 在进行执行测试用例这个步骤时 发现bug 不能更加的准确去定位bug 在这样的情况下就可以打开Linux服务器 敲命令查看操作进行中的实时日志 当系统报错时 可以截图日志在缺陷管理系统中 开发人员就知道什么地方错了 操作步
  • Unity物体碰撞出现穿插问题/穿过问题/物体穿过场景模型

    由于问题不好描述 所以标题就比较长了 之前在做游戏时 发生角色与其他模型始终不能正常碰撞 总是会穿插 即角色穿过其他模型 其中角色有刚体和碰撞器组件 其他模型 有 碰撞器 事后发现错误在于 其他模型的碰撞器组件被加到 组 上 而非组内每个物
  • Spring框架基础知识总结

    Spring框架 1 什么是Spring Spring是分层的Java SE EE应用 full stack轻量级开源框架 以IOC Inverse Of Control 反转控制 和AOP Aspect Oriented Programm
  • 1.3.3 手写数字识别之损失函数

    文章目录 概述 分类任务的损失函数 Softmax函数 交叉熵 交叉熵的代码实现 概述 上一节我们尝试通过更复杂的模型 经典的全连接神经网络和卷积神经网络 提升手写数字识别模型训练的准确性 本节我们继续将 横纵式 教学法从横向展开 如 图1
  • Ubuntu 20.04 下安装配置 VScode 的 C/C++ 开发环境

    前言 之前安装了Ubuntu 18 04 结果在安装Codeblocks VScode还是安装gcc c c 的时候出现了一堆错误 缺失依赖树等等问题 换源也无法成功 整了一个下午没有任何进展 网上找不到任何解决方法 于是只能重装了Ubun
  • 红队

    1 MS14 068 kerberos认证 no PAC 用户在向 Kerberos 密钥分发中心 KDC 申请TGT 由票据授权服务产生的身份凭证 时 可以伪造自己的 Kerberos 票据 漏洞效果 将任意域用户提升到域管权限 利用条件
  • promise的三种状态

    三种状态 es6 pending fufiled rejected 在promise种状态不可逆 时间不可倒流 promise时间有一个pending等待状态 如果实现fufiled状态 没实现rejected状态 解决了赘述问题 new
  • Redux使用教程【入门篇】

    Redux是一个用于JavaScript应用程序状态管理的可预测状态容器 以下是Redux的使用教程 安装Redux 在项目中使用npm或yarn安装Redux包 npm install redux 创建Redux Store 创建一个Re
  • vite、vue3警告:Component inside <Transition> renders non-element root node that cannot be animated.

    一 问题代码
  • 关于编程中的一些颜色代码

    颜色代码 1 浅粉色 255 182 193 2 粉红色 255 192 203 3 猩红色 220 20 60 4 脸红的淡紫色 255 240 245 5 苍白的紫罗兰红色 219 112 147 6 热情的粉红 255 105 180
  • 冰箱日订单数据分析(京东)python代码

    具体分析报告地址 PowerBi网页版 数据 2020年5月25日京东大家电 家用电器 冰箱订单数据 按10 抽样 约22MB 70k 条数据 包含信息 user log acct 用户账号 parent sale ord id 父订单号
  • Chrome等浏览器下出现net::ERR_BLOCKED_BY_CLIENT的解决办法

    当我们在做开发时 调试页面图片会出现部分图片无法正常显示 并且确认图片的地址正确 按F12 Debug查看报错原因 提示net ERR BLOCKED BY CLIENT错误 但当我们点击图片地址发现 图片地址并无错误 遇到这类情况 一般都
  • 关于一次element-ui的列表功能处理的过程记录(多选样式单选功能)

    大概是这样的 这边需要做两个表格 一个在左边 一个在右边 左边的已经做好了 是一个多选列表 右边的也做好了 是一个element ui自带的单选列表 就像这样 可是左边的多选列表样式和这个不一样 看着就会比较怪 所以要求我去修样式 我有点蒙
  • uni-app使用npm安装第三方包

    初始化npm工程 若项目之前未使用npm管理依赖 项目根目录下无package json文件 先在项目根目录执行命令初始化npm工程 npm init y cli项目默认已经有package json了 HBuilderX创建的项目默认没有
  • socket.io 中namespace 和 room的概念。

    基本概念看socketio官方文档 http socket io docs rooms and namespaces namespace 和room的概念其实用来同一个服务端socket多路复用的 namespace room和socket
  • PHP利用SOAP进行webservice开发(客户端)

    参考 http blog sina com cn s blog 777f9dbb01010fd1 html 配置 windows php ini配置 extension php soap dll extension php curl dll

随机推荐

  • linux主要的文件和目录的作用(详细版)

    在 Linux 下 我们看到的是文件夹 目录 在早期的 UNIX 系统中 各个厂家各自定义了自己的 UNIX 系统文件目录 比较混乱 Linux 面世不久后 对文件目录进行了标准化 于1994年对根文件目录做了统一的规范 推出 FHS Fi
  • DirectShowPlayerService::doSetUrlSource: Unresolved error code

    Qt 编译后不能播放音乐或者视频 经过搜索得知 Qt 中的多媒体播放 底层是使用DirectShowPlayerService 需要一个DirectShow解码器 例如LAV Filters LAV Filters的下载地址如下 http
  • FPGA的基本结构

    FPGA主要由以下几部分组成 1 基本可编程逻辑单元 CLB 2 可编程输入输出单元 IOB 3 嵌入式块RAM 4 内嵌的底层功能单元和嵌入式专用硬核 5 完整的时钟管理模块 6 丰富的布线资源 一 总体结构 二 基本组成部分 1 可配置
  • NMS(非极大值抑制)算法详解与示例

    一 NMS是什么 NMS non maximum suppression 即非极大值抑制 广泛应用于传统的特征提取和深度学习的目标检测算法中 NMS原理是通过筛选出局部极大值得到最优解 在2维边缘提取中体现在提取边缘轮廓后将一些梯度方向变化
  • vue设置延时

    参考资料 https blog csdn net zc ad article details 86235227 一定要创建一个timer 然后调用延时之前先清除timer的延时 clearTimeout this timer 清除延迟执行
  • scala数据结构

    元组 val tuple Bigdata 2020 748 333 容器 collection Scala Collection Seq 索引0 1 2 LinearSeq gt 列表 相同类型 不可变 队列 列表 var strList
  • SpringIOC和AOP介绍

    Spring介绍 1 spring是轻量级的开源的JavaEE框架 2 Spring可以解决企业应用开发的复杂性 3 Spring有两个核心部分 IOC AOP 1 IOC 控制反转 把创建好的对象给Spring进行管理 2 AOP 面向切
  • 模式识别、计算机视觉、机器学习领域的顶级期刊和会议(整理)

    部分AI刊物影响因子05 SCIIF 2005 2004 JMLR 4 027 5 952 机器学习 PAMI 3 810 4 352 模式识别 IJCV 3 657 2 914 计算机视觉 TOIS 4 529 4 097 AIJ 2 6
  • Neo4j下载安装以及Neo4j浏览器详细说明

    1 下载 需要提前安装 JDK 自行百度 前往官网 https neo4j com download center community 如上图 下载共有三个模式 企业版本 社区版本和桌面版本 企业版本收费的 社区版本免费 只是个人运行建议直
  • 请告诉我一些常见的泰勒公式展开

    常见的泰勒公式展开有 1 二项式展开 x y n nCkx n k y k 2 三角形展开 a b c 2 a 2 b 2 c 2 2ab 2ac 2bc 3 多项式展开 x y z 3 x 3 y 3 z 3 3x 2y 3x 2z 3x
  • 勤于奋:的日常,写程序,做任务,赚美刀,分享我的成长

    大家好 欢迎来到勤于奋 今天跟大家聊聊我的日常吧 大家好 欢迎来到勤于奋国外LEAD联盟营销 勤于奋时刻提醒自己 只有勤快和奋斗合一体 天天坚持去做一件事情 才能有可能成功 所以我很喜欢这个名字 每天我都会关注程序语言的发展 开发技术的更新
  • springboot 2.7集成swagger 3

    目录 前言 错误原因 报错内容 报错原因 解决方案 依赖配置 webmvc配置 swagger配置 结果 前言 springboot集成swagger2技术比较成熟 基本不挑版本 网上技术文章一找一大堆 不在此赘述 但是sprngboot
  • 线路编码(NRZ,NRZI,8B/10B,Manchester等)

    0 前言 编码根据作用和场景不同分为信源编码 信道编码和线路编码 信源编码 降低信源符号之间的相关性和冗余度 通过编码提高每个符号的信息量 具体说 就是针对信源输出符号序列的统计特性来寻找某种方法 把信源输出符号序列变换为最短的码字序列 比
  • HashMap循环遍历方式及其性能对比

    HashMap循环遍历方式及其性能对比 主要介绍HashMap的四种循环遍历方式 各种方式的性能测试对比 根据HashMap的源码实现分析性能结果 总结结论 1 Map的四种遍历方式 下面只是简单介绍各种遍历示例 以HashMap为例 各自
  • IDEA调试技巧之如何让调试器在特定的地方停下(根据条件调试)

    首先打个断点 在代码的左侧点击即可 右键断点 取消勾选 已启用 然后在条件中填写逻辑表达式 当该逻辑表达式为真时 调试才停下否则继续
  • System.currentTimeMillis()计算方式与时间的单位转换

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 一 时间的单位转换 1秒 1000毫秒 ms 1毫秒 1 1 000秒 s 1秒 1 000 000 微秒 s 1微秒 1 1 000 000秒 s 1秒 1 000 00
  • 黑话管理:偶像

    http blog csdn net shenyisyn article details 4228387 与朋友一起闲聊老提到一个话题 管理者大部分下属都很崇拜 因此成为他们的偶像是很重要 这个观点很大程度上很有道理 作为偶像 往往在精神上
  • 数据结构之线性结构

    上一讲 程序 数据结构 算法 上次介绍了数据结构相关内容理解 这次介绍数据结构另一块内容线性结构理解 线性结构存储形式类似一列火车 这种包含有数组 链表 队列 栈 1 数组 是数据结构中逻辑结构分类其中一种 物理结构 以连续地址存储单元把数
  • U8接口开发

    一 官方接口 OPENAPI 第三方系统部署在外网 互联网 与 U8 对接的场景 限制 做不了上下游关联生单 比如采购入库单无法关联采购到货单 不支持事务 优势 安全 接口定义面向消费者 使用相对最简单 数据标准 json 协议 https
  • oracle enable broken,[20200220]关于SQLNET.EXPIRE_TIME and ENABLE=BROKEN的总结.txt

    20200220 关于SQLNET EXPIRE TIME and ENABLE BROKEN的总结 txt 昨天做了大量关于SQLNET EXPIRE TIME and ENABLE BROKEN的测试 晚上再仔细看 测试做的有点乱 做一