`

oracle存储过程加锁

 
阅读更多

项目用到了weblogic集群,导致应用调用存储过程时发生了冲突。

把下面存储过程中的话加到你想要加锁的业务前后即可。

 

 

create or replace procedure testp  is
    LN   number;
    jcr_lockhandle   varchar2(128);
  begin
     
      DBMS_LOCK.allocate_unique('Lock', jcr_lockhandle);--针对当前session加锁

   LOOP
      LN := DBMS_LOCK.request ( jcr_lockhandle, TIMEOUT => 0);

      IF LN NOT IN (0, 4)--判断是否被别session锁住
      THEN
         DBMS_OUTPUT.put_line ('Already run...');
         DBMS_LOCK.sleep (2);--已经被人锁住,休眠2秒
      ELSE
         EXIT;--没有锁,退出轮询
      END IF;
   END LOOP;

 

 

dbms_output.put_line('1');  ----你要加锁的业务逻辑哦


LN := DBMS_LOCK.release ( jcr_lockhandle);--释放资源

 

  end ;

分享到:
评论

相关推荐

    Oracle11g从入门到精通2

    《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的...完整案例来介绍基于Java开发包和Oracle数据库进行案例开发的详细过程...

    通过数据库给文件加锁

    本篇文章将深入探讨“通过数据库给文件加锁”的概念、原理以及实践方法。 文件锁定通常在多用户环境中至关重要,例如在文件共享系统、协同编辑软件或任何需要同时处理相同资源的应用程序中。数据库系统提供的锁机制...

    oracle实用教程,很详细

    然后,数据从数据文件读入数据缓冲区,如果需要修改数据,Oracle会在行级加锁,将更改记录在重做日志缓冲区。最后,结果返回给用户并关闭游标。值得注意的是,SQL语句在Oracle中是大小写敏感的,不同的大小写会被视...

    Oracle 中生成流水号的方法

    总的来说,Oracle中生成流水号的方法主要依赖于数据库的事务管理和数据更新操作,可以通过函数或存储过程封装逻辑,以确保生成的流水号具有唯一性和可追踪性。在设计时,需要考虑到并发安全和效率问题,以满足不同...

    Oracle数据库的数据保护机制及应用

    Oracle数据库提供了多种存储过程,包括数据处理存储过程、事务处理存储过程等。 三、数据的并发控制 数据的并发控制是指保护数据库中的数据不被多个用户同时访问和修改,以避免数据的不一致和不安全。Oracle数据库...

    oracle_hr解锁和加密

    ### Oracle解锁与加锁:hr用户为例 #### 一、解锁用户 在Oracle数据库中,当一个用户被锁定时,该用户将无法登录数据库执行任何操作。解锁用户意味着恢复其登录和操作数据库的能力。以下步骤展示了如何解锁hr用户...

    Oracle11g从入门到精通

    《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的...完整案例来介绍基于Java开发包和Oracle数据库进行案例开发的详细过程...

    oracle 12c 数据库 教程

    Oracle 12c 数据库教程涵盖了数据库的基础概念、体系架构、进程结构、内存管理、数据库管理、网络配置、用户和权限管理、存储结构、并发处理、还原数据管理、数据库审计、数据移动、性能管理和备份恢复等多个方面。...

    ORACLE 数据库入门视频

    Oracle数据库是全球广泛使用的...Oracle数据库的学习是一个深度和广度兼具的过程,理解这些基础知识是成为一名合格的Oracle数据库管理员的第一步。随着技能的提升,还将涉及性能优化、安全性、备份与恢复等多个领域。

    Oracle.11g.从入门到精通 (2/2)

    7.3.4 存储过程检查 7.3.5 使用触发器 7.4 避免更改引起的大量改动 7.4.1 使用视图 7.4.2 使用同义名 7.4.3 使用光标 第8章 数据库用户管理 8.1 授予权限 8.1.1 直接授权 8.1.2 授权角色 8.1.3 使用OEM的“安全管理...

    Oracle.11g.从入门到精通 (1/2)

    7.3.4 存储过程检查 7.3.5 使用触发器 7.4 避免更改引起的大量改动 7.4.1 使用视图 7.4.2 使用同义名 7.4.3 使用光标 第8章 数据库用户管理 8.1 授予权限 8.1.1 直接授权 8.1.2 授权角色 8.1.3 使用OEM的“安全管理...

    Oracle Database Transactions and Locking Revealed

    ### Oracle数据库中的事务处理与锁定揭秘 #### 一、引言 在开发高度并发和可扩展的数据库应用程序时,理解底层数据库如何管理事务至关重要。Oracle作为业界领先的数据库管理系统之一,其事务管理和锁定机制的设计...

    ORACLE+数据库入门

    本文将深入探讨Oracle数据库的基础知识,包括其体系结构、内存结构、后台进程、连接管理以及SQL语句的执行过程。 首先,Oracle数据库的物理结构由数据文件(datafiles)、重做日志文件(redo log files)、控制文件...

    Oracle数据库入门

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,它提供了高效的数据存储和管理能力。本文将深入探讨Oracle数据库的基础知识,包括其体系结构、内存结构、实例、会话、交易事务以及后台进程,并简要介绍...

    oracle_专家高级编程

    - **对象级锁**:锁定存储过程等数据库对象。 - **系统级锁**:锁定数据库的全局资源,如SGA中的内存结构。 ##### 6.3 锁的粒度 - **行级锁**:最小的锁定粒度,能够最小化锁的竞争。 - **表级锁**:通常用于控制...

    oracle数据库.ppt

    本篇将介绍Oracle数据库的基础知识,包括体系结构、内存结构、实例、会话、事务、后台进程以及SQL语句的执行过程。 1. Oracle 体系结构: Oracle数据库的物理结构主要包括数据文件(datafiles)、重做日志文件...

    在分布式事务中实现基于Oracle PLSQL UL LOCK的悲观离线锁

    Oracle PL/SQL是一种强大的编程语言,它允许开发者在数据库级别编写存储过程、函数和触发器等,以增强数据库的功能。在Oracle中,锁定机制主要分为共享锁(S锁)和独占锁(X锁),它们在事务处理中扮演着至关重要的...

Global site tag (gtag.js) - Google Analytics