文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

达梦关闭连接和线程

2024-04-02 19:55

关注

一 、Oracle 和达梦 kill session 的差异

1.  Oracle 数据库 其中一种 Kill Session 的方法:

Oracle --  ALTER SYSTEM KILL SESSION 杀死会话的基本语法如下所示。

SQL> ALTER SYSTEM KILL SESSION 'sid,serial#';

在RAC环境中,可以选择指定INST_ID,在查询GV$SESSION视图时显示。这允许终止不同RAC节点上的会话。

SQL> ALTER SYSTEM KILL SESSION 'sid,serial#,@inst_id';

KILL SESSION命令实际上不会终止会话。它只是要求会话自杀。在某些情况下,例如等待远程数据库的回复或回滚事务,会话不会立即自行终止并等待当前操作完成。在这些情况下,会话将具有“标记为杀死”的状态。然后它会尽快被杀死。 除了上面描述的语法之外,还可以添加IMMEDIATE子句。

SQL> ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;

这不会影响命令执行的工作,但会立即将控制权返回给当前会话,而不是等待确认kill。

2 . DM   杀会话

DM 数据库采用的是线程架构,所有不能向Oracle那样直接kill 进程,只能调用sp_close_session()来kill 线程杀掉会话。

SQL> select  sess_id,curr_sch ,sql_text,user_name,trx_id ,clnt_host,clnt_ip,osname, vpooladdr from sys.v$sessions where sql_text<>'';

LINEID     SESS_ID              CURR_SCH SQL_TEXT                                                                                                                        

---------- -------------------- -------- --------------------------------------------------------------------------------------------------------------------------------

           USER_NAME TRX_ID               CLNT_HOST CLNT_IP              OSNAME    VPOOLADDR           

           --------- -------------------- --------- -------------------- --------- --------------------

1          140615618728712      SYSDBA   select COMMENT$ from SYS.SYSCOLUMNCOMMENTS where SCHNAME='SYS' and TVNAME='SYSOBJECTS' and COLNAME='SUBTYPE$'

           SYSDBA    1871                 ahzhixin  ::ffff:192.168.20.45 Windows 8 140615618661112

2          140615954273032      SYSDBA   select  sess_id,curr_sch ,sql_text,user_name,trx_id ,clnt_host,clnt_ip,osname, vpooladdr from sys.v$sessions where sql_text<>'';

           SYSDBA    1874                 dm2       ::ffff:127.0.0.1     Linux     140615954205432

used time: 1.935(ms). Execute id is 57.

然后根据SESSION_ID使用系统过程SP_CLOSE_SESSION(SESSION_ID)来kill 会话:

SQL> SP_CLOSE_SESSION(140615618728712);

DMSQL executed successfully

used time: 1.099(ms). Execute id is 58.

SQL>

二、  关于线程的概念:

在Oracle 数据库中,有很多的进程,每个进程负责不同的功能。 而DM 数据库使用“对称服务器构架”的单进程、多线程结构。这种对称服务器构架在有效地利用了系统资源的同时又提供了较高的可伸缩性能,这里所指的线程即为操作系统的线程。

[root@dm1 dm]# ps -ef|grep dmserver

dmdba    21285     1  0 18:02 ?        00:00:04 /dm/dmdbms/bin/dmserver /dm/dmdbms/data/cndba/dm.ini -noconsole

root     21638 21435  0 23:52 pts/1    00:00:00 grep dmserver

[root@dm1 dm]#

服务器在运行时由各种内存数据结构和一系列的线程组成,线程分为多种类型,不同类型的线程完成不同的任务。线程通过一定的同步机制对数据结构进行并发访问和处理,以完成客户提交的各种任务。DM 数据库服务器是共享的服务器,允许多个用户连接到同一个服务器上,服务器进程称为共享服务器进程。

DM 进程中主要包括监听线程、IO 线程、工作线程、调度线程、日志线程等,可以通过DM 的动态性能视图查看线程的相关信息。主要 相关的线程有如下4个:

V$LATCHES 记录当前正在等待的线程信息 V$THREADS 记录当前系统中活动线程的信息 V$WTHRD_HISTORY 记录自系统启动以来,所有活动过线程的相关历史信息。 V$PROCESS 记录服务器进程信息

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯