Oracle 会话锁死
需要管理员用户下执行(sys/sysdba)
--先查锁
select * from v$lock where lmode > 0 and type in ('TM','TX');
--查用户名
select * from v$session where username = 'PROD_JCJ'
-- 查编号方便下一步 kill
select sid,serial#,username from v$session where sid = '13313';
--kill 锁死的会话
alter system kill session '15489,47476';
alter system kill session '16215,2972';
alter system kill session '2545,51671';
alter system kill session '609,63963';
alter system kill session '6415,45951';
alter system kill session '2306,64117';
--查看被锁的表
select * from v$locked_object a, dba_objects b where b.object_id = a.object_id
-- 执行以下语句子,获得被锁表的Session ID
select b.owner,b.object_name,a.session_id,a.locked_mode
from dba_objects b, v$locked_object a
where b.object_id = a.object_id
and b.object_name='PER_ALL_ASSIGNMENTS_F';
-- 1.查询oracle的最大连接数:
select * from v$parameter where name='processes';
select count(*) from v$process; --当前的连接数
select value from v$parameter where name = 'processes' --数据库允许的最大连接数
-- 日志文件位置
select * from V$diag_Info;
--查看表锁的原因
select l.session_id sid,
s.serial#,
l.locked_mode,
l.oracle_username,
s.user#,
l.os_user_name,
s.machine,
s.terminal,
a.sql_text,
a.action from v$sqlarea a, v$session s, v$locked_object l
where l.session_id = s.sid and s.prev_sql_addr = a.address
order by sid,s.serial#;
--查询低效的SQL
SELECT EXECUTIONS, DISK_READS, BUFFER_GETS,
ROUND ((BUFFER_GETS-DISK_READS)/BUFFER_GETS, 2) Hit_radio,
ROUND (DISK_READS/EXECUTIONS, 2) Reads_per_run,
SQL_TEXT
FROM V$SQLAREA
WHERE EXECUTIONS>0
AND BUFFER_GETS > 0
AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS < 0.8
ORDER BY 4 DESC
-- 查看表空间大小及使用情况
SELECT a.tablespace_name "表空间名",
total "表空间大小",
free "表空间剩余大小",
(total - free) "表空间使用大小",
total / (1024 * 1024 * 1024) "表空间大小(G)",
free / (1024 * 1024 * 1024) "表空间剩余大小(G)",
(total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",
round((total - free) / total, 4) * 100 "使用率 %"
FROM (SELECT tablespace_name, SUM(bytes) free
FROM dba_free_space
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes) total
FROM dba_data_files
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name
--查看各用户的各种资源占用,可以运行下面的SQL
select se.SID, ses.username, ses.osuser, n.NAME, se.VALUE
from v$statname n, v$sesstat se, v$session ses
where n.statistic# = se.statistic# and
se.sid = ses.sid and
ses.username is not null and
n.name in ('CPU used by this session',
'db block gets',
'consistent gets',
'physical reads',
'free buffer requested',
'table scans (long tables)',
'table scan rows gotten',
'sorts (memory)',
'sorts (disk)',
'sorts (rows)',
'session uga memory max' ,
'session pga memory max')
order by sid, n.statistic#;
--从V$SQLAREA中查询最占用资源的查询
select b.username username,a.buffer_gets reads,
a.executions exec,a.buffer_gets/decode(a.executions,0,1,a.executions) rds_exec_ratio,
a.sql_text Statement
from v$sqlarea a,dba_users b
where a.parsing_user_id=b.user_id
and a.buffer_gets > 100000
order by a.buffer_gets desc;
--列出使用频率最高的5个查询:
select sql_text,executions
from (select sql_text,executions,
rank() over
(order by executions desc) exec_rank
from v$sql)
where exec_rank <=5;
--消耗磁盘读取最多的sql top5:
select disk_reads,sql_text
from (select sql_text,disk_reads,
dense_rank() over
(order by disk_reads desc) disk_reads_rank
from v$sql)
where disk_reads_rank <=5;
--找出需要大量缓冲读取(逻辑读)操作的查询:
select buffer_gets,sql_text
from (select sql_text,buffer_gets,
dense_rank() over
(order by buffer_gets desc) buffer_gets_rank
from v$sql)
where buffer_gets_rank<=5;
--查询日志文件位置
select * from V$diag_Info;
-- 查询v$session_wait获取各进程等待事件
select sid,event,p1,p1text from v$session_wait;
select event,count(*) from v$session_event group by event order by count(*) desc ;
Oracle 会话锁死的更多相关文章
- [terry笔记]Oracle会话追踪(二):TKPROF
接上一笔记[terry笔记]Oracle会话追踪(一):SQL_TRACE&EVENT 10046 http://www.cnblogs.com/kkterry/p/3279282.html ...
- [terry笔记]Oracle会话追踪(一):SQL_TRACE&EVENT 10046
SQL_TRACE/10046 事件是 Oracle 提供的用于进行 SQL 跟踪的手段,在日常的数据库问题诊断和解决中是非常常用的方法.但其生成的trace文件需要tkprof工具生成一个可供人 ...
- Oracle会话及连接数优化
一.改动Oracle会话及最大连接数 1.查看最大连接数 SQL> show parameter processes; NAME ...
- ORACLE会话数、连接数配置
ORACLE会话数.连接数配置 ORACLE会话数.连接数配置 ORACLE的会话数和连接数参数配置 以sysdba身份登录 sqlplus sys/xxxx as sysdba; 查看最大连接数: ...
- ORACLE会话连接进程三者总结
概念介绍 通俗来讲,会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context).这个上下文是一段位于服务器端的内存:记录了本次连接的客户端机器.通过哪个应用程序.哪个用户 ...
- Oracle会话超时退出设置
前一段时间客户打电话说自从数据库搬迁后连接数据库总是提示会话不可用,和客户沟通才知到他们连接数据库的程序是从早上连上数据库后就一直保持连接状态,一天中需要执行几次操作,由于数据库中的会话连接有超时限制 ...
- oracle 会话 解锁
背景 这是当年第一次记录博客,当初记录的原因是感觉有些问题很少碰到,碰到有网上寻找一遍,文章很少是正好对症的,折腾半天终于解决了,但是没有记录过程,结果下次碰到又要从来一次.有的问题还极其不好找,or ...
- 使用PlSQLDeveloper工具查询Oracle会话数
PlSQLDeveloper工具提供了会话管理功能. 能够查询会话内容.杀死会话.查看会话SQL等操作. 常用的会话查询SQL如下: -- 查询所有会话 select * from v$session ...
- oracle 查看锁死的表,锁死的进程
select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode f ...
- Oracle的表锁死以及解锁
Oracle的表锁死以及解锁 oracle 查看锁死的表,锁死的进程. select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_na ...
随机推荐
- 09 spark连接mysql数据库
安装启动检查Mysql服务.netstat -tunlp (3306) spark 连接mysql驱动程序.–cp /usr/local/hive/lib/mysql-connector-java-5 ...
- 2022-02-17 Python学习笔记
2022-02-17 22:51:30 由于中文注释会导致报错,所以文件开头要加一行注释 #coding:utf-8 file = open('文件路径路径',w)#w表示没有就创建文件,有就打开 查 ...
- TensorFlow中的Variable 变量
简单运用 这节课我们学习如何在 Tensorflow 中使用 Variable . 在 Tensorflow 中,定义了某字符串是变量,它才是变量,这一点是与 Python 所不同的. 定义语法: s ...
- js区分图片加载中和加载完成状态
var _ent = document.getElementById("test"); if (_ent.complete) { //图片已经加载完成 _ent.stop(); } ...
- # huawei--流策略+NAT+单臂路由
huawei--流策略+NAT+单臂路由 项目要求: 公司内部有两个网段,分别为192.168.1.0/24和192.168.2.0/24,使用路由器R1实现单臂路由,并配置流策略,使192.168. ...
- 在centos环境下利用docker安装kail
配置好国内阿里云镜像 vim /etc/docker/daemon.json {"registry-mirrors":["https://cq20bk8v.mirror ...
- less 4-7
LESS--4 先试一下单引号,发现没有效果,不报错,然后根据题目用双引号,报错. 根据报错的内容可以发现,参数ID是包括在一对双引号和括号之中的.和上一题类似,构造注入查询语句. ") a ...
- linux开机出现grub界面
今天开机时候突然出现grub界面,并且卡在这里,记录一下解决办法 ①输入ls 2. 输入ls (hd0,6)/ 可以看到返回的就是linux系统的根目录,说明这个磁盘就是我们的系统的所在盘 如果ls ...
- 蓝牙mesh组网实践(节点功能介绍)
目录 未配网设备在配好网,被纳入网络后,可称之为节点. 蓝牙mesh网络中,节点可以有选择地支持四大功能--朋友.低功耗.转发.代理功能,可以复用多个功能(由于单片机硬件限制,ch582除了复用转发功 ...
- java读取apk、ipa包名、版本名、版本号等信息
package com.gymexpress.exerciseservice.controller;import com.gymexpress.commonmodel.controller.BaseC ...