oracle终止用户会话,oracle终止用户会话

1.创建两个测试用户进行实验

执行命令如下:

create user test1 identified by 1;

create user test2 identified by 1;

grant dba to test1;

grant dba to test2;

如下图,我创建了两个用户,并授予两个用户dba角色。

9ea0259e17b12441160a08fc4f6e70822be.jpg

2,windows下使用cmd连接oracle用户

执行如下命令:

sqlplus test1/1@192.168.1.202:1521/orcl

sqlplus test2/1@192.168.1.202:1521/orcl

如下图示例:

f3429098b1ea2b08ba628330d201f541f7f.jpg

3.查看用户session,相关信息,

执行如下语句:

select sid,serial#,username,status,osuser,machine,action from v$session where username like '%TEST%'

如下图:

648a14c38ea4bff9f64373aa78b1590d9a7.jpg

查询到两个user的session,和osuser信息。

此时我删除用户是删除不了的

1b3c74d6d4b50264ecbb9bea1e7b8221659.jpg

要是两个正在连接的用户,断开数据库,才能删除用户,

执行命令如下:

alter system disconnect session 'sid,serial#' immediate ;(立即断开用户session,未完成的事务自动会滚。)

alter system disconnect session 'sid,serial#' post_transaction;(事务断开用户session,等待未完成的事务提交后,断开连接。)

首先演示immediate 终止会话,请注意:此操作会回滚未完成的事务,执行如下图

01f2d3b46aad996cb5377015a5f6a1beb0c.jpg

查看windows下cmd连接情况,课件执行查询时候提示会话已经被终止。

ee47584dae3a82ea3111ec47a76092f52d3.jpg

最后我们首先连接使用之前创建的用户连接到oracle

创建一个表,执行插入几条数据,不执行提交,此时使用事务型终止会话,

演示如下图:

我们登录到test2用户,

126e825156330d1fa496d5dd98d3b79c816.jpg

首先我们创建了一个表表名称为t1,之后创建一个序列,执行插入将序列的下一个值,和当前用户名称,当前系统日期插入到表中,执行了三次插入,未提交,

此时我们执行事务终止用户会话。

如下图:

查询v$session视图,获得test2用户的会话信息,

38e3e0a8cc539d977d0264d2c8803f7dc85.jpg

执行事务会话终止成功。

查看连接的test2会话情况:(此时事务未提交,仍可以执行任何查询信息)。

d7b18ab3b0e8bafb032d872ed6eaa1fca22.jpg

提交事务,再一次执行查询,提示会话被终止,(此类事务终止较安全,推荐)

8eec8b50b232591e4e8f1e28d4af00dbebb.jpg

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值