ITPub博客

首页 > 数据库 > Oracle > 数据库管理-第224期 23ai:优先级事务-03(20240729)

数据库管理-第224期 23ai:优先级事务-03(20240729)

原创 Oracle 作者:yhw1809 时间:2024-07-29 12:27:16 0 删除 编辑

数据库管理-第224期 23ai:优先级事务-03(20240729)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database(Oracle与MySQL)
PostgreSQL ACE Partner
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、年度墨力之星,ITPUB认证专家、专家百人团成员,OCM讲师,PolarDB开源社区技术顾问,HaloDB外聘技术顾问,OceanBase观察团成员,青学会MOP技术社区(青年数据库学习互助会)技术顾问
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著 名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭

因为之前的23c内测版没有优先级事务这一功能和23ai Free版本因为版本限制无法修改相关参数,耽搁了一段时间。但是上周末23.5 for Engineered Systems已经放出,可以通过一些方法安装数据库,因此这期开始继续实战优先级事务。

1 准备测试数据

create user test identified by test;grant connect,resource to test;alter user test default tablespace users quota unlimited on users;
conn test/test@127.0.0.1:1521/pdbprod1create table test (id number primary key,name varchar2(20));insert into test values (1,'yhw');insert into test values (2,'sky');insert into test values (3,'23ai');commit;

image.png

2 设置参数

ALTER SYSTEM SET "priority_txns_mode"="ROLLBACK";ALTER SYSTEM SET priority_txns_high_wait_target = 10;ALTER SYSTEM SET priority_txns_medium_wait_target = 10;

3 实战测试

案例1

session 1:

ALTER SESSION SET "txn_priority" = "LOW";update test set name='23c' where id=3;

session 2:

ALTER SESSION SET "txn_priority" = "MEDIUM";set timing onupdate test set name='23c-old' where id=3;

image.png
image.png
这里可以看到session 2等待约10s后执行成功,session 1仍可提交,但session 2提交后,session 1读取内容虽session 2提交内容变化。

案例2

重置环境:

update test set name='23ai' where id=3;commit;

session 1:

ALTER SESSION SET "txn_priority" = "LOW";update test set name='23c' where id=3;

session 2:

ALTER SESSION SET "txn_priority" = "MEDIUM";set timing onupdate test set name='23c-old' where id=3;

session 3:

ALTER SESSION SET "txn_priority" = "HIGH";set timing onupdate test set name='23ai-new' where id=3;

image.png
image.png
image.png
在这里看到拥有HIGH优先级的session 3等待了约10s就提交。session 2一直卡主,只能人工终止执行。session 1尝试commit时抛出与优先级事务相关的报错,再次DML操作时提示需要先rollback。

总结

本期对优先级事务进行了实操测试,演示并验证了相关特性。
老规矩,知道写了些啥。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31466763/viewspace-3023613/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2017-06-07

  • 博文量
    383
  • 访问量
    401940