oracle終止用戶會話


1.創建兩個測試用戶進行實驗

執行命令如下:

create user test1 identified by 1;

create user test2 identified by 1;

grant dba to test1;

grant dba to test2;

 

如下圖,我創建了兩個用戶,並授予兩個用戶dba角色。

2,windows下使用cmd連接oracle用戶

執行如下命令:

sqlplus test1/1@192.168.1.202:1521/orcl

sqlplus test2/1@192.168.1.202:1521/orcl

 

如下圖示例:

 

 3.查看用戶session,相關信息,

執行如下語句:

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

 

如下圖:

 

查詢到兩個user的session,和osuser信息。

此時我刪除用戶是刪除不了的

 

 

 

要是兩個正在連接的用戶,斷開數據庫,才能刪除用戶,

執行命令如下:

alter system disconnect session 'sid,serial#' immediate ;(立即斷開用戶session,未完成的事務自動會滾。)

alter system disconnect session 'sid,serial#' post_transaction;(事務斷開用戶session,等待未完成的事務提交后,斷開連接。)

 

首先演示immediate 終止會話,請注意:此操作會回滾未完成的事務,執行如下圖

查看windows下cmd連接情況,課件執行查詢時候提示會話已經被終止。

 

最后我們首先連接使用之前創建的用戶連接到oracle

創建一個表,執行插入幾條數據,不執行提交,此時使用事務型終止會話,

演示如下圖:

 我們登錄到test2用戶,

 

 

  首先我們創建了一個表表名稱為t1,之后創建一個序列,執行插入將序列的下一個值,和當前用戶名稱,當前系統日期插入到表中,執行了三次插入,未提交,

此時我們執行事務終止用戶會話。

如下圖:

查詢v$session視圖,獲得test2用戶的會話信息,

 

執行事務會話終止成功。

查看連接的test2會話情況:(此時事務未提交,仍可以執行任何查詢信息)。

提交事務,再一次執行查詢,提示會話被終止,(此類事務終止較安全,推薦) 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM