search
HomeDatabaseOracleDetailed graphic and text explanation of Oracle lock table solutions

This article brings you relevant knowledge about Oracle. When developing Oracle database, we often encounter Oracle data tables that are frequently operated, and Oracle lock tables will appear. Here is an introduction to you I have found relevant information about Oracle lock table solutions. I hope it will be helpful to everyone.

Detailed graphic and text explanation of Oracle lock table solutions

Recommended tutorial: "Oracle Video Tutorial"

I believe everyone is familiar with table locks or lock timeouts, which often occur in DML statement, the reason is the exclusive locking mechanism of the database. When a DML statement is executed, the table or row data is locked until the transaction is committed or rolled back or the current session is forcibly ended.

For our application system, table locking will most likely occur where SQL execution is slow and there is no timeout (a SQL has been unsuccessfully executed for some reason (the Spoon tool does data extraction and push) and has been Do not release resources) Therefore, it is particularly important to write efficient SQL! There are also other situations where table locking may occur, which is a high concurrency scenario. The problem caused by high concurrency is that Spring transactions will cause database transactions to be uncommitted and cause deadlock (the current transaction is waiting for other transactions to release lock resources)! Thus throwing the exception java.sql.SQLException: Lock wait timeout exceeded;.

So how to solve the lock table or lock timeout? The temporary solution is to find out the table or statement that is competing for the lock resource, directly end the current session or session, and force the lock resource to be released. For example

The solution is as follows:

1. Session1 modifies a certain piece of data but does not submit the transaction, and session2 queries the record of the uncommitted transaction

2. Session2 tries to modify

We can see that the record of modifying uncommitted transactions will be in a waiting state until the other party releases the lock resource or forcibly closes session1. This also shows that Oracle has achieved row-level locks!

This is just a simple simulation of the table lock situation. You can see at a glance that it is the table lock caused by session1. When encountering this situation in actual development, SQL is generally used to directly find out the tables or statements that compete for lock resources and then forcefully release the resources! !

3. Session3 queries the tables or statements that compete for resources and forces the resources to be released.

-- 查询未提交事务的session信息,注意执行以下SQL,用户需要有DBA权限才行
SELECT
    L.SESSION_ID,
    S.SERIAL#,
    L.LOCKED_MODE AS 锁模式,
    L.ORACLE_USERNAME AS 所有者,
    L.OS_USER_NAME AS 登录系统用户名,
    S.MACHINE AS 系统名,
    S.TERMINAL AS 终端用户名,
    O.OBJECT_NAME AS 被锁表对象名,
    S.LOGON_TIME AS 登录数据库时间
FROM V$LOCKED_OBJECT L
    INNER JOIN ALL_OBJECTS O ON O.OBJECT_ID = L.OBJECT_ID
    INNER JOIN V$SESSION S ON S.SID = L.SESSION_ID
WHERE 1 = 1

The query results are as follows

forces the release of resources for us. Only the first two fields are useful. For example,

-- 强制 结束/kill 锁表会话语法
ALTER SYSTEM KILL SESSION 'SESSION_ID, SERIAL#';

-- 强制杀死session1,让session2可以修改id=5的那条记录
ALTER SYSTEM KILL SESSION '34, 111';

After forcibly killing session1, pay attention to the execution of session2! We will find that the waiting of session2 will be terminated and executed immediately! I believe everyone has a doubt, session_id is 29 and 34, how to determine whether they belong to session1 or session2, and ensure that session1 is killed so that session2 can successfully execute the DML statement?

In fact, it is also very simple. The judgment here The method is that session1 performs the update but does not submit the transaction. You can first use the above SQL to query the session information of the uncommitted transaction. At this time, the information found is the information of session1.

Recommended tutorial: "Oracle Video Tutorial"

The above is the detailed content of Detailed graphic and text explanation of Oracle lock table solutions. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:脚本之家. If there is any infringement, please contact admin@php.cn delete
MySQL and Oracle: Key Differences in Features and FunctionalityMySQL and Oracle: Key Differences in Features and FunctionalityApr 18, 2025 am 12:15 AM

MySQL and Oracle each have advantages in performance, scalability, and security. 1) Performance: MySQL is suitable for read operations and high concurrency, and Oracle is good at complex queries and big data processing. 2) Scalability: MySQL extends through master-slave replication and sharding, and Oracle uses RAC to provide high availability and load balancing. 3) Security: MySQL provides fine-grained permission control, while Oracle has more comprehensive security functions and automation tools.

Oracle: The Powerhouse of Database ManagementOracle: The Powerhouse of Database ManagementApr 17, 2025 am 12:14 AM

Oracle is called the "Powerhouse" of database management because of its high performance, reliability and security. 1. Oracle is a relational database management system that supports multiple operating systems. 2. It provides a powerful data management platform with scalability, security and high availability. 3. Oracle's working principles include data storage, query processing and transaction management, and supports performance optimization technologies such as indexing, partitioning and caching. 4. Examples of usage include creating tables, inserting data, and writing stored procedures. 5. Performance optimization strategies include index optimization, partition table, cache management and query optimization.

What Does Oracle Offer? Products and Services ExplainedWhat Does Oracle Offer? Products and Services ExplainedApr 16, 2025 am 12:03 AM

Oracleoffersacomprehensivesuiteofproductsandservicesincludingdatabasemanagement,cloudcomputing,enterprisesoftware,andhardwaresolutions.1)OracleDatabasesupportsvariousdatamodelswithefficientmanagementfeatures.2)OracleCloudInfrastructure(OCI)providesro

Oracle Software: From Databases to the CloudOracle Software: From Databases to the CloudApr 15, 2025 am 12:09 AM

The development history of Oracle software from database to cloud computing includes: 1. Originated in 1977, it initially focused on relational database management system (RDBMS), and quickly became the first choice for enterprise-level applications; 2. Expand to middleware, development tools and ERP systems to form a complete set of enterprise solutions; 3. Oracle database supports SQL, providing high performance and scalability, suitable for small to large enterprise systems; 4. The rise of cloud computing services further expands Oracle's product line to meet all aspects of enterprise IT needs.

MySQL vs. Oracle: The Pros and ConsMySQL vs. Oracle: The Pros and ConsApr 14, 2025 am 12:01 AM

MySQL and Oracle selection should be based on cost, performance, complexity and functional requirements: 1. MySQL is suitable for projects with limited budgets, is simple to install, and is suitable for small to medium-sized applications. 2. Oracle is suitable for large enterprises and performs excellently in handling large-scale data and high concurrent requests, but is costly and complex in configuration.

Oracle's Purpose: Business Solutions and Data ManagementOracle's Purpose: Business Solutions and Data ManagementApr 13, 2025 am 12:02 AM

Oracle helps businesses achieve digital transformation and data management through its products and services. 1) Oracle provides a comprehensive product portfolio, including database management systems, ERP and CRM systems, helping enterprises automate and optimize business processes. 2) Oracle's ERP systems such as E-BusinessSuite and FusionApplications realize end-to-end business process automation, improve efficiency and reduce costs, but have high implementation and maintenance costs. 3) OracleDatabase provides high concurrency and high availability data processing, but has high licensing costs. 4) Performance optimization and best practices include the rational use of indexing and partitioning technology, regular database maintenance and compliance with coding specifications.

How to delete oracle library failureHow to delete oracle library failureApr 12, 2025 am 06:21 AM

Steps to delete the failed database after Oracle failed to build a library: Use sys username to connect to the target instance. Use DROP DATABASE to delete the database. Query v$database to confirm that the database has been deleted.

How to create cursors in oracle loopHow to create cursors in oracle loopApr 12, 2025 am 06:18 AM

In Oracle, the FOR LOOP loop can create cursors dynamically. The steps are: 1. Define the cursor type; 2. Create the loop; 3. Create the cursor dynamically; 4. Execute the cursor; 5. Close the cursor. Example: A cursor can be created cycle-by-circuit to display the names and salaries of the top 10 employees.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months agoBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Have Crossplay?
1 months agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools