0 0

关于Oracle数据库锁表的问题10

百度、谷歌过都是说是事务未及时提交导致的锁表

我现在的应用,事务控制是方法级的,方法里一出现异常就将事务回滚

在一个方法里要循环的从一个数据量在5W条的文件中
一条一条的读取数据,然后与数据库中某些表的数据做对比,每一条数据对比完后,会将对比结果插入数据库。
所以在这个方法里面反反复复进行了(5W+)乘以N次的查询,5W+次的插入和修改动作。

这个方法每4个小时循环调度一次

同时在应用中部署了多个类似与上面的调度器,其他调度器数据读取量或多,或少(不同的业务应用),并且过程中可能多个调度同时会去操作一张表(增删改查)。

这样的情况,如何避免数据库出现锁表现象?
调度器在前面几个月的运行中,已经出现很多次锁表问题,但是一直找不到根源,现在要对这些调度器进行优化和分析,来解决这个问题。


有经验的朋友,来交流下吧,谢谢!
2012年11月28日 17:58

1个答案 按时间排序 按投票排序

0 0

建议比如1000次一个事务(使用@RequiresNew开启一个新事务执行批量插入和修改),5W+次的插入和修改动作,说不定就把别的事务需要的数据锁了。

2012年11月28日 18:49

相关推荐

    ORACLE数据库锁表问题浅析.pdf

    ORACLE数据库锁表问题浅析 Oracle数据库锁机制是企业级数据库管理系统中一个非常重要的机制。锁机制的主要目的是为了保证数据的一致性和正确性,在多用户同时访问数据库时,避免数据的不一致和错误。Oracle数据库锁...

    oracle数据库锁使用

    总之,Oracle数据库锁的使用是数据库管理中的重要一环,理解并合理运用这些锁可以帮助我们优化并发性能,防止数据冲突,并确保数据的正确性和一致性。在设计事务和处理并发操作时,应根据业务需求选择合适的锁类型,...

    oracle数据库锁表处理

    ### Oracle数据库锁表处理 在Oracle数据库管理过程中,锁表是一种常见的现象,它通常发生在多用户并发访问同一数据对象时。锁表会导致其他用户无法访问该数据对象,从而影响系统的正常运行。本文将详细介绍如何处理...

    Oracle数据库解锁工具

    Oracle数据库解锁工具是一种专门用于解决Oracle数据库账户锁定问题的应用程序,尤其在开发环境中十分有用。在Oracle数据库系统中,为了确保安全性,用户账户可能会因为多次尝试登录失败而被自动锁定。这种情况下,...

    Oracle数据库的锁类型

    #### 二、Oracle数据库锁类型概览 Oracle数据库的锁类型大致可以分为三类:DML锁、DDL锁和内部锁与闩锁。DML锁(数据锁)主要用于保护数据的完整性,DDL锁(字典锁)用于保护数据库对象的结构,如表、索引等,而...

    Oracle的锁表与解锁

    本文将深入探讨Oracle中的锁机制,特别是如何锁表与解锁,以及相关的SQL查询语句,帮助数据库管理员和开发人员更好地理解和管理Oracle数据库的锁状态。 #### 锁的类型 在Oracle中,锁主要分为两种类型: 1. **TX...

    解锁或者修改oracle 数据库用户密码.doc

    在 Oracle 数据库中,sys 和 system 用户是两个特殊的用户账户,它们拥有最高的权限,可以对数据库进行管理和维护。然而,如果这些用户账户被锁定,将无法以管理员身份登录系统。锁定的原因可能是由于密码输错次数...

    Oracle 数据库解锁session方式

    Oracle 数据库解锁session方式

    查看Oracle锁表

    本文将详细介绍如何查看当前Oracle数据库中被锁定的表,并提供解锁的方法。 #### 一、理解Oracle锁表概念 1. **锁的基本类型**: - **共享锁(S)**:允许其他会话读取但不允许修改。 - **排他锁(X)**:只允许一个...

    Oracle数据库常见维护问题手册-精典

    ### Oracle数据库常见维护问题手册-精典 #### 数据库基础 **数据库启动方式** Oracle数据库启动通常通过`SQL*Plus`工具来进行。首先确保已经安装并配置了正确的Oracle客户端环境,然后通过以下命令来启动数据库:...

    oracle数据库用户频繁被锁原因排查

    oracle数据库用户为何频繁被锁,oracle数据库用户频繁被锁原因排查oracle数据库用户为何频繁被锁

    java调用Oracle的锁表命令

    首先,Oracle数据库提供了多种锁类型,如共享锁(读锁)和独占锁(写锁),用于控制不同级别的并发访问。在Java中,我们通常通过JDBC(Java Database Connectivity)API来执行SQL命令,包括锁定和解锁表。 1. **...

    修改oracle数据库用户名及密码

    知识点 1: 连接到数据库 在 Oracle 数据库中,连接到数据库是修改用户名和密码的第一步。可以使用 sys 用户登陆数据库,命令为 `SQL> connsys/lmis@lmisdx_local as sysdba`。这将连接到数据库,并以 sys 用户身份...

    Oracle数据库.pdf

    Oracle数据库管理是数据库管理员(DBA)日常工作中不可或缺的一部分,涉及到用户管理、系统参数配置、表空间操作等多个方面。在Oracle环境中,以下是一些关键的知识点: 1. **用户管理**: - `ALTER USER`语句用于...

    Oracle数据库性能分析

    为了有效地进行Oracle数据库性能分析,识别导致性能问题的SQL语句是非常关键的。以下是一些常用的工具和技术: - **AWR(Automatic Workload Repository)**: AWR提供了关于系统活动的重要信息,可以帮助识别高CPU或I...

    oracle 数据库查看锁表等阻塞情况

    oracle 数据库查看锁表等阻塞情况

    Oracle数据库锁的研究.pdf

    Oracle数据库是一种广泛应用于企业级应用的关系型数据库管理系统,其在多用户并发访问环境中,为了保证数据的一致性和完整性,引入了锁的概念。锁是数据库管理系统中用于管理并发操作的重要机制,它确保在并发环境下...

    Oracle数据库学习指南

    Oracle2: 1. 《Oracle8 优化技术》摘录 (第一章 安装) 2. 《Oracle8 优化技术》摘录 (第二章 内存-CPU) 3. 《Oracle8 优化技术》摘录 (第三章 输入-输出) 4. EXP、IMP 命令详解 ...52. 自动备份Oracle数据库

    浅谈ORACLE数据库锁的类型与机制.pdf

    浅谈 Oracle 数据库锁的类型与机制 Oracle 数据库锁是指 Oracle 数据库中用于保护数据的一致性和完整性的机制。 Oracle 数据库锁可以分为五大类:DML 锁、DDL 锁、内部锁、分布式锁和 PCM 锁。 1. DML 锁(Data ...

Global site tag (gtag.js) - Google Analytics