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

ORA-01555系列:二、ORA-01555的场景分析与解决方案

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。

本章将深入探讨ORA-01555的四种核心触发场景,为每种场景提供两个详细的案例分析,并附上针对性的优化建议,助你从根源上解决问题。

2.1 场景一:长事务与长查询

场景描述:
这是ORA-01555最经典的诱因。当一个查询的持续时间(Query Duration)超过了UNDO数据的保留时间,或者在查询期间有大量的DML操作,导致查询启动时所需的数据“前映像”(before-image)在UNDO中被覆盖,错误便会发生。


案例1:报表查询与批量更新冲突

  • 背景: 某电商平台在每天凌晨2点运行一个销售额统计报表,该报表需要全表扫描订单表(ORDERS),耗时约1.5小时。同时,另一个批量任务在2:30开始更新前一天的订单状态,涉及数十万行数据。
  • 问题: 报表任务在运行到一半时,频繁报出ORA-01555错误。
  • 分析: 报表查询开始后,批量更新任务产生了大量的UNDO数据,迅速占用了UNDO表空间。由于UNDO空间有限,为了给新的DML操作腾出空间,Oracle覆盖了报表查询所需要的部分旧版本数据。
  • 解决:
    1. 时间窗口调整: 将批量更新任务调整到报表任务执行完毕后的4点再开始,错开时间窗口。
    2. SQL优化: 优化报表SQL,利用分区表特性只扫描最近的分区,并将全表扫描改为索引扫描,查询时间缩短至20分钟,大大降低了风险。

案例2(新增):应用层游标处理不当

  • 背景: 一个Java应用需要从一个大表(TRANSACTIONS)中导出数据。开发人员使用了CURSOR FOR LOOP的方式,在循环体内部对每一条查询出的记录进行复杂的业务逻辑处理和网络I/O操作,然后才fetch下一条。
  • 问题: 程序运行几分钟后,总是抛出ORA-01555异常。开发人员很困惑,因为单条SQL在客户端执行很快。
  • 分析: 这个问题的根源在于游标打开(open cursor)和数据提取(fetch data)之间的时间间隔太长open cursor时查询的快照就已确定,但由于循环体内处理耗时,导致整个fetch过程被拉长到数分钟。在此期间,其他事务对TRANSACTIONS表的修改覆盖了游标所依赖的UNDO数据。
  • 解决:
    1. 修改代码逻辑: 建议开发人员调整代码,先将查询结果一次性或分批次fetch到一个集合(如ArrayList)中,完全关闭数据库游标后,再对内存中的数据进行业务处理。
    2. 分批处理: 如果数据量过大无法全部加载到内存,则采用分批查询的方式,例如每次查询10000条记录进行处理,处理完再查询下一批。

优化建议

  1. SQL调优是第一要务:
    • 通过索引、分区、并行查询等手段,尽一切可能缩短查询的执行时间。查询运行得越快,其受DML影响的“窗口期”就越短。
  2. 优化应用逻辑:
    • 杜绝“取一条,处理一条”的慢速循环模式。 应该先快速获取数据,再进行业务处理。
    • 避免在循环中提交(COMMIT in a loop)。 这会导致UNDO槽位被快速回收,极易引发ORA-01555。
  3. 合理调度任务:
    • 将长时间运行的查询(如报表、数据抽取)与高频DML操作(如批量更新、数据加载)的时间窗口错开,尽量安排在系统负载低的深夜执行。
  4. 拆分大事务:
    • 对于需要更新或删除大量数据的操作,应分解为多个小事务,分批提交,避免产生一个巨大的、长时间占有UNDO空间的事务。

2.2 场景二:UNDO空间不足

场景描述:
当UNDO表空间的大小不足以容纳所有事务所产生的UNDO数据,并且无法满足UNDO_RETENTION参数设定的保留时间时,Oracle会为了保证新事务的执行而“牺牲”已提交但未过期的UNDO数据,这个过程称为“窃取”(Steal)。


案例3:UNDO表空间固定大小导致的问题

  • 背景: 某金融企业的数据库UNDO表空间被配置为固定大小(例如20GB),且数据文件未开启AUTOEXTENDUNDO_RETENTION设置为3600秒(1小时)。
  • 问题: 在一次月末结算期间,由于DML操作量剧增,即使查询的执行时间远小于1小时,也频繁出现ORA-01555。
  • 分析: 通过查询V$UNDOSTAT,发现UNXPSTEALCNT(未过期UNDO块被窃取的次数)列的值在问题发生的时间段内持续大于0。这明确表明,尽管UNDO_RETENTION要求保留1小时,但由于空间严重不足,Oracle被迫窃取了这些本应被保留的UNDO块,导致查询失败。
  • 解决:
    1. 紧急扩容: 立即为UNDO表空间增加一个新的数据文件,并开启AUTOEXTEND,缓解了当时的压力。
    2. 容量规划: 事后通过分析V$UNDOSTAT中的UNDOBLKS(使用的UNDO块数)和高峰期业务量,重新规划了UNDO表空间的大小,将其扩容至50GB,并保留AUTOEXTEND作为保险。

案例4(新增):UNDO_RETENTION保证(Guarantee)引发的空间问题

  • 背景: DBA为了彻底解决ORA-01555问题,为UNDO表空间开启了RETENTION GUARANTEE选项。
  • 问题: 一段时间后,数据库中所有的DML操作(INSERT/UPDATE/DELETE)全部挂起,最终失败,并报错ORA-30036: unable to extend segment by 8 in undo tablespace 'UNDOTBS1'。
  • 分析: RETENTION GUARANTEE是一个“双刃剑”。它强制Oracle必须满足UNDO_RETENTION的保留时间,绝不允许“窃取”未过期的UNDO。当UNDO表空间被写满,同时又存在一个长时间运行的查询(或仅仅是UNDO_RETENTION时间未到),导致所有UNDO块都无法被重用时,新的DML操作就无法获取到UNDO空间,从而导致数据库“暂停”DML。
  • 解决:
    1. 紧急处理: 临时关闭RETENTION GUARANTEE (ALTER TABLESPACE undotbs1 RETENTION NOGUARANTEE;),让DML操作可以继续。
    2. 根本解决: 重新评估并大幅增加UNDO表空间的大小,确保其容量足以在GUARANTEE模式下支撑最长查询和高峰DML。通常,不建议轻易开启GUARANTEE,除非你对UNDO容量有十足的把握。

优化建议

  1. 科学估算UNDO容量:
    • 使用V$UNDOSTAT的历史数据来估算UNDO空间需求。一个简单的公式是:所需空间 = (UNDOKBLKS * BLOCK_SIZE) + (MAXQUERYLEN * UNDO_RATE)。其中UNDO_RATE是每秒产生的UNDO量。
  2. 明智地使用AUTOEXTEND:
    • 在生产环境中,为UNDO数据文件开启AUTOEXTEND是一个很好的保险策略,可以应对突发的DML洪峰。但必须设置一个合理的MAXSIZE,防止其无限制增长,耗尽磁盘空间。
  3. 理解UNDO_RETENTION:
    • UNDO_RETENTION只是一个“目标”而非“承诺”(除非开启GUARANTEE)。它的有效性完全取决于是否有足够的空闲UNDO空间。因此,保障空间比单纯调大这个参数更重要。
  4. 建立监控告警:
    • 对UNDO表空间的使用率设置监控(例如超过85%告警)。
    • V$UNDOSTAT中的UNXPSTEALCNTNOSPACEERRCNT(空间不足错误数)设置监控,一旦这些值大于0,就意味着UNDO配置存在问题。

2.3 场景三:并发DML与查询冲突

场景描述:
在高并发系统中,即使单个查询和DML操作都很快,但大量的并发操作在同一时间争抢和回收UNDO资源,也会导致某些查询“不幸地”踩到刚被回收的UNDO块上,从而引发ORA-01555。


案例5:报表查询与批量删除冲突

  • 背景: 某保险公司在月底进行数据归档时,需要批量删除数百万条历史保单。与此同时,财务部门会运行多个报表查询来统计当月的业绩。
  • 问题: 财务报表查询频繁失败,报ORA-01555。
  • 分析: 批量删除操作是一个巨大的事务,产生了海量的UNDO信息。虽然报表查询本身不慢,但它运行期间,删除事务持续进行,导致UNDO空间被迅速消耗和覆盖。
  • 解决:
    1. 任务调度: 将批量删除任务调整到所有报表查询结束后的深夜执行。
    2. DML优化: 将删除操作改为分批提交,例如每删除10万条数据就COMMIT一次,减小了单个事务对UNDO的冲击。

案例6(新增):ETL过程中的高频COMMIT

  • 背景: 一个ETL(数据抽取、转换、加载)作业,每从源系统抽取一条数据,经过转换后插入到目标表,然后立刻执行一次COMMIT。同时,一个BI仪表盘每分钟都会刷新,查询这个目标表。
  • 问题: BI仪表盘的查询间歇性地报ORA-01555。
  • 分析: 这种“循环内提交”(COMMIT in a loop)的设计是性能杀手,也是ORA-01555的温床。每一次COMMIT都使得该事务所使用的UNDO块可以被立即重用。对于BI这种持续运行的查询来说,它所依赖的UNDO数据在这种高频回收的模式下极易丢失。
  • 解决:
    1. 优化ETL作业: 修改ETL逻辑,改为批量处理。例如,每处理10000条数据后,再执行一次COMMIT。这大大降低了COMMIT的频率,延长了UNDO块的生命周期。
    2. 使用物化视图: 为BI仪表盘创建一个物化视图(Materialized View),让查询直接访问物化视图。ETL作业完成后,再刷新物化视图。这样就将查询和DML操作完全分离开来。

优化建议

  1. 隔离工作负载:
    • 尽可能将OLTP(在线事务处理)和DSS(决策支持系统,如报表查询)分离开。最佳实践是使用读写分离架构,例如在备库(Standby Database)上执行报表查询。
  2. 优化提交策略:
    • 坚决避免“循环内提交”。这不仅性能低下,还会给UNDO管理带来巨大压力。应遵循“批量处理,一次提交”的原则。
  3. 利用数据库特性:
    • 对于读多写少的场景,可以考虑使用物化视图来固化查询结果,避免查询与DML的直接冲突。
    • 在某些场景下,为查询设置更高的事务隔离级别(如SERIALIZABLE)或使用FLASHBACK QUERY,但需注意这可能带来的性能开销。

2.4 场景四:LOB字段相关问题

场景描述:
LOB(大对象)字段的UNDO管理机制与普通数据类型不同。它不完全使用UNDO表空间,而是有自己的一套基于PCTVERSIONRETENTION的机制。配置不当或对LOB的频繁更新,是LOB相关ORA-01555的根源。


案例7:LOB字段更新导致快照丢失

  • 背景: 某内容管理系统将文章正文存储在CLOB字段中,该字段默认使用PCTVERSION 10(即LOB段空间的10%用于保存旧版本)。编辑人员频繁地对热门文章进行修改和保存。
  • 问题: 在前台查询文章列表(包含部分正文预览)的长轮询请求中,偶尔出现ORA-01555。
  • 分析: PCTVERSION 10意味着只有10%的LOB段空间用来存放“前映像”。对于频繁更新的热门文章,这部分空间很快被用完,旧版本的LOB数据被覆盖,导致长查询无法获得一致性读。
  • 解决:
    1. 调整LOB参数: 将该LOB字段的存储参数修改为RETENTION,使其版本保留策略与UNDO_RETENTION参数对齐,提供了更长的版本保留时间。
      ALTER TABLE articles MODIFY LOB (content) (RETENTION);
      
    2. 如果仍有问题,可以考虑增加PCTVERSION的值,例如PCTVERSION 20,但这会消耗更多磁盘空间。

案例8(新增):RETENTION在MSSM表空间下失效

  • 背景: 一个文档管理系统将文件存储在BLOB字段中,并配置了RETENTION。但是,DBA在创建存放LOB的表空间时,错误地选择了手动段空间管理(Manual Segment Space Management, MSSM)。
  • 问题: 尽管UNDO_RETENTION设置得很高,但查询LOB表时仍然频繁出现ORA-01555,伴随ORA-22924(snapshot too old)。
  • 分析: 这是一个非常隐蔽的陷阱。根据Oracle官方文档(如1555说明.txt中引用的Note 800386.1),当LOB段位于MSSM表空间时,RETENTION参数会被静默地忽略。这意味着LOB的版本保留根本没有生效。
  • 解决:
    1. 迁移LOB段: 创建一个新的、使用自动段空间管理(Automatic Segment Space Management, ASSM)的表空间。
    2. 使用ALTER TABLE ... MOVE LOB ... STORE AS ... (TABLESPACE ...)命令,将出问题的LOB段迁移到新的ASSM表空间中。迁移后,RETENTION参数便能正常工作。

优化建议

  1. 选择正确的LOB版本管理策略:

    • RETENTION:推荐用于AUM(自动UNDO管理)环境,它将LOB的版本保留与UNDO_RETENTION挂钩,更易于管理。
    • PCTVERSION:一种更直接的基于空间的控制方式。在LOB更新极度频繁的场景下,有时调大PCTVERSION比依赖RETENTION效果更直接,但需要精确估算空间。
  2. 必须使用ASSM表空间:

    • 存放LOB段的表空间必须使用ASSM,这是RETENTION生效的前提。创建表空间时请务必指定SEGMENT SPACE MANAGEMENT AUTO
  3. 优化LOB操作:

    • Oracle官方建议,对LOB的UPDATE操作对UNDO机制的压力最大。应尽量将业务逻辑优化为DELETEINSERT,或者减少对LOB列的不必要更新。
  4. 保证LOB表空间充足:

    • 用于版本控制的LOB数据会直接消耗LOB段所在表空间的空间。必须确保该表空间有足够的预留空间来保存旧版本。

    ------------------作者介绍-----------------------
    姓名:黄廷忠
    现就职:Oracle中国高级服务团队
    曾就职:OceanBase、云和恩墨、东方龙马等
    电话、微信、QQ:18081072613
    个人博客: (http://www.htz.pw)
    CSDN地址: (https://blog.csdn.net/wwwhtzpw)
    博客园地址: (https://www.cnblogs.com/www-htz-pw)


相关文章:

ORA-01555系列:二、ORA-01555的场景分析与解决方案

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。本章将深入探讨ORA-01555的四种核心触发场景,为每种场景提供两个详细的…...

PySimpleGUI常用控件

PySimpleGUI常用控件序号 控件类型 控件函数1 文本控件 1-1:sg.Text() 或者 sg.T()1-2:sg.Input() 或 sg.In() 或 sg.InputText()(文本输入框)1-3:sg.Listbox()(多行列表文本框)1-4:sg.Multiline()(大文本框)2 按键控件 2-1:sg.Button() 或 sg.B()(按键)2-2:sg.E…...

202312_QQ_DNS流量

流量分析,DNS流量,pysharkTags:流量分析,DNS流量,pyshark 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:202312_QQ_packet1.zip 小张发现公司某台服务器被入侵,经过在服务器上抓包后得到流量文件,请帮忙分…...

读书笔记:为什么数据在磁盘上的存放顺序如此重要?

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。本文为个人学习《Expert Oracle Database Architecture Techniques and…...

Rcc_APBPeriphClockCmd()

Rcc_APBPeriphClockCmd()启用时钟后,外设能工作,而禁用时钟时外设无法工作的原因,主要是因为 时钟系统 是微控制器中控制所有硬件模块运行的基础。外设时钟负责为外设提供必要的运行时钟信号,没有时钟信号,外设就无法进行正常的操作。下面是一些具体的原因: 1. 时钟是外设…...

故障处理:ORA-19809: limit exceeded for recovery files

我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢! 由于博客中有大量代码,通过页面浏览效果更佳。故障处理:ORA-19809: limit exceeded for recovery files 欢迎大家加入…...

25.09.14 与其感慨路难行,不如马上出发

从2025年9月14日起,我将在此博客网站记录本人对于后端开发路线的每日学习进度与感悟。未来有可能学习其他技术栈,同样将保持记录。 目前规划如下,每天做一道leetcode hot100,前期主要目标在于快速学习java技术栈:JavaWeb、Spring、SpringMVC、Mybatis、Redis、SpringBoot、…...

GCC工具链应用学习笔记

GCC工具链应用学习笔记pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; font-size: 1…...

初始化 MCP 环境 创建 MCP Server (一)

1、进入 python3 的 Miniconda 虚拟环境创建及进入方法,参见: https://www.cnblogs.com/rslai/p/18741276 2、安装 fastmcp 库pip install fastmcp安装成功后执行 pip list | grep fastmcp 可以查看已经安装 fastmcp 。如下图 3、创建 server 项目 A)新建一个目录,例如 m…...

博客园格式设置

一级标题 1 正文 zhengwen 正文 zhengwen 二级标题 1.1 正文 zhengwen 正文 zhengwen print("hello worldhello world"hello world"hello world"hello world"hello world"hello world"hello world"hello world"hello world&q…...

[总结/备赛]备战 CSP-S 2025 初赛总结

被拉到dl24jp集训一整天(我的作业啊啊啊啊啊) 1.排序算法 主要考察稳定性,时间复杂度,原理 1.1.插入排序最佳时间复杂度:\(O(n)\) 最差时间复杂度:\(O(n^2)\) 平均时间复杂度:\(O(n^2)\) 是否稳定:是 1.2.希尔排序(优化插入排序) 就是把元素分组,每组gap个,对gap中的元…...

win11 系统如何进行硬盘分区?固态硬盘怎么分区?SSD 固态硬盘是分区好还是不分区好?

win11 系统如何进行硬盘分区?固态硬盘怎么分区?SSD 固态硬盘是分区好还是不分区好?电脑硬盘分区教程 win11本身就有自带的分区功能,所以不用借肋第三方软件也能分区,下面开始分享分区方法。 win11其实和win10差不多,功能也差不多,如果分区过win10可能都不用学就会。 理解…...

逆序数及其应用

刷手机的时候看到一个逆序数的算法题,刚好又在复习矩阵论,行列式里也有用到逆序数,想到大二时学的逆序数计算算法,回顾了一下,并写下这篇文章记录。 1. 定义 假设有一个排列\(a_1,a_2,\dots,a_n\),如果下标对\(\langle i,j \rangle\)满足\(i \lt j\)而\(a_i > a_j\),…...

豆豆守护如何下载?

豆豆守护是一款保护隐私数据工具软件,为开发者提供完善的测试环境。其每个安卓版本都会进行适配,作为开发者的我们如何对豆豆守护进行下载呢? 传送门:豆豆守护助手...

Java运行时jar时终端输出的中文日志是乱码

运行Jar时在控制台输出的中文日志全是乱码,这是因为cmd/bash默认的编码是GBK,只要把cmd的编码改成UTF-8即可两种方式修改:临时修改和注册表永久修改 临时修改 只对当前的cmd页面有效,关闭后重新打开都会恢复成GBK, 打开cmd,输入以下命令 chcp 65001AI写代码这样既可以更改…...

ZK2真空发生器日常清理

“过滤器”的拆卸方法 1.手拧或者内六角塞进去(不要用圆头,会打滑),顺着箭头方向顺时针旋转90,即可将连接器抽出2.更换滤芯 确保严丝合缝真空发生器滤芯 ZK2-FE1-3-A(1套10个) 产线零件盒3.装回时,逆着箭头旋转至横线与“LOCK”标记重合...

Nacos服务注册与发现

一、前提条件 你已经安装好Nacos客户端 二、添加对于的依赖到pom文件 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency><groupId>com.…...

马的遍历

2025.9.14 曹立 题目内容 有一个 \(n \times m\) 的棋盘,在某个点 \((x,y)\) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步 输入描述 输入只有一行四个整数,分别为 \(n,m,x,y\) 输出描述 一个 \(n \times m\) 的矩阵,代表马到达某个点最少要走几步(不能到达…...

20231310王宏邦《密码系统设计》第1周

20231310王宏邦《密码系统设计》第1周 学习内容《Windows C/C++加密解密实战》第 1,2 章:1、第⼀章概念复习; 2、第⼆章主要在 Linux(Ubuntu,openEuler)上把软件更新到最新版(3.0版本以上)。bang@LAPTOP-74GS6JSR:~$ openssl version OpenSSL 3.0.2 15 Mar 2022 (Library: …...

新学期第一次随笔:慢慢学,总会有进步

一、关于我:爱游戏也想学好知识的普通学生 大家好,我是一名大三学生,平时最大的爱好是打《CS:GO》,空闲时也会玩《我的世界》(MC)。打《CS:GO》时喜欢和队友配合冲锋,既是无畏的冲锋手也是冷静的狙击手,每次赢下对局都特别有成就感;玩MC时总爱研究怎么用指令搭一些自动…...

详细介绍:【C语言】第四课 指针与内存管理

详细介绍:【C语言】第四课 指针与内存管理pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !impo…...

知识点错题整理

1:【子串里面包含空串】12+1=13【一个字符串中任意个连续的字符组成的子序列称为该字符串的子串,则字符串 abcab 有(13 )个内容互不相同的子串】...

202311_陇剑杯预赛_tcpdump

流量分析,应急响应Tags:流量分析,应急响应 0x00. 题目 附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件 附件名称:202311_陇剑杯预赛_tcpdump.zip题目描述:攻击者通过暴力破解进入了某Wiki 文档,请给出登录的用户名与密码,以:拼接…...

Linux学习记录(六):添加/删除用户

添加/删除用户 sudo useradd -m -d /home/newuser -s /bin/bash newusersudo passwd newuser新建/删除用户su: Super User即系统管理员 useradd: 新建用户 userdel: 删除用户 passwd : 修改密码...

python 链式调用 合并 __setattr__ __getattribute__ in nested object()

使用场景:bpy.types.Scene与bpy.context.scene部分功能重叠。 def Get(obj, attr: str | Sequence[str], root=False):"""injected recursive getattr, could pollute objects on chain in whole session"""IS_STR = isinstance(attr, str)if I…...

分享一个稳定好用的免费云服务——阿贝云体验

最近在搭建个人小项目,一直在寻找稳定的免费云服务器资源,偶然发现了「阿贝云」,用了几天感觉非常不错,特地来分享一下使用体验。 阿贝云提供了免费虚拟主机和免费云服务器,对于像我这样刚开始学习建站或者想做点小实验的用户来说非常友好。注册流程简单,开通也很快,控制…...

年化439%,回撤7%,卡玛比率62.5,附本地运行的完整策略python代码 - 详解

年化439%,回撤7%,卡玛比率62.5,附本地运行的完整策略python代码 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Couri…...

接口测试---PyMysql

PyMysql数据库操作代码安装 : pip install PyMySQL数据库应用场景校验测试数据 :http请求发送后,明确会修改表中的数据,但响应结果中没体现如删除员工(is_delete字段)构造测试数据 :测试数据使用一次就失效,不能重复使用 : 添加员工(手机号码字段)测试数据在展开测试前无法确定…...

My First Blog

被你发现啦~...

设置基础软件仓库时出错

1.安装源报设置基础软件仓库时出错2.点击【网络和主机名】,把网络设置成静态网络,能够访问外网3.点击【安装源】,在网络上这块输入这个网址 https://update.cs2c.com.cn/NS/V10/V10SP3-2403/os/adv/lic/base/x86_64/ ,之后点【完成】...

linux c应用性能与内存泄露问题排查工具

GCC内置的内存检测工具在 GCC 中,对 -fsanitize=address(AddressSanitizer, ASan)、-fsanitize=leak(LeakSanitizer, LSan) 和 -fsanitize=memory(MemorySanitizer, MSan) 的支持情况如下:​​-fsanitize=address(AddressSanitizer - ASan)​​​​支持:是​​​​可用版本:…...

深入解析:AI-调查研究-66-机器人 机械臂 软件算法体系:轨迹规划视觉定位力控策略

深入解析:AI-调查研究-66-机器人 机械臂 软件算法体系:轨迹规划视觉定位力控策略pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &qu…...

VS Code快捷键

VS Code 1.通用操作快捷键快捷键 功能Ctrl+Shift+P 打开命令面板Ctrl+Shift+N 新建窗口Ctrl+S 保存Ctrl+P 搜索打开文件2.代码编辑快捷键快捷键 功能Ctrl+Z 撤销Ctrl+Shift+Z 反撤销Ctrl+C 复制Ctrl+X 剪切Ctrl+V 粘贴Ctrl+F 查找Ctrl+H 替换Ctrl+A 全选Shift+Alt+F 格式化代码…...

API安全厂商综合推荐:2025年权威视角下的主流厂商评估与选型指南

API安全厂商综合推荐:2025年权威视角下的主流厂商评估与选型指南基于IDC 2024年度报告,推荐全知科技、奇安信、腾讯云、华为、保旺达,启明星辰、安恒信息,安华金和、美创科技等API安全厂商,适用于金融、政务、运营商等行业客户,支持AI赋能运营提效70%、资产发现纯净度95%…...

基于FPGA的8PSK+帧同步系统verilog开发,包含testbench,高斯信道,误码统计,可设置SNR

1.算法仿真效果 vivado2019.2仿真结果如下(完整代码运行后无水印):设置SNR=10db设置SNR=30db仿真操作步骤可参考程序配套的操作视频。2.算法涉及理论知识概要随着通信技术的不断发展,相位调制技术因其高频谱效率和抗干扰能力而广泛应用于无线通信系统中。其中,8PSK(8相位…...

去去就来

一脚踢开也许从来没有面临过 看着天空就要泪流下 不是为了具体的人 不是为了具体的事 或者说 每个人都是凶手 下雨这天好安静 也不再盼望放晴 扭转时空又如何挽回 时差 禀赋没有破土 在一切都爆发之前 万物缄默 不甘与嫉恨 人性共扭曲 下位者的祈愿 愿你跌入深渊 所谓的思维 究…...

高三试卷

福建省2024-2025学年高三年级下学期模拟(一模&二模&三模)物理试题试卷汇总 https://www.zxxk.com/docpack/3497855.html...

豆包生成C#即梦API HTTP调用实例代码

最近玩即梦AI,文生图,文生视频等等很多玩法都很强大。即梦本身页提供了API。官方文档里有Java, Golang, Python, PHP的SDK,官方也推荐使用SDK,调用SDK会比较省事儿。官方也提供了HTTP请求示例代码,但是也只包括Java, Golang, Python, PHP,没有C#。所以就尝试写个C#调用即…...

解析几何笔记

记号约定:\(\displaystyle {x \brack y}\):向量 \((x, y)\)。1. 直线 一些定义:方向向量:与直线 \(l\) 平行的向量。 倾斜角:直线 \(l\) 与 \(y\) 轴正方向同向的方向向量,与 \(x\) 轴正方向的夹角。形式化的,设直线 \(l\) 的方向向量 \(\bold{v}\) 满足 \(\displaystyl…...

基于SOA海鸥优化算法的PID控制器最优控制参数计算matlab仿真

1.课题概述 基于SOA海鸥优化算法的PID控制器最优控制参数计算matlab仿真,通过SOA优化PID的kp,ki,kd三组参数,对比普通的PID控制器的控制效果。 2.系统仿真结果 3.核心程序与模型版本:MATLAB2022a%使用优化后的参数控制PID控制器 for k=1:10000time(k) = k*ts;%设定…...

使用 CUDA 12.9 编译 PyTorch 2.4.0

最近跑的一个项目需要 torch==2.4.0,但是 GPU(NVIDIA RTX PRO 6000)需要 CUDA 12.9,PyTorch 官方这个配置的预编译包,因此需要手动编译。获取源码: git clone -b v2.4.0 --depth 1 https://github.com/pytorch/pytorch cd pytorch git submodule sync git submodule upda…...

详细介绍:boost::circular_buffer的使用方法简介

详细介绍:boost::circular_buffer的使用方法简介pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace…...

基于禁忌搜索算法的TSP问题最优路径搜索matlab仿真

1.程序功能描述 基于禁忌搜索算法的TSP问题最优路径搜索,旅行商问题(TSP)是一个经典的组合优化问题。其起源可以追溯到 19 世纪初,最初是在物流配送、线路规划等实际场景中被提出。简单来说,给定一组城市和城市之间的距离,旅行商需要从一个城市出发,访问每个城市恰好…...

PDD9.14 笔试 - 浪矢

目录Day1 T1Day1 T4 Day1 T1 简单的模拟: 题目内容大概是给一个字符串a,a的子串拼成字符串b。 例如abcd -> abbccd 给你b字符串,要求给出a字符串。 思路:b字符串中除了第一个字符和最后一个字符串外,其他的都是重复字符,隔一个选一个就好。点击查看代码 import java.u…...

增肌,减脂,变瘦的联系和区别

首先,健身的目的基本都是为了好看的体型,肌肉和脂肪匀称的占比,力量和丝滑的结合。如果是运动员或需要针对性训练肌肉的话,那另说。 其次,这里说一下饮食和训练的关系。 俗话说,三分练七分吃。很多人不理解,为什么吃这么重要,但是我各种营养餐,减脂餐,轻食,没少吃,…...

(eval):1: _python-argcomplete: function definition file not found

(eval):1: _python-argcomplete: function definition file not found 我在使用kali的时候每次想使用table键补全命令就会报错,很烦人就是 去网上搜了一下,终于找到了解决方法argcomplete是一个用于Python的命令行参数自动补全工具。它通过与argparse库结合,为Python应用程序…...

详细介绍:【Spring Boot 报错已解决】Web server failed to start. Port 8080 was already in use.

详细介绍:【Spring Boot 报错已解决】Web server failed to start. Port 8080 was already in use.pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "M…...

Nordic Neuton.AI 技术优势;

Nordic Neuton.AI 技术的主要优势包括: 极小模型体积 Neuton.AI 能自动生成极小的机器学习模型,通常仅需几 KB(平均小于 5 KB),比传统框架(如 TensorFlow Lite for Microcontrollers)小 10 倍以上。 自动化建模,无需 ML 专业知识 Neuton.AI 平台无需开发者具备神经网络…...

channel Sounding 工作流程

1、必须要建立连接,并且配对绑定模式; 2、通过发送LL_CS_CONFIG_REQ PDU Select “启动器(Initiator) 或 反射器Reflector; 3、LL_CS_CONFIG_RSP PDU Select “与 DEVICE A 相反的角色 ” 4、启动器( Initiator )和反射器都可以发起channel sounding的流程; 如果对这个…...

基于Zhang-Suen算法的图像细化处理FPGA实现,包含testbench和matlab验证程序

1.算法运行效果图预览 (完整程序运行后无水印)将数据导入到matlab中显示图片:可以看到,图3,通过FPGA细化之后,可以获得和MATLAB一样的效果(图2),两者相对于原图(图1)都实现了图像的细化处理。2.算法运行软件版本 vivado2019.2matlab2024b/matlab2022a3.部分核心程序 (…...