哪种操作需要哪种类型的library cache lock / library cache pin?

本文详细阐述了Oracle数据库中不同类型的DDL操作、查询及DML操作所需的锁和Pin模式。例如,所有DDL操作需要独占锁和Pin;使用对象的操作(如执行视图或过程)需要空锁和共享Pin;而查询和DML游标则需要空锁和共享Pin。这些锁和Pin在SQL语句执行期间保持,并在其结束时释放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如下摘自:
How to Analyze Library Cache Timeout with Associated: ORA-04021 'timeout occurred while waiting to lock object %s%s%s%s%s.' Errors (文档 ID 1486712.1)

Which lock/pin mode is required for which type of action?

    All DDL operations (For example, when a package is recompiled, when a grant is given on an object, a truncate on a table, etc.)
require a exclusive lock and pin on the object that needs to be processed.
The DDL cursors themselves require a null lock (localisation job in library cache) and an exclusive pin when executing.
    All operations that use an objects (e.g. when a view is used, when a procedure is executed, etc.) require a null lock and shared pin on those objects.
This is also applicable for all dependent objects (e.g. view based on another view, package using another package or view).
    Query and DML cursors requires a null lock and shared pin when executing.

The locks/pins are held for the duration of the SQL statement, and released at the end of it.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值