Lock(一)认识v$LOCK
v$lock列出了数据库当前拥有的锁及未完成的锁请求。
| Column | Description |
| ADDR | 被锁对象的地址 |
| KADDR | 锁的地址 |
| SID | session id(这里特指正在锁定对象或请求去锁定对象的session id) |
| TYPE | 使用的锁的类型,主要包含两大类,用户类型的锁及系统类型的锁 (1)用户类型的锁由用户的应用程序获得,任何阻塞其他进程的进程都可能持有这些锁,用户类型的锁有: --TM:表锁或DML锁 --TX:行锁或事物锁 --UL:用户提供的锁 (2)系统类型的锁见”table1. system type locks“,这里只介绍常用的系统锁,如何要查看所有的锁,可以查看v$lock_type。 |
| ID1/ID2 | 取值根据所的类型的不同也有所不同 (1)对于TM锁,ID1表示被锁定的object_id,可以和dba_object连接获得锁定的对象,ID2为0; (2)对于TX锁,这两个字段构成了事物在回滚段中的位置。 |
| LMODE | session保持的锁的模式 --0:none --1:null(NULL) --2:row-S(SS,行级共享锁,其它session只能查询这些数据行。SQL操作有select for update、lock for update、lock row share) --3:row-X(SX,行级排它锁,在提交前不允许做DML操作。SQL操作有insert、update、delete、lock row share) --4:share(S,共享锁。SQL操作有create index,lock share) --5:S/Row-X(SSX,共享行级排它锁。SQL操作有lock share row exclusive) --6:exclusive(X,排它锁。SQL操作有alter table、drop table、drop index、truncate table、lock exclusive等DDL操作) |
| REQUEST | 进程请求的锁的模式 --0:none --1:null(NULL) --2:row-S(SS) --3:row-X(SX) --4:share(S) --5:S/Row-X(SSX) --6:exclusive(X) |
| CTIME |
自当前模式被授予的时间 |
| BLOCK | 指定该所是否阻塞其它进程,可能的取值有 --0:该锁未阻塞其他进程 --1:该锁正在阻塞其它进程 --2:该锁没有阻塞本地节点的任何进程,但是他可能会阻塞远程节点上的进程。此值仅用于Oracle RAC配置,不配置在但节点数据库中 |
Table 8-1 Values for the TYPE Column: System Types
| System Type | Description | System Type | Description |
|---|---|---|---|
|
|
Edition enqueue |
MR |
Media recovery |
|
|
Lock held for the |
NA..NZ |
Library cache pin instance ( |
|
|
Buffer hash table instance |
|
Password File |
|
|
Control file schema global enqueue |
|
Parallel operation |
|
|
Cross-instance function invocation instance |
|
Process startup |
|
|
Cursor bind |
|
Row cache instance ( |
|
|
datafile instance |
|
Redo thread global enqueue |
|
|
Direct loader parallel index create |
|
System change number instance |
|
|
Mount/startup db primary/secondary instance |
|
SMON |
|
|
Distributed recovery process |
|
Sequence number instance |
|
|
Distributed transaction entry |
|
Sequence number enqueue |
|
|
File set |
|
Sort segment |
|
|
Space management operations on a specific segment |
|
Space transaction enqueue |
|
|
Instance number |
|
Sequence number value |
|
|
Instance recovery serialization global enqueue |
|
Generic enqueue |
|
|
Instance state |
|
Temporary segment enqueue (ID2=0) |
|
|
Library cache invalidation instance |
|
New block allocation enqueue (ID2=1) |
|
|
Job queue |
|
Temporary table enqueue |
|
|
Thread kick |
|
User name |
|
|
Library cache lock instance lock (A..P = namespace) |
|
Undo segment DDL |
|
|
Mount definition global enqueue |
|
Being-written redo log instance |
Lock(一)认识v$LOCK的更多相关文章
- ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock
ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock 通过终端安装程序sudo apt-get install xxx时出错:E: Could not ...
- ubuntu常见错误--could not get lock /var/lib/dpkg/lock -open
最近研究ubuntu,用apt-get命令安装一些软件包时,总报错:E:could not get lock /var/lib/dpkg/lock -open等 出现这个问题的原因可能是有另外一个程序 ...
- 【ubuntu 】常见错误--Could not get lock /var/lib/dpkg/lock
ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock 通过终端安装程序sudo apt-get install xxx时出错: E: Could not ...
- apt-get报错could not get lock /var/lib/dpkg/lock -open等
用apt-get命令安装一些软件包时,总报错:E:could not get lock /var/lib/dpkg/lock -open等 出现这个问题的原因可能是有另外一个程序正在运行,导致资源被锁 ...
- ubuntu常见错误--Could not get lock /var/lib/dpkg/lock解
通过终端安装程序sudo apt-get install xxx时出错: E: Could not get lock /var/lib/dpkg/lock - open (11: Reso ...
- 14.4.9 Configuring Spin Lock Polling 配置Spin lock 轮询:
14.4.9 Configuring Spin Lock Polling 配置Spin lock 轮询: 很多InnoDB mutexes 和rw-locks 是保留一小段时间,在一个多核系统, 它可 ...
- ubuntu常见错误--Could not get lock /var/lib/dpkg/lock解决
通过终端安装程序sudo apt-get install xxx时出错: E: Could not get lock /var/lib/dpkg/lock - open (11: Resource t ...
- ubuntu 16.04常见错误--Could not get lock /var/lib/dpkg/lock解决
我的博客 ubuntu常见错误--Could not get lock /var/lib/dpkg/lock解决 通过终端安装程序sudo apt-get install xxx时出错: E: Cou ...
- BUG in Ubuntu--Could not get lock /var/lib/dpkg/lock
在ubuntu中通过apt安装软件时,报错: E: Could not : Resource temporarily unavailable) E: Unable to lock the admini ...
- 关于library cache lock和row cache lock产生的常见原因
这两个等待事件其实很少出现在top5列表中,一般都没什么印象,在此整理记录以便以后查阅. 常见的library cache lock产生的原因在<高级OWI与Oracle性能调查>这本书和 ...
随机推荐
- Unity3D C#中使用LINQ查询(与 SQL的区别)
学过SQL的一看就懂 LINQ代码很直观 但是,LINQ却又跟SQL完全不同 首先来看一下调用LINQ的代码 int[] badgers = {36,5,91,3,41,69,8}; var skun ...
- 关于 this对象 指向问题
this 定义:this是包含它的函数作为方法被调用时所属的对象.(1,this所在的函数.2,此函数作为方法被调用.3,this等于调用此函数的对象) this 对象在运行时基于函数的执行环境绑定的 ...
- PowerBI 第二篇:数据建模
在分析数据时,不可能总是对单个数据表进行分析,有时需要把多个数据表导入到PowerBI中,通过多个表中的数据及其关系来执行一些复杂的数据分析任务,因此,为准确计算分析的结果,需要在数据建模中,创建数据 ...
- Xamarin.Android 绑定友盟社会化分享组件
Xamarin.Android 绑定友盟社会化分享组件 最近在开发博客园Android App的时候需要用到友盟社会化分享组件,在github上搜了一下都没有找到最新版本绑定好的项目,就自己动手来绑定 ...
- [Git]09 如何为命令起外号
Git并不会推断你输入的几个字符将会是哪条命令,不过如果想偷懒,少敲几个命令的字符,可以用 git config 为命令设置别名.来看看下面的例子: $ git config --global ali ...
- 搭建自己的Git服务器
前言: GitHub是一个免费托管开源代码的远程仓库,使用起来即方便又安全,但在国内有时访问巨慢,原因你懂得.还有一些公司和个人视源码如生命,既不想开源代码又不想给Github交保护费.这时搭建一个自 ...
- MySQL事件调度器event的使用
Q:假设,有一个需求,希望在某一个时刻系统调用一个begin end执行一下:十分钟以后执行一下begin end.亦或有一个需求,每个多长时间周期性执行begin end.那么这个时候该怎么办呢? ...
- copyWithZone 的使用方法
1.简单复制只能实现浅拷贝:指针赋值,使两个指针指向相同的一块内存空间,操作不安全. 2. Foundation类已经遵守了<NSCopying>和 <NSMutableCopyin ...
- react native 升级到0.31.0的相关问题 mac Android Studio开发环境
报错Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to com.facebook.re ...
- react native 升级到0.31.0的相关问题 mac xcode开发环境
cmd + D和cmd + R快捷键没有反应 0.31.0版本换了一种加载方式,通过修改userDefaults达到debug目的 [userDefaults setObject:@"127 ...