22. ClustrixDB 杀掉恶意会话
ClustrixDB提供了几种机制来识别消耗大量系统资源的查询。这样的查询通常是应用程序索引不良或错误的结果。
ClustrixDB支持以下语法来杀死查询:
KILL [QUERY | CONNECTION] session_id
识别长时间运行的查询
下面的语句将输出系统中运行时间最长的查询。这通常是系统管理员识别行为不端的集群上可能出现的问题的第一步。会话虚拟关系提供了关于每个会话执行状态的大量细节。除了当前语句外,还将显示连接信息和事务状态。
sql> select * from system.sessions where statement_state = 'executing' order by time_in_state_s desc limit \G
*************************** . row ***************************
nodeid:
session_id:
source_ip: 10.2.2.243
source_port:
local_ip: 10.2.14.15
local_port:
user:
database: system
trx_state: open
statement_state: executing
xid:
cpu:
isolation: REPEATABLE-READ
last_statement: select * from sessions where statement_state = 'executing' order by time_in_state_s desc limit
time_in_state_s:
created: -- ::
heap_id:
trx_age_s:
trx_mode: autocommit
trx_counter_select:
trx_counter_insert:
trx_counter_update:
trx_counter_delete:
trx_is_writer:
row in set (0.00 sec)
识别长时间运行的写入事务
在ClustrixDB等完全关系的SQL数据库中,长时间运行的写事务可能会导致问题。通常,行为不端的应用程序会错误地关闭自动提交选项,让每个会话在一个非常长的事务中运行。当发生这种情况时,这些事务将积累大量的写锁,从而阻止其他试图修改相同数据的事务运行。为了识别这些情况,ClustrixDB在sessions关系中包含几个列,这些列跟踪事务的时间、当前事务中执行的语句的数量和类型,以及事务是否发出任何写操作(布尔值0,1)。
例如,要查找系统中最古老的写事务,发出以下命令:
sql> select * from system.sessions where trx_is_writer order by trx_age desc limit \G
*************************** . row ***************************
nodeid:
session_id:
source_ip: 10.2.2.243
source_port:
local_ip: 10.2.14.15
local_port:
user:
database: sergei
trx_state: open
statement_state: executing
xid:
cpu:
isolation: REPEATABLE-READ
last_statement: select * from system.sessions where trx_is_writer order by trx_age desc limit
time_in_state_s:
created: -- ::
heap_id:
trx_age_s:
trx_mode: explicit
trx_counter_select:
trx_counter_insert:
trx_counter_update:
trx_counter_delete:
trx_is_writer:
row in set (0.00 sec)
22. ClustrixDB 杀掉恶意会话的更多相关文章
- 如何彻底杀掉Oracle相关用户的会话
在ORACLE数据库当中,有时候会使用ALTER SYSTEM KILL SESSION 'sid,serial#'杀掉一个会话进程,但是使用这个SQL语句杀掉会话后,数据库并不会立即释放掉相关的资源 ...
- ORACLE快速彻底Kill掉的会话
在ORACLE数据库当中,有时候会使用ALTER SYSTEM KILL SESSION 'sid,serial#'杀掉一个会话进程,但是使用这个SQL语句杀掉会话后,数据库并不会立即释放掉相关的资源 ...
- ORACLE快速彻底Kill掉的会话(转载)
转载:http://www.cnblogs.com/kerrycode/p/4034231.html 在ORACLE数据库当中,有时候会使用ALTER SYSTEM KILL SESSION 'sid ...
- 如何定位Oracle数据库被锁阻塞会话的根源
首先再次明确下,数据库因为要同时保证数据的并发性和一致性,所以操作有锁等待是正常的. 只有那些长时间没有提交或回滚的事物,阻塞了其他业务正常操作,才是需要去定位处理的. 1.单实例环境 2.RAC环境 ...
- linux 技巧:使用 screen 管理你的远程会话
你是不是经常需要 SSH 或者 telent 远程登录到 Linux 服务器?你是不是经常为一些长时间运行的任务而头疼,比如系统备份.ftp 传输等等.通常情况下我们都是为每一个这样的任务开一个远程终 ...
- 使用 screen 管理你的远程会话
文章转载自:https://www.ibm.com/developerworks/cn/linux/l-cn-screen/ 在此只作为笔记使用,不做他用 你是不是经常需要 SSH 或者 telent ...
- (转)linux 技巧:使用 screen 管理你的远程会话
转自:http://www.ibm.com/developerworks/cn/linux/l-cn-screen/index.html 你是不是经常需要 SSH 或者 telent 远程登录到 Li ...
- 【转载】linux 技巧:使用 screen 管理你的远程会话
转自:https://www.ibm.com/developerworks/cn/linux/l-cn-screen/ 总结 启动并进入一个screen会话:screen 或者 screen -S 名 ...
- linux会话命令screen详解
Screen会话命令 我其实是把文件下载到 /home/zhang/temp/ 里面,当我N久以后再联上服务器,想看看文件下载情况怎样,那又要 cd 老半天,这时候 screen 就是好帮手了. 顾名 ...
随机推荐
- 什么是java的线程安全?同步,异步
线程是比进程更小的执行单位,是在进程基础上进行的进一步划分.所谓多线程是指进程在执行过程中可以产生多个同时存在.同时运行的线程.多进程机制可以合理利用资源,提高程序的运行效率.一个进程至少包含一个线程 ...
- PTA(Basic Level)1024.科学计数法
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指 ...
- Laravel之杂记
1.composer设置国内镜像加速 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 2 ...
- linux 下如何将网页版应用生成桌面图标
使用linux mint已经两年了,很多国民应用,都没有Linux版,但是这些应用都有网页版,今天就说下最简单的将网页应用变成桌面应用,无需配置,安装任何插件.以微信为例; 首先,在谷歌浏览器打开网页 ...
- Java加密数据库
一.背景 数据库配置以明文方式展示如图,会造成安全隐患,如果有黑客入侵会造成密码泄露,信息窃取和破坏等. 二.加密步骤 1.对数据库信息加密: 对数据库中的账号和密码信息进行加密(选择一种算法)然后替 ...
- loj 6043「雅礼集训 2017 Day7」蛐蛐国的修墙方案
loj 爆搜? 爆搜! 先分析一下,因为我们给出的是一个排列,然后让\(i\)给\(p_i\)连边,那么我们一定会得到若干个环,最后要使得所有点度数为1,也就是这些环有完备匹配,那么最后一定全是偶环. ...
- ubuntu 安装vim报错
问题:ubuntu18.04默认没有安装vim,使用 sudo apt install 提示 错误信息: 下列信息可能会对解决问题有所帮助: 下列软件包有未满足的依赖关系: vim : 依赖: vim ...
- JDBC2
1.JDBC连接池 public class JdbcTemplateDemo2 { //Junit单元测试,可以让方法独立执行 //1. 获取JDBCTemplate对象 private JdbcT ...
- 关于fastJson的几个问题
1.将对象中为null的属性也给序列化出来 可以使用SerializaerFeature实现 JSON.toJSONString(gas, SerializerFeature.WriteMapNull ...
- java并发编程:锁的相关概念介绍
理解同步,最好先把java中锁相关的概念弄清楚,有助于我们更好的去理解.学习同步.java语言中与锁有关的几个概念主要是:可重入锁.读写锁.可中断锁.公平锁 一.可重入锁 synchronized和R ...