26-Oracle 23 ai Automatic Transaction Rollback(行锁终结者)

Oracle 26ai DataGuard 搭建(RAC到单机) Oracle 26ai DataGuard 搭建 阅读详情
一、时不时就冒出来的锁,各种kill​

​小伙伴们,有没有经常遇见各种事务锁,需要KILL,业务、开发各种发来的信息,kill一个session,有时候还会因为一个带崩另一个。

在ACID的事务中,为了数据安全。当会话持有行锁未提交(如未提交的UPDATE),会阻塞其他会话的DML操作。DBA的小伙伴就需要人肉手动介入终止会话(KILL SESSION),导致业务中断且效率低下。

​Oracle 23 ai 带来了自动事务回滚(Automatic Transaction Rollback)​​ 通过事务优先级机制,自动终止低优先级阻塞事务,实现按照预先制定的规则进行优先级自治,解放DBA的小能手。

二、技术实现​
1. ​事务定义优先级机制​
  • ​三个优先级​:HIGH(默认)、MEDIUM、LOW
  • ​判定规则​:高优先级事务被低优先级阻塞时,若超时未获锁,自动回滚低优先级事务(会话保持存活)​
--核心参数​:
ALTER SESSION SET TXN_PRIORITY = LOW;                 -- 设置会话事务优先级
ALTER SYSTEM SET PRIORITY_TXNS_HIGH_WAIT_TARGET=10;   -- 高优先级等待阈值(秒)
ALTER SYSTEM SET PRIORITY_TXNS_MEDIUM_WAIT_TARGET=20; -- 中优先级等待阈值(秒)
2. ​自动回滚流程​
  • ​触发条件​:高优事务等待时间 > PRIORITY_TXNS_HIGH_WAIT_TARGET
  • ​执行动作​:
自动回滚低优先级阻塞事务
阻塞会话抛出错误(需要应用层设置捕获):
    • ORA-63300: 事务被自动回滚
    • ORA-63302: 必须执行ROLLBACK后才允许新操作
  • ​会话状态​:会话不会终止!需显式执行ROLLBACK后继续工作。
3. ​多层阻塞处理​
  • 若存在多个低优事务阻塞链,按等待顺序逐级回滚
  • ​比如:T1(LOW) → 阻塞 → T2(LOW) → 阻塞 → T3(HIGH)T3等待10秒 → 回滚T1 → T2获得锁 → T3再等10秒 → 回滚T2 → T3成功

三、使用场景 

场景

配置方案

关键业务操作

会话设置TXN_PRIORITY=HIGH+ 系统级调低PRIORITY_TXNS_HIGH_WAIT_TARGET

批处理任务

会话设置TXN_PRIORITY=LOW避免影响在线业务

应用超时控制

结合PRIORITY_TXNS_HIGH_WAIT_TARGET替代应用层超时机制

灰度测试

设置TXN_AUTO_ROLLBACK_MODE=TRACK(仅监控不实际回滚)

四、23 ai 实操脚本 

-- STEP1:系统参数配置 (需SYSDBA)
ALTER SYSTEM SET PRIORITY_TXNS_HIGH_WAIT_TARGET=10 SCOPE=BOTH;
ALTER PLUGGABLE DATABASE FREEPDB1 CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE FREEPDB1 OPEN;
--
DOCUSER@localhost:1521/FREEPDB1> select name
  2       from   V$SYSSTAT
  3*      where  name like '%txns rollback%';

NAME
_________________________________________________
txns rollback priority_txns_high_wait_target
txns rollback priority_txns_medium_wait_target

--
-- STEP2:创建测试表
CREATE TABLE lock_test1 (id NUMBER PRIMARY KEY, val VARCHAR2(20));
INSERT INTO lock_test1 VALUES (1, 'Init');

-- STEP3:会话1(低优事务阻塞)
ALTER SESSION SET TXN_PRIORITY=LOW;
UPDATE lock_test1 SET val='Blocking' WHERE id=1;  -- 不提交!

-- STEP4:会话2(高优事务被阻塞)
ALTER SESSION SET TXN_PRIORITY=HIGH;
UPDATE lock_test1 SET val='HighPriority' WHERE id=1;  -- 进入等待

-- STEP5:监控等待链(新会话,重新开个终端)
SELECT 
  sid, 
  event "等待事件",
  blocking_session "阻塞会话",
  txn_priority "事务优先级",
  seconds_in_wait "已等待(秒)"
FROM v$session 
WHERE event LIKE '%enq: TX%';

-- 等待10秒后观察:会话1自动回滚,会话2更新成功
-- 会话1后续操作:
SELECT * FROM lock_test1;  -- 抛出ORA-63300
ROLLBACK;
-- 需要执行以清除错误状态
五、监控与错误处理​
5.1 关键动态视图:
-- 事务视图中可以查看事务优先级及等待目标
SELECT txn_priority, priority_txns_wait_target 
FROM v$transaction;
--
DOCUSER@localhost:1521/FREEPDB1> SELECT txn_priority, priority_txns_wait_target
  2* FROM v$transaction;

TXN_PRIORITY       PRIORITY_TXNS_WAIT_TARGET
_______________ ____________________________
HIGH                                       0

--
-- 实时锁阻塞分析
SELECT 
  sid, 
  event "Event",
  seconds_in_wait "Wait Secs",
  blocking_session "Blocker"
FROM v$session 
WHERE event LIKE '%enq: TX%';
--
DOCUSER@localhost:1521/FREEPDB1> SELECT
  2    sid,
  3    event "Event",
  4    seconds_in_wait "Wait Secs",
  5    blocking_session "Blocker"
  6  FROM v$session
  7* WHERE event LIKE '%enq: TX%';

no rows selected
--

5.2 应用层捕获信息,容错设计: 

--Java应用层捕获,开发的小伙伴,.net的就不提供了
try {
  stmt.executeUpdate("UPDATE...X...X"); 
} catch (SQLException e) {
  if(e.getErrorCode() == 63300 || e.getErrorCode() == 63302) {
    conn.rollback();  // 关键:显式回滚后重试
    retryOperation(); 
  }
}
六、回顾-小改变大受益,Oracle真要进入自治时代了​
  • 1.​业务无损​:仅回滚事务不终止会话,连接池无需重建
  • 2.​精准控制​:优先级+超时阈值实现手术式阻塞解除
  • 3.​运维革命​:告别ALTER SYSTEM KILL SESSION的手动人手粗暴的操作
  • 4.​高可用增强​:有效应对应用逻辑缺陷导致的锁扩散
TIPS:
  • - 默认优先级为HIGH,需主动配置低优事务才会触发自动回滚
  • - 应用必须处理ORA-63300和ORA-63302错误
  • - 等待时间非严格上限(多层阻塞时逐级超时)

 

PowerShell install 一键部署Oracle26ai 摘要:本文介绍Oracle Database 26ai Free版本的安装指南,适用于Windows系统。该版本提供2CPU、2GB内存和12GB磁盘的资源限制。文章详细说明了安装前的系统要求、环境变量配置、密码规则及静默安装方法,并提供了自动化PowerShell脚本实现一键部署。脚本包含Oracle下载、VC库依赖安装、防火墙配置等功能,支持Windows 10/11及Server 2016-2025系统。安装完成后可使用SQL Developer连接,默认端口1521,SID为FREE,系统密码为CI 阅读详情

相关推荐

【信息科学与工程学】计算机科学与自动化——第三百零五篇 计算机系统中的各类运算操作01

编号类型领域运算操作运算类型算法算法的详细设计及数学分析参数列表及参数的数值设计应用场景 (100+条)集合运算​1集合运算关系代数并集 (Union)集合运算归并排序去重合并两个集合,去除重复元素。时间复杂度 O(n+m),n,m为两集合大小。输入:集合A, B。输出:A∪B。数据集成、多表结果合并、去重后的全量数据提取。2集合运算关系代数交集 (Intersection)集合运算哈希交集找出同时属于两个集合的元素。平均时间复杂度 O(min(n,m)),最坏 O(n*m)。输入:集合A, B。输出:A∩

weixin_49199313的博客 1389

Oracle AI Database 26ai:下一代智能数据革命

Oracle AI Database 26ai是甲骨文最新推出的AI原生数据库,深度集成了向量搜索、代理式AI、LLM支持等功能,支持关系型、JSON、图、空间等多模态数据融合。相比MySQL、PostgreSQL等传统数据库,其优势在于AI原生支持、统一数据模型和湖仓集成,但成本较高。该数据库提供免费版用于评估,支持云/本地部署。对于需要高性能AI数据融合的企业,26ai是一个值得考虑的选择,但需权衡其学习曲线和部署成本。

weixin_53520202的博客 1952

IEEE Access投稿全流程解析:从初次提交到最终接收的完整指南

本文详细解析了IEEE Access期刊从初次投稿到最终接收的全流程,包括ORCID注册、论文投稿七步法、回稿再投流程及最终版提交等关键步骤。特别强调了4-6周快速同行评审的特点,为研究者提供了一份实用的投稿指南,帮助高效完成IEEE Access期刊投稿。

weixin_29273849的博客 915

都在吹 Oracle 26ai,有人玩过完整版吗?

这款传说中的“AI驱动数据库”,完整版到底是什么?

weixin_42329915的博客 1240

GraphRAG + Ollama 本地化部署实战:从零搭建知识图谱问答系统

本文详细介绍了如何在本地部署GraphRAG与Ollama,搭建一个完全自主可控的知识图谱问答系统。通过逐步指导环境配置、项目初始化、核心设置修改以及源码适配,成功将GraphRAG从依赖云端OpenAI API转向本地Ollama服务,并选用qwen2.5:7b和nomic-embed-text模型。该方案有效解决了数据隐私与持续API成本问题,特别适合中小企业构建内部知识库或智能客服系统。

x2y3z4a5b的博客 919

【BLE】HID设备开发实战:从自拍杆到复合设备的蓝牙控制方案

本文深入解析了BLE HID(低功耗蓝牙人机接口设备)的开发实战,从蓝牙自拍杆的工作原理切入,详细阐述了HID Report Map的设计与实现。通过拆解自拍杆、键盘、鼠标等案例,指导开发者如何利用BLE的低功耗与即插即用特性,构建从单一功能到键盘鼠标复合设备的完整蓝牙控制方案。

weixin_29159613的博客 465

Oracle All In AI 国产数据库跟不跟?

作者 | JiekeXu来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)如需转载请联系授权 |(个人微信 ID:JiekeXu_DBA)大家好,我是 JiekeXu,江湖人称“强哥”,荣获 Oracle ACE Pro 称号,墨天轮 MVP,墨天轮年度“墨力之星”,拥有 Oracle OCP/OCM 认证,MySQL 5.7/8.0 OCP 认证以及 PCA、PCTA...

JiekeXu的博客 1276

PX4 磁罗盘干扰分析

无人机上的电机电流会干扰无人机上搭载的磁罗盘,PX4官方提供了一些方式,通过分析飞行日志,判断电机是否对磁罗盘有严重影响。

Zecet的博客 3358

Oracle 26ai重磅发布!数据库自己会“思考”

Oracle正式发布了AI Database 26ai

IT邦德 1955

手把手教你解决Windows 10网络驱动器无法访问问题(附详细排查步骤)

本文详细指导Windows 10用户解决网络驱动器无法访问的常见问题。通过从现象快速定位到系统排查,提供了从检查网络连通性、修复凭据权限到调整高级设置的完整步骤,特别是针对“找不到网络路径”等错误,帮助用户高效恢复对共享资源的访问。

weixin_29233857的博客 517

第133章 PCL OrientedBoundingBox 有向包围盒

中文叫有向包围盒,是一种旋转过的包围盒。特点:不像AABB那样固定朝向坐标轴能更紧密地包裹物体适用于复杂姿态的物体,比如倾斜、旋转的物体通常通过PCA、惯性矩等算法确定方向。

yumeiguo的博客 264

Oracle23ai来了,23爱,全能、超级巨兽...

Oracle23c改名为Oracle23ai,也意味着Oracle数据库正式从Cloud进入AI时代

IT邦德 6094

一般无穷积分的收敛判别法

文章目录积分里的狄屎判别法证明阿贝尔判别法总结补充:级数中的狄屎和Abel 积分里的狄屎判别法 F(u)=∫auf(x)dx在[a,+∞)F(u)=\int_a^uf(x)dx在[a,+\infty)F(u)=∫au​f(x)dx在[a,+∞)有界 x→+∞时,g(x)单减→0x\to+\infty时,g(x)单减\rightarrow0x→+∞时,g(x)单减→0 ⇒\Rightarrow⇒ ...

universe_1207的博客 1万+

114-Oracle Database 26ai在Oracle Linux 9上的OUI图形界面安装

此前112已经进行了环境准备,下载安装包。在Oracle linux9.7 单机单实例手动OUI安装,按照生产需求安装完整过程。实操记录。将配置SID为DEVCDB,并安装辅助组件,rlwrap命令行工具提升操作体验。

远方的专栏 1262

NPC 三电平逆变器中点电位平衡算法详解

最常用:零序电压注入(简单、计算量小)最可靠:虚拟空间矢量调制(VSVPWM)及其改进形式(全范围平衡)趋势:结合模型预测控制(MPC)或智能算法(模糊、神经网络)进一步提升动态性能和鲁棒性。NPC 三电平逆变器中点电位平衡算法的 C# 实现示例(零序电压注入法 + 闭环补偿)在 NPC(Neutral Point Clamped)三电平逆变器中,中点电位平衡最常用且易于软件实现的方案是零序电压注入法。

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 325

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Oracle AI Database 26ai 与开发相关的15个新特性

是一种128位的通用唯一标识符,被应用程序广泛用于生成不可预测的随机值,该值可用作表中的主键、事务ID或任何形式的唯一标识符。Oracle 26ai 有 434 项新特性,除此之外,还有很多比较实用的和借鉴的特性,AI 向量不用多说,机器学习、SQL 图、JSON、微服务、JavaScript、JDBC 应用连续性、安全、审计、高可用、云服务、大数据等多方面有重大更新,因未发布本地版本,很多特性也无法测试,目前只能去看官方文档学习了解了,那么今天就先到这里咯。除4和0之外的版本会返回错误。

JiekeXu的博客 1694

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Oracle AI Database 26ai 快速上手实战

Oracle AI Database 26ai 是 Oracle 推出的新一代(AI-Native Database),也是目前长期支持版本(Long Term Support)。作为一款(Converged Database),26ai 将 AI 深度集成到数据库核心和整个开发栈中。它不仅支持传统关系型数据,还原生支持向量(Vector)、JSON、图(Graph)、空间(Spatial)等多种数据类型,并提供强大的(向量相似性搜索),能够轻松实现检索增强生成(RAG)、语义搜索等 AI 应用。

老苏畅谈运维 1044

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Oracle 26ai静默安装全攻略,无需图形界面轻松部署!

Oracle 26ai 作为划时代的版本,将AI算法直接融入了数据库内核。如果你想尝鲜体验强大的 AI 能力,却又不想在安装部署上耗费太多精力,那么这篇教程正是为你准备的。

老苏畅谈运维 685

三年之后又三年?Oracle 23ai突变为26ai,AI战略急速狂奔!

三年之后又三年?Oracle 23ai突变为26ai,AI战略急速狂奔!

chenoracle的博客 692

数据库管理-第153期 Oracle Vector DB & AI-05(20240221)

本期介绍了Oracle Vector的其他特性意见简单的实战使用。下一期将依据Oracle Livelabs中的介绍进行进一步探索。

yhw1809的博客 1626

112-Oracle database 26ai下载和安装环境准备

26ai 本地安装版历经多次名称变更(23c → 23ai → 26ai)及发布时间调整,最终于 2026 年 1 月 27 日 正式 GA(全面可用)。

远方的专栏 2059

成埃落定!Oracle 26ai本地部署正式版发布!

Oracle AI Database 26ai企业版本地部署版本如期在2026年1月2日正式发布。

IT邦德 822

Oracle数据库的AI能力分析,释放企业数据价值

Oracle数据库的AI能力分析,释放企业数据价值

915

35 张图带你了解 Oracle AI Database 26ai 技术架构(上)

作者 | JiekeXu 来源 |公众号 JiekeXu DBA之路如需转载请联系授权 | (个人微信 ID:JiekeXu_DBA)了解 Oracle 体系架构是学习 Oracle 数据库的基础,很多面试官也会问关于体系结构的相关知识点,下面是 Oracle 非常经典的架构图,十年前我开始学的时候就是下面这张图,概括了数据库的全貌,学会搞懂他也算是入门了,今天我们来看看预计下周二左右要发布的 Oracle AI Database 26ai 本地部署版本体系结构长啥样。下面是官方网站 Oracle AI

JiekeXu的博客 685

All In ai,Oracle 23C没了,等来了Oracle 23ai

今年一月份的Blog介绍Oracle命名规则的时候,说到Oracle的命名是紧紧跟随时代浪潮的前言科技的,在文章的最后还大胆预测也许Oracle的下一个版本就叫25A了,结果Oracle根本等不及,把原来已经海量宣传的Oracle 23C直接改名为23ai,好吧,我还是低估了Oracle拥抱新技术的决心!5月2日, Oracle Database 23ai正式发布!在过去四年中,Oracle数据库开发部门一直在努力研发Oracle 数据库的下一个长期支持版本,重点是AI和开发人员的工作效率。

xiaofan23z的专栏 1955

Oracle 23c 新特性

ORACLE 23C 新特性概览

weixin_42344665的博客 1351
上一篇: 25-Oracle 23ai DBMS_SEARCH — Ubiquitous Search(无处不在的搜索)
下一篇: 27-Oracle 23 ai Automatic Rollback Quarantine(事务精准隔离)
远方1609
博客等级 码龄22年 577粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值