Oracle锁实验

MASICONG@orclselectsidfromv$mystatwhererownum=1;SID———-35MASICONG@orclselectsidfromv$mystatwhererownum=1;SID—..

masicong@orcl> select sid from v$mystat where rownum=1;

       SID

———-

        35

masicong@orcl> select sid from v$mystat where rownum=1;

       SID

———-

         1 

1.分别模拟insert,update和delete造成阻塞的示例,并对v$lock中的相应的信息进行说明,给出SQL演示。

MASICONG@orcl> create table test (id varchar(2) primary key); 

Table created.

INsert阻塞

MASICONG@orcl> insert into test values (10);

1 row created.

MASICONG@orcl> insert into test values(10);  另一个用户提交同样的请求就会卡住

MASICONG@orcl>  select sid,type,id1,id2,lmode,request,block from v$lock where type in (‘TM’,’TX’) ;    

       SID TY        ID1        ID2      LMODE    REQUEST      BLOCK

———- — ———- ———- ———- ———- ———-

         1 TX     131090        674          0          4          0

        35 TM      74571          0          3          0          0

         1 TM      74571          0          3          0          0

         1 TX      65540        508          6          0          0

        35 TX     131090        674          6          0          1

 

说明1会话需要一个4级锁,网站空间,但是35已经加了一个6级的锁阻塞了会话。因为会话1已经插入了一条记录,所以又一个TX锁可以通过。

MASICONG@orcl> select object_name from dba_objects where object_id=74571;

OBJECT_NAME

——————————————————————————–

TEST

 

通过TM知道目前是在一个表上加的锁,所有通过ID可以查到具体操作的是哪个表。

MASICONG@orcl> commit; 

Commit complete.

MASICONG@orcl> insert into test values(10); 当一个会话提交后,另一个会话才能访问     

*

ERROR at line 1:

ORA-00001: unique constraint (MASICONG.SYS_C0011055) violated

ViiTor实时翻译 ViiTor实时翻译

AI实时多语言翻译专家!强大的语音识别、AR翻译功能。

ViiTor实时翻译 116 查看详情 ViiTor实时翻译

Update阻塞

MASICONG@orcl> commit

  2  ;

Commit complete.

MASICONG@orcl> select * from test; 

ID

1

10

MASICONG@orcl> update test set id=2 where id =1; 

1 row updated.

MASICONG@orcl> update test set id=2 where id =1;  另一回话处于Block状态

MASICONG@orcl>  select sid,type,id1,id2,lmode,request,block from v$lock where type in (‘TM’,’TX’) ;   

 

       SID TY        ID1        ID2      LMODE    REQUEST      BLOCK

———- — ———- ———- ———- ———- ———-

         1 TX     458775        552          0          6          0

         1 TM      74571          0          3          0          0

        35 TM      74571          0          3          0          0

        35 TX     458775        552          6          0          1

 

显示出现了阻塞信息,会话在等待一个6级的锁

MASICONG@orcl> select sid,event from v$session_wait where sid in (1,35);  

       SID EVENT

———- —————————————————————-

         1 enq: TX – row lock contention

        35 SQL*Net message from client

上面标示1会话需要TX锁

DELETE操作

MASICONG@orcl> delete from test where id=10;

1 row deleted.

MASICONG@orcl> select sid,type,id1,id2,lmode,request,block from v$lock where type in (‘TM’,’TX’) ;   

        SID TY        ID1        ID2      LMODE    REQUEST      BLOCK

———- — ———- ———- ———- ———- ———-

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/525894.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月9日 08:02:33
下一篇 2025年11月9日 08:04:07

相关推荐

  • Oracle 11g Linux安装包去哪下载?

    Oracle 11g Linux安装包下载困境及解决方案 许多用户在搭建Oracle数据库环境时,常常面临一个难题:Oracle官方已停止提供11g版本的安装包下载。本文将针对“如何下载Oracle 11g for Linux安装包”这一问题提供一些建议。 由于Oracle官方出于安全和支持策略的考…

    2025年12月11日
    000
  • 什么是Pyth Network(PYTH)币?PYTH工作原理、未来发展及价格预测

    目录 引言:市场数据为何重要Pyth Network是什么PYTH 代币是什么?Pyth Network 的历史Pyth 如何工作?代币经济模型:PYTH 的分配机制Pyth Network 有何独特之处?PYTH代币Pyth 网络生态系统Pyth Network价格预测Pyth Network 2…

    2025年12月10日
    000
  • Morpho(MORPHO)币是什么?未来潜力如何?MORPHO代币经济与价格预测

    目录 Morpho是什么Morpho技术架构市场和金库如何协同工作Oracle 和 LLTV 风险边界MORPHO代币经济学MORPHO币价格长期预测MORPHO 2025 年价格预测MORPHO 2026-2031 年价格预测MORPHO 2031-2036 年价格预测生态系统合作:机构和稳定币的…

    2025年12月10日
    000
  • 什么是Aster?Aster代币经济学、路线图及价格预测

    目录 什么是Aster?Aster 的特点和产品Aster Perp DEX紫苑花紫菀收益USDF紫苑链代币经济学$ASTER 代币信息代币分配代币效用团队、投资者和合作伙伴项目团队投资者合作伙伴路线图竞争对手Aster价格预测Aster 2025 年价格预测Aster 2026-2031 年价格预…

    2025年12月10日 好文分享
    000
  • 预言机机制:连接现实与区块链的桥梁

    预言机是连接区块链与现实世界的无形桥梁,解决智能合约无法访问外部数据的问题,通过去中心化机制将链下数据安全可靠地引入链上,赋能DeFi、保险、供应链等应用场景,主流项目包括Chainlink、Band Protocol、API3、Tellor和Pyth Network,同时依赖Binance、OKX…

    2025年12月10日
    000
  • 一文读懂 RWA:现实资产如何链上起舞

    rwa(real world assets),即现实世界资产,是当前区块链领域最引人瞩目的新兴趋势之一。它旨在将传统金融世界中那些具有真实价值的资产,如房地产、股票、债券、艺术品,甚至是碳信用额度等,通过代币化的方式搬到区块链上。想象一下,你不再需要通过繁琐的中间机构和漫长的流程才能投资一栋位于纽约…

    好文分享 2025年12月10日
    000
  • MORPHO币是什么?MORPHO未来展望及价格预测2025-2036

    目录 Morpho (MORPHO)币是什么?Morpho是如何运作的?1. 市场创造2. 贷款和借贷3. 职位和分享4. 清算机制5. 治理和费用项目介绍 代币作用  代币经济学是什么推动了Morpho的增长?为什么治理模式很重要?历史价格走势回顾影响币价的因素MORPHO币未来展望技术创新带来的…

    2025年12月10日
    000
  • Lido DAO (LDO币) 价格预测:2025、2026、2027-2030年

    目录 Lido 是什么?重新定义质押体验Lido 的运作机制与技术架构LDO 代币:经济模型与市场表现代币分配与功能最新市场数据Lido 的竞争壁垒与发展风险核心优势潜在挑战Lido DAO (LDO) 价格预测Lido DAO(LDO)价格预测:布林带和EMA对齐Lido DAO(LDO)价格预测…

    2025年12月10日 好文分享
    000
  • 数字货币市场,区块链技术的影响力评估

    区块链技术通过去中心化、不可篡改和透明化特性深刻影响数字货币市场,推动金融创新、提升数据信任并构建新型经济生态;其在支付、证券、资产管理等领域颠覆传统金融模式,数字货币交易所则作为关键枢纽提供交易、流动性和价格发现功能,全球主要平台包括Binance、OKX和Huobi Global;智能合约实现D…

    2025年12月10日
    000
  • 币圈专业术语大全,币圈新人必备

    进入加密资产领域需掌握以下核心术语:1. Blockchain是分布式账本技术,数据按时间顺序链接成链;2. DeFi为去中心化金融体系,提供无需中介的金融服务;3. Tokenomics指通证经济模型,涵盖发行机制与分配规则;4. Gas Fee是执行链上操作时支付的网络手续费;5. Market…

    2025年12月10日
    000
  • 3天内价格飙升160%的DIA币是什么?怎么样?DIA代币经济与未来前景分析

    目录 DIA 币是什么DIA的历史DIA的技术DIA 代币的使用案例DIA代币优势与风险DIA币加密功能DIA 币价格 3 天内飙升 160%DIA币价格分析(2025 年 7 月)1. 以太坊和整个市场的势头2. 主网质押启动3. Oracle 资助计划4.战略伙伴关系常问问题结论 dia 加密货…

    2025年12月10日
    000
  • PHPMaker 2019:利用自定义视图处理复杂SQL联接与数据过滤

    本文探讨了在PHPMaker 2019中处理复杂SQL联接和数据过滤的挑战,特别是在Recordset_Selecting事件中的局限性。我们提出并详细阐述了创建自定义数据库视图作为解决方案,并指导如何在PHPMaker中配置这些视图以实现数据编辑功能,特别是通过设置UpdateTable属性,从而…

    2025年12月10日
    000
  • PHPMaker 2019中实现复杂数据过滤与联接:自定义视图的实践指南

    在PHPMaker 2019中处理涉及复杂联接和高级过滤逻辑的数据时,直接在Recordset_Selecting事件中实现往往受限。本文详细阐述了如何通过创建数据库自定义视图来解决此类问题,特别是针对需要结合多表信息进行去重和条件筛选的场景。教程涵盖了视图的创建、在PHPMaker中集成视图以及如…

    2025年12月10日
    000
  • PHP开发工具合集 免费PHP开发环境盘点

    VS Code是首选免费PHP IDE,搭配插件可实现代码补全与调试;2. XAMPP和WampServer可一键搭建本地PHP环境,Docker适合隔离多项目依赖;3. Xdebug支持断点调试,Kint用于简易变量查看;4. Git配合GitHub等平台实现代码版本管理;5. phpMyAdmi…

    2025年12月10日
    000
  • 如何在PHP在线执行中实现数据加密?使用PHP加密函数的完整教程

    答案:PHP中实现数据加密需使用openssl_encrypt和openssl_decrypt配合AES等安全算法,生成随机密钥与唯一IV,密钥应通过环境变量或KMS安全存储,IV可与密文一同保存;避免硬编码密钥、重复使用IV,推荐使用AEAD模式如aes-256-gcm以确保数据完整性,用户密码则…

    2025年12月10日
    000
  • php实现webservice接口_php开发webservice教程

    答案:PHP中实现WebService接口主要依赖SOAP扩展,通过SoapServer和SoapClient类分别实现服务端与客户端,支持WSDL和非WSDL模式。核心步骤包括定义业务逻辑类、配置SOAP服务、处理复杂数据类型与错误机制,并在部署时考虑安全性、性能优化及可伸缩性。SOAP适用于企业…

    2025年12月10日
    000
  • Doctrine ORM 中使用 BINARY 进行大小写敏感查询的教程

    本教程将指导您如何在 Doctrine Query Builder 和 DQL 中实现大小写敏感的字符串查询,特别是利用 BINARY 操作符。由于 BINARY 并非 Doctrine 原生支持的 DQL 函数,我们需要通过集成 beberlei/DoctrineExtensions 库并配置自定…

    2025年12月10日
    000
  • MySQL中按用户和月份统计特定星期几的事件数量

    本教程详细介绍了如何在MySQL数据库中,针对每个独立用户,统计特定月份中某个特定星期几(例如周六)的事件发生次数。文章通过结合使用DAYOFWEEK()、MONTH()等日期函数以及GROUP BY和条件聚合(如SUM(condition))来实现数据透视,将按行分组的结果转换为按列展示的报表格式…

    2025年12月10日
    000
  • SQL技巧:按用户和月份统计特定日期(如周六)的出现次数

    本文详细介绍了如何利用SQL查询,从包含账户和事件数据的表中,按每个用户和每个月份统计特定星期几(例如周六)的事件发生次数。教程将分步展示如何结合使用DAYOFWEEK函数进行日期筛选、GROUP BY进行分组聚合,并通过条件聚合(模拟PIVOT操作)将月份数据从行转换为列,最终生成清晰的统计报表,…

    2025年12月10日
    000
  • MySQL中按用户统计每月周六事件数的SQL实现教程

    本教程详细介绍了如何在MySQL数据库中,针对用户关联的事件数据,统计每个用户在不同月份中发生的周六事件数量。文章涵盖了如何利用SQL日期函数筛选特定星期几的事件,并通过分组聚合实现初步统计,最终使用条件聚合(模拟数据透视)将月份作为列展示,生成清晰的交叉表报告。 1. 理解数据结构与需求 在开始之…

    2025年12月10日
    000

发表回复

登录后才能评论
关注微信