Ai
1 Star 1 Fork 0

冯际成/Oracle_SQL_Scripts

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
locks_dml_lock_time.sql 2.91 KB
一键复制 编辑 原始数据 按行查看 历史
Abdul mohammed 提交于 2016-02-06 08:58 +08:00 . Fri Feb 5 18:58:16 CST 2016
-- | PURPOSE : Query all DML locks in the database (INSERT, UPDATE, DELETE) |
-- | and the number of minutes they have been holding the lock. |
-- | This script will also query critical information about the lock |
-- | including Lock Type, Object Name/Owner, OS/Oracle User and Wait |
-- | time (in minutes). |
-- | NOTE : As with any code, ensure to test this script in a development |
-- | environment before attempting to run it in production. |
-- +----------------------------------------------------------------------------+
SET PAGESIZE 66
COLUMN oracle_user FORMAT a15 HEADING 'Oracle User'
COLUMN usercode FORMAT a12 HEADING 'SID/Serial#'
COLUMN os_user FORMAT a10 HEADING 'O/S User'
COLUMN program FORMAT a25 HEADING 'Program'
COLUMN mode_held FORMAT a15 HEADING 'Mode Held'
COLUMN mode_requested FORMAT a15 HEADING 'Mode Requested'
COLUMN lock_type FORMAT a15 HEADING 'Lock Type'
COLUMN object_name FORMAT a30 HEADING 'Object Name'
COLUMN lock_time_min FORMAT 999,999 HEADING 'Lock Time (min)'
SELECT
s.username oracle_user
, l.sid || '/' || s.serial# usercode
, s.osuser os_user
, s.program program
, DECODE(l.lmode,
1, NULL,
2, 'Row Share',
3, 'Row Exclusive',
4, 'Share',
5, 'Share Row Exclusive',
6, 'Exclusive', 'None') mode_held
, DECODE(l.request,
1, NULL,
2, 'Row Share',
3, 'Row Exclusive',
4, 'Share',
5, 'Share Row Exclusive',
6, 'Exclusive', 'None') mode_requested
, DECODE(l.type,
'MR', 'Media Recovery',
'RT', 'Redo Thread',
'UN', 'User Name',
'TX', 'Transaction',
'TM', 'DML',
'UL', 'PL/SQL User Lock',
'DX', 'Distributed Xaction',
'CF', 'Control File',
'IS', 'Instance State',
'FS', 'File Set',
'IR', 'Instance Recovery',
'ST', 'Disk Space Transaction',
'TS', 'Temp Segment',
'IV', 'Library Cache Invalidation',
'LS', 'Log Start or Log Switch',
'RW', 'Row Wait',
'SQ', 'Sequence Number',
'TE', 'Extend Table',
'TT', 'Temp Table',
l.type) lock_type
, o.owner || '.' || o.object_name
|| ' - (' || o.object_type || ')' object_name
, ROUND(l.ctime/60, 2) lock_time_min
FROM
v$session s
, v$lock l
, dba_objects o
, dba_tables t
WHERE
l.id1 = o.object_id
AND s.sid = l.sid
AND o.owner = t.owner
AND o.object_name = t.table_name
AND o.owner <> 'SYS'
AND l.type = 'TM'
ORDER BY
1;
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/sapall/Oracle_SQL_Scripts.git
git@gitee.com:sapall/Oracle_SQL_Scripts.git
sapall
Oracle_SQL_Scripts
Oracle_SQL_Scripts
master

搜索帮助