首页 > 其他分享 >自动终止不活动的会话

自动终止不活动的会话

时间:2023-01-04 14:45:57浏览次数:43  
标签:脚本 ses inactive 自动 scripts 终止 kill 活动 u01

概述

今天我们要创建脚本,自动终止 oracle 数据库中的非活动会话。在这里我要杀死 15 分钟的旧的非活动会话

解决方案

第 1 步:查找 15 分钟前的非活动会话

要查找 15 分钟的旧非活动会话,我们使用以下命令。复制以下命令并创建一个扩展名为“ .sql ”的脚本。在我的例子中,我正在创建一个名为“ inactive_ses.sql ”的脚本。您可以使用任何名称创建脚本。

我的脚本的位置:/u01/scripts/inactive_ses.sql

$vi /u01/scripts/inactive_ses.sql

set lines 600
set pages 600
TTITLE OFF
SET HEAD OFF

SELECT 'Alter system kill session ''' || SID || ',' || SERIAL# || '''immediate;' FROM V$SESSION
WHERE STATUS != 'ACTIVE'
AND USERNAME = 'SCOTT'
AND WAIT_CLASS = 'Idle'
AND round(SECONDS_IN_WAIT/60,2) > 15;

第 2 步:使用上述脚本创建 shell 脚本

在 shell 脚本中,我们调用步骤 1 脚本,它帮助我们找到 15 分钟的旧会话并使用步骤 1 查询的输出创建新脚本。

$vi /u01/scripts/kill_inactive_ses.sh

export ORACLE_SID=digital
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1/
$ORACLE_HOME/bin/sqlplus -S "/as sysdba" @/u01/scripts/inactive_ses.sql > /u01/scripts/kill_inactive_ses.sql
$ORACLE_HOME/bin/sqlplus -S "/as sysdba" @/u01/scripts/kill_inactive_ses.sql > /u01/scripts/kill_inactive_ses_out.log
exit

创建 shell 脚本后,我们需要更改权限。

权限前:

 
$ chmod 775 kill_inactive_ses.sh

权限后:

 

第 3 步:在 crontab 中安排 shell 脚本

这是最后一步,在这一步中,我们在 crontab 中安排 shell 脚本,如下例所示。

 
$crontab -e

*/5 * * * * /u01/scripts/kill_inactive_ses.sh

 参考

https://ocptechnology.com/automatically-kill-inactive-sessions/

标签:脚本,ses,inactive,自动,scripts,终止,kill,活动,u01
From: https://www.cnblogs.com/lkj371/p/17024765.html

相关文章

  • 在 Oracle中清除过多非活动的会话
    概述本文讨论如何在oracle中清理非活动的会话解决方案1、检查数据库中存在的非活动会话--Checkinactiveandactivesessioncountselectstatus,count(1)fromv......
  • 开启自动直播
    首先,我们准备一个服务器,这里我在本地虚拟机测试了一下,没问题的。只是带宽不够,所以有很大的延迟,但是证明这个是可行的。首先,我在home目录下面创建bkl的文件夹,然后使用命令,......
  • 使用ansible-playbook自动化安装MySQL主从
    【使用自动化安装MySQL主从架构】说明:使用ansible-playbook 自动化安装MySQL主从+ mysqld-exporter的采集数据+ xtrabackup备份【剧本说明】以下文件在roles目录......
  • [MYSQL] 自动排序函数
    rank()ovre(业务逻辑)并列排序,会跳过重复序号dense_rank()over(业务逻辑)并列排序,不会跳过重复序号dense_rank()over排名是密集连续的row_number()顺序排序,不......
  • 基于脚本自动删除ES集群指定日期前的index
    #!/bin/bashDATE=`date-d"2daysago"+%Y.%m.%d`index="linux39-nginx-acceslogtomcat-accesslog-2.105tomcat-accesslog-2.105tomcat-accesslog-2.104tcplog-2......
  • UI自动化定位实用技巧之暂停脚本运行
    一、当我们定位报错信息时,错误提示只有1,2秒钟的时间,不好定位,就可以打开F12,切换到“Sources”,可以手动暂停脚本运行或F8快捷键暂停       二、暂停之后,再......
  • 【Linux】Ubuntu18.04设置开机自启动脚本(自动打开新终端执行命令)
    除了系统上配置的默认启动应用程序之外,gnome-session-properties程序使用户能够配置登录时应启动哪些应用程序。操作步骤1.终端输入gnome-session-properties12.......
  • windows自动开关机命令
    Windows系统自带了一个名为shutdown.exe的程序,这个程序默认是在C:WindowsSystem32这个文件夹下面,一般情况下Windows系统的关机都可以通过调用程序shutdown.exe来实现的,同时......
  • CAD中如何设置自动替换字体?
    CAD字体丢失的问题十分常见,每次都要手动替换非常麻烦,那么,是否可以设置一种默认的替换CAD字体呢?回答是肯定的!本文小编就来给大家分享一下浩辰CAD软件中设置自动替换CAD字体......
  • 基于模型的系统工程——自动驾驶汽车
    http://intercax.com/2018/01/11/model-based-systems-engineering-autonomous-vehicles-part-1/作者DirkZwemer自动驾驶汽车(AV)是当前系统工程最大的挑战之一,不只是因为......