- 浏览: 758172 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
di1984HIT:
哈哈,都不错。
Linux 环境下SQLPLUS 回退键无法使用处理方法 -
di1984HIT:
还可以查到sql
oracle中查询被锁的表并释放session -
di1984HIT:
呵呵,真的不错。
Oracle数据库经常会遇到CPU利用率很高的情况 -
李君寻:
...
解读java连接db2的四种类型 -
清风123:
dx>=this.length
js删除Array数组中的某个元素
v$lock视图
SID:Identifier for session holding or acquiring the lock
TYPE:Type of user or system lock
TM - DML enqueue
TX - Transaction enqueue
UL - User supplied
TYPE 有TM,TX两种类型,TX为行级锁,事物锁,TM锁为表级锁
TYPE |
ID1 |
ID2 |
TM |
被修改表的标识(object_id) |
0 |
TX |
以十进制数值表示该事务所占用的回滚段号与该事务在该回滚段的事务表(Transaction table)中所占用的槽号(slot number,可理解为记录号)。其组成形式为:0xRRRRSSSS ( RRRR = RBS number, SSSS = slot )。 |
以十进制数值表示环绕(wrap)次数,即该槽(slot)被重用的 |
LMODE:Lock mode in which the session holds the lock:
0 - none
1 - null (NULL)
2 - row-S (SS)
3 - row-X (SX)
4 - share (S)
5 - S/Row-X (SSX)
6 - exclusive (X)
REQUEST:Lock mode in which the process requests the lock:
0 - none
1 - null (NULL)
2 - row-S (SS)
3 - row-X (SX)
4 - share (S)
5 - S/Row-X (SSX)
6 - exclusive (X)
v$lock视图的各个列及其说明:
ADDR RAW(4) 在内存中锁定的对象的地址
KADDR RAW(4) 在内存中锁的地址
SID NUMBER 保持或申请锁的会话的标识号
TYPE VARCHAR2(2) 锁的类型。TX=行锁或事务锁;TM=表锁或DML锁;UL=PL/SQL用户锁;XR;CF;RS;RT;TS;PW;MR这几个类型不太清楚
ID1 NUMBER 锁的第1标识号。
如果锁的类型是TM,该值表示将要被锁定的对象的标识号;
如果锁的类型是TX,该值表示撤销段号码的十进制值
ID2 NUMBER 锁的第2标识号。
如果锁的类型是TM,该值为0;
如果锁的类型是TX,该值表示交换次数
LMODE NUMBER 会话保持的锁的模式。
0=None;1=Null;2=Row-S (SS);3=Row-X (SX);
4=Share;5=S/Row-X (SSX);6=Exclusive
REQUEST NUMBER 会话申请的锁的模式。与LMODE中的模式相同
CTIME NUMBER 以秒为单位的,获得当前锁(或转换成当前锁的模式)以来的时间
BLOCK NUMBER 当前锁是否阻塞另一个锁。0=不阻塞;1=阻塞
V$LOCKED_OBJECT视图的各个列及其说明:
XIDUSN NUMBER 撤销段号码
XIDSLOT NUMBER 被锁定的对象在撤销段中的位置
XIDSQN NUMBER 序列号
OBJECT_ID NUMBER 被锁定的对象的标识号
SESSION_ID NUMBER 会话的标识号
ORACLE_USERNAME VARCHAR2(30) Oracle用户名
OS_USER_NAME VARCHAR2(30) 操作系统用户名
PROCESS VARCHAR2(12) 操作系统进程标识号
LOCKED_MODE NUMBER 对象被锁定的模式。
0=None;1=Null;2=Row-S (SS);3=Row-X (SX);
4=Share;5=S/Row-X (SSX);6=Exclusive
DBA_LOCKS视图的各个列及其说明:
SESSION_ID NUMBER 保持或申请锁的会话的标识号
LOCK_TYPE VARCHAR2(26) 锁的类型
MODE_HELD VARCHAR2(40) 保持的锁的模式
MODE_REQUESTED VARCHAR2(40) 申请的锁的模式
LOCK_ID1 VARCHAR2(40) 锁的第1标识号
LOCK_ID2 VARCHAR2(40) 锁的第2标识号
LAST_CONVERT NUMBER 以秒为单位的,获得当前锁(或转换成当前锁的模式)以来的时间
BLOCKING_OTHERS VARCHAR2(40) 当前锁是否阻塞另一个锁。Not Blocking=不阻塞;Blocking=阻塞
DBA_WAITERS视图的各个列及其说明:
WAITING_SESSION NUMBER 等待锁的会话(被阻塞的会话)的标识号
HOLDING_SESSION NUMBER 保持锁的会话(阻塞的会话)的标识号
LOCK_TYPE VARCHAR2(26) 锁的类型
MODE_HELD VARCHAR2(40) 保持的锁的模式
MODE_REQUESTED VARCHAR2(40) 申请的锁的模式
LOCK_ID1 NUMBER 锁的第1标识号
LOCK_ID2 NUMBER 锁的第2标识号
DBA_BLOCKERS视图的各个列及其说明:
HOLDING_SESSION NUMBER 显示阻塞了其他会话的那些会话的标识号
-----------------------------------------------------------------------------------------------------
由sys用户通过查询与锁相关的视图来了解锁,了解阻塞会话与被阻塞会话的sid、serial#、用户名及其所使用的DML操作语句。
-----------------------------------------------------------------------------------------------------
set pagesize 40 linesize 150
column blockers format a45
column waiters format a45
select '阻塞者('||sb.sid||':'||sb.serial#||'-'||sb.username||')-'||qb.sql_text blockers,
'等待者('||sw.sid||':'||sw.serial#||'-'||sw.username||')-'||qw.sql_text waiters
from v$lock lb,v$lock lw,v$session sb,v$session sw,v$sql qb,v$sql qw
where lb.sid=sb.sid
and lw.sid=sw.sid
and sb.prev_sql_addr=qb.address
and sw.sql_address=qw.address
and lb.id1=lw.id1
and sb.lockwait is null
and sw.lockwait is not null
and lb.block=1;
-------------------------------------------------------------------------------------------------------
要了解哪些数据库用户的会话锁定了对象、锁定的模式是什么、对应的操作系统用户是在哪台计算机上进行操作的、被锁定的对象及其类型等信息
-------------------------------------------------------------------------------------------------------
set pagesize 40 linesize 150
column username format a9
column sid format 9999
column serial# format 99999999
column mode_locked format a12
column os_user_name format a16
column object_name format a12
column object_type format a12
select s.username,s.sid,s.serial#,
decode(lo.locked_mode,
0,'none',
1,'null',
2,'row-s(ss)',
3,'row-x(sx)',
4,'share',
5,'s/row-x(ssx)',
6,'exclusive',
to_char(lo.locked_mode)) mode_locked,
lo.os_user_name,
do.object_name,do.object_type
from v$session s,v$locked_object lo,dba_objects do
where
lo.object_id=do.object_id and s.sid=lo.session_id;
--------------------------------------------------------------------------------------------------------
要了解阻塞者会话的sid、serial#信息
--------------------------------------------------------------------------------------------------------
set pagesize 40 linesize 150
column username format a9
column sid format 9999
column serial# format 99999999
select s.username,s.sid,s.serial#
from v$session s,dba_blockers dbab
where s.sid=dbab.holding_session;
发表评论
-
ORA-01950: no privileges on tablespace "example_tbs"
2012-04-20 14:38 1365原因:用户没有此表空间分配EXTENT的权限 可以两个 ... -
Oracle 数据字典视图(V$,GV$,X$)
2010-06-10 11:11 2250常用的几个数据字典: ... -
oracle中查询被锁的表并释放session
2010-06-10 10:10 2717在开发项目中经常发现有人锁住表不放 我们可以通alter s ... -
在oracle中通过connect by prior来实现递归查询
2010-05-06 13:52 1576connect by 是结构化查询 ... -
oracle中跟用户及权限有关的系统表
2010-04-20 15:54 14451.查看所有用户: select * from dba_u ... -
oracle 物化视图
2010-04-20 09:24 2302优势 可以提 ... -
oracle 查看跟踪文件
2010-03-24 09:35 1226sql_trace 和10046 事件 首先 SQL> ... -
如何设置Oracle Events以跟踪数据库
2010-03-18 10:33 1771Events事件是Oracle的重要诊断工具及问题解决办法,很 ... -
oracle“SQL Trace”简介
2010-03-17 17:03 1947一、概述 “SQL TRACE”是Oracle提供的用于进行 ... -
Oracle数据库提高命中率及相关优化
2010-03-15 17:06 2030本文是关于Oracle数据库调试与优化方面的文章,主要介绍Or ... -
多种方法查看Oracle SQL执行计划
2010-03-15 16:38 2250一.在线查看执行计划表如果PLAN_TABLE表不存在,执行$ ... -
Oracle数据库经常会遇到CPU利用率很高的情况
2010-03-15 16:32 16837Oracle数据库经常会遇到CPU利用率很高的情况,这种时候大 ... -
oracle hint提示优化SQL
2010-03-09 16:47 1631在优化调整数据库的SQL时候,经常会用到HINT提示.目前OR ... -
oracle问题 SP2-0613: 无法验证 PLAN_TABLE 格式或实体
2010-03-05 11:40 1852此错误表示还没有创建 plan_table 表 先创建 ... -
Oracle truncate table 与 delete tabel的区别
2010-03-04 13:56 2004一、 1.delete产生rollback,如果删除大数据 ... -
Oracle 索引的分类
2010-03-02 17:54 1734逻辑上: Single column 单列索引Concaten ... -
oracle 锁等待的诊断及排除
2010-03-02 16:38 2726在ORACLE中,为了保证数据的一致性,在对数据库中的数据进行 ... -
Red Hat Enterprise Linux 5 上安装RAC环境
2010-01-29 16:36 1185oracle 10 在 Red Hat Enterprise ... -
oracle9i 启用Partition功能
2009-11-25 17:44 14811、确定安装oracle9i企业版本 select * fr ... -
oracle性能调整—PCTFREE、PCTUSED
2009-10-30 10:45 5164一、定义 1、PCTFREE、PCT ...
相关推荐
ORACLE 锁机制和 V$LOCK 视图分析 Oracle 数据库为了实现并发操作,使用了锁机制来控制对数据的访问。锁机制是 Oracle 数据库并发控制的核心机制之一。锁机制能够有效地防止多个用户同时访问同一个数据项,避免了...
4. **锁和事务**:V$LOCK和V$TRANSACTION提供了关于数据库锁定和事务的信息,有助于解决并发控制问题。 5. **缓冲区管理**:V$BUFFER_CACHE、V$DBFILE头和V$BH展示了缓冲区缓存的工作情况,包括命中率和缓存的块...
例如,my_session 表可以用于存储 v$session 视图中的数据,my_lock 表可以用于存储 v$lock 视图中的数据,而 my_sqltext 表可以用于存储执行的 SQL 语句。 通过这种方法,可以快速地查出锁住资源的用户,并解决其...
Oracle 数据源配置和锁机制详解 ...通过分析 V$LOCK 视图和其他视图,可以快速地检测到数据库中的锁问题,避免锁问题对数据库的影响。同时,合理地配置 Oracle 数据源,可以提高数据库的性能和可靠性。
也可以使用 V$SESSION 和 V$LOCK 视图来查询当前用户锁定的表。该方法可以提供更加详细的锁定信息,包括锁定类型、锁定时间、锁定用户等。 SELECT 'Wait' "Status", a.username, a.machine, a.sid, a....
为了解决这个问题,可以通过将问题发生时的 v$lock、v$session 视图中的相关记录保存于自己建立的表中,再对该表进行查询,以提高查询速度和解决问题。下面是创建三个基本表的语句: rem 从 v$session 视图中取出...
3. **等待原因**:结合`v$session_wait`与其他视图(如`v$lock`、`v$sqltext`),可以深入分析等待事件的具体原因,例如锁定冲突的根源或慢SQL语句。 ### 使用示例与场景 - **性能调优**:当数据库响应变慢时,...
6. V$CACHE_LOCK 视图:显示当前在数据库缓存中的锁信息,有助于诊断缓存锁相关的性能问题。 7. V$LOCK_ACTIVITY 视图:提供了有关数据库锁活动的信息,帮助理解锁的使用情况。 8. V$LOCKS_WITH_COLLISIONS 视图:...
3. `v$lock`:查看数据库中当前的锁信息,有助于识别潜在的并发控制问题和死锁。 4. `v$mem_pool`:显示所有内存池的状态,如缓存区、排序区等,用于监控数据库的内存使用情况。 5. `V$deadlock_history`:记录...
此查询从实例2和5上的V$LOCK视图中检索信息。 #### 六、总结 动态性能视图是Oracle数据库管理的重要工具之一,为系统管理员提供了丰富的监控和调优手段。通过理解这些视图及其功能,可以更有效地管理和维护Oracle...
5. **v$lock&v$locked_object**:v$lock视图展示了数据库中的锁定信息,而v$locked_object则揭示了被锁定的对象。这些信息对于解决并发控制问题和死锁分析至关重要。 6. **v$latch**和**v$latch_children**:...
例如,当遇到性能瓶颈时,可以通过查询`V$SESSION`和`V$LOCK`视图来定位锁定问题;通过`V$BUFFER_POOL`和`V$ROWCACHE`视图来优化缓存策略;通过`V$SYSSTAT`视图来监控整体性能等。此外,熟练掌握这些视图还有助于...
Oracle 数据库提供了大量的动态性能视图(Dynamic Performance Views),其中 `V$SESSION` 和 `V$SESSION_WAIT` 是两个非常重要的视图,它们能够帮助数据库管理员深入了解当前会话的状态以及等待事件的信息。...
6. **识别锁定问题**:使用`V$LOCK`和`V$SESSION`视图可以帮助识别锁定问题,并且可以根据需要关闭相关会话以解决冲突。 7. **平衡I/O负载**:`V$DATAFILE`、`V$FILESTAT`等视图提供了有关数据文件的I/O统计信息,...
在 v$lock 视图中,我们可以看到 TX 锁的 ID1 表示事务使用的回滚段编号,以及在事务表中对应的记录编号,ID2 表示该记录编号被重用的次数(wrap)。而 TM 锁的 ID1 表示被锁定的对象的对象 ID,ID2 始终为 0。 ...
Oracle动态性能表,通常被称为V$视图,是Oracle数据库管理系统中的一个重要组成部分,它提供了对数据库运行时状态的实时信息。这些视图包含了丰富的数据库性能数据,对于DBA(数据库管理员)进行性能监控、问题诊断...
可以使用v$lock视图来观察锁的情况,并使用dba_waiters和dba_blockers来查找阻塞的情况。 Oracle RDBMS也是一个“程序”,需要通过锁机制来保证程序的逻辑。例如,创建一张表要插入sys.tab$和sys.obj$等数据字典表...
- `查看系统锁.sql`: 使用DBA_LOCKS或V$LOCK视图来查看当前的锁定信息,帮助诊断并发问题。 - `锁表查询.sql`: 可能用于查询被锁定的表,以识别可能导致阻塞的问题。 6. **清理与优化** - `过滤表清除sql生成....
使用V$LOCK视图可以查看锁的详细信息,包括SID、锁类型、请求状态和阻塞状态。 6. **表锁和行锁**:TM锁在INSERT、UPDATE、DELETE和SELECT FOR UPDATE时触发,防止并发的DDL操作。TX锁则在修改数据时出现,阻止其他...
- 对于大多数`V$`视图,都有一个对应的`GV$`视图版本,除了少数几个例外(如`V$CACHE_LOCK`、`V$LOCK_ACTIVITY`、`V$LOCKS_WITH_COLLISIONS`和`V$ROLLNAME`)。 **特点:** - `GV$`视图从集群中的所有实例收集信息...