[20160830]使用共享服务模式的弊端.txt

简介: [20160830]使用共享服务模式的弊端.txt --使用专用服务器与共享服务模式的区别,有许多文章介绍,专用服务器是1:1,而共享服务模式可以1对多,这样可以减少服务器对内存资源 --的占用.

[20160830]使用共享服务模式的弊端.txt

--使用专用服务器与共享服务模式的区别,有许多文章介绍,专用服务器是1:1,而共享服务模式可以1对多,这样可以减少服务器对内存资源
--的占用.但是共享服务模式存在一些弊端的,一旦某个session执行很慢,这样就会影响其他用户的回话.

--通过例子来说明:

1.环境:
SCOTT@book> @ &r/ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

2.建立共享服务连接模式:
78S =
(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.78)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = SHARED)
      (SERVICE_NAME = book)
  )
)

3.建立测试:
SCOTT@book> show parameter shared_server
NAME                   TYPE    VALUE
---------------------- ------- ------
max_shared_servers     integer
shared_server_sessions integer
shared_servers         integer 1

SCOTT@book> show parameter dispatchers
NAME            TYPE    VALUE
--------------- ------- -------------------------------------
dispatchers     string  (PROTOCOL=TCP) (SERVICE=book,bookXDB)
max_dispatchers integer

SCOTT@book> alter system set max_shared_servers=1;
System altered.

--这样仅仅建立一个shared_servers.
--建立连接,注意都以共享连接模式:
--session 1:
SCOTT@78s> @ &r/spid
       SID    SERIAL# SPID       PID  P_SERIAL# C50
---------- ---------- ------ ------- ---------- --------------------------------------------------
       222        125 48628       20          1 alter system kill session '222,125' immediate;

--执行如下:
select count(*) from emp,emp,emp,emp,emp,emp,emp,emp;

--session 2:
$ rlsql scott/book@78s
SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 30 08:44:38 2016
Copyright (c) 1982, 2013, Oracle.  All rights reserved.

--可以发现挂起。必须等待session 1执行完成才能完成登录。

--session 1:
SCOTT@78s> select count(*) from emp,emp,emp,emp,emp,emp,emp,emp;
  COUNT(*)
----------
1475789056

--也就是一个session 执行很慢会影响其他以共享模式登录会话的操作。

--session 2:
SCOTT@78s> @ &r/spid
       SID    SERIAL# SPID       PID  P_SERIAL# C50
---------- ---------- ------ ------- ---------- --------------------------------------------------
       223         39 48628       20          1 alter system kill session '223,39' immediate;

4.继续测试:
--session 1:
SCOTT@78s> select count(*) from emp,emp,emp,emp,emp,emp,emp,emp;
--等!

--session 2:
SCOTT@78s> select sysdate from dual ;
--挂起。

--如果语句执行很慢,也会影响其他会话。

5.继续观察:
--如果你仔细观察发现前面2个会话的spid一样都是48628。
SCOTT@book> select saddr,sid,paddr,status,server from v$session where sid in (222,223);
SADDR                   SID PADDR            STATUS   SERVER
---------------- ---------- ---------------- -------- ---------
00000000854B75C0        222 00000000859191C8 INACTIVE NONE
00000000854B44E0        223 00000000859191C8 INACTIVE NONE

--2个session 的paddr一样。
--session 1执行:
SCOTT@78s> select count(*) from emp,emp,emp,emp,emp,emp,emp,emp;
--慢!


SCOTT@book> select saddr,sid,paddr,status,server from v$session where sid in (222,223);
SADDR                   SID PADDR            STATUS   SERVER
---------------- ---------- ---------------- -------- ---------
00000000854B75C0        222 000000008591A280 ACTIVE   SHARED
00000000854B44E0        223 00000000859191C8 INACTIVE NONE

--还可以发现sid=222,status=ACTIVE,SERVER=SHARED.执行完成后在观察:

SCOTT@book> select saddr,sid,paddr,status,server from v$session where sid in (222,223);
SADDR                   SID PADDR            STATUS   SERVER
---------------- ---------- ---------------- -------- ---------
00000000854B75C0        222 00000000859191C8 INACTIVE NONE
00000000854B44E0        223 00000000859191C8 INACTIVE NONE

总结:
1.使用共享服务模式,执行sql语句一定要快,否则可能影响其他相同模式登录的会话。
2.有事务激活,会话STATUS=ACTIVE,server从NONE=>SHARED.

目录
相关文章
|
分布式计算 资源调度 大数据
静态模式和统一模式_2|学习笔记
快速学习 静态模式和统一模式_2
静态模式和统一模式_2|学习笔记
|
安全 物联网 数据安全/隐私保护
如何释放TEE价值的几点思考?
任何商业模式最后对于企业来说落脚点是如何赚钱,但赚钱只是企业坚持放大自身价值的附加品而已!对TEE行业来说,如何释放TEE的价值才应该是TEE从业者应该关注的初心,老话还是要重复一遍,安智客没有资格也没有能力对行业进行讨论,但是展现自我认知也是一种学习提高过程,望大家不吝赐教!
3076 0
|
测试技术
[20180316]异步IO和共享服务模式.txt
[20180316]异步IO和共享服务模式.txt --//在共享服务器模式下,不会使用异步IO,通过例子证明. 1.环境: SYS@book> @ &r/ver1 PORT_STRING          VERSION    BANNER --...
1053 0
|
缓存 网络协议 关系型数据库
[20180316]共享服务模式和直接路径读.txt
[20180316]共享服务模式和直接路径读.txt --//在共享服务器模式下,执行计划不会选择直接路径读,通过例子证明. 1.环境: SYS@book> @ &r/ver1 PORT_STRING          VERSION    BANNER...
855 0
|
C# 数据格式 JSON
(转)C# 快速高效率复制对象的方式
1、需求 在项目代码中经常需要把对象复制到新的对象中,或者把属性名相同的值复制一遍。 比如: public class Student { public int Id { get; set; } public string Name...
3472 0
|
新零售 区块链
共享链小程序系统解析
如果说你看到了----这套系统模式的优势,那你会是想要自己也做一个类似的系统模式,自己来操作,看到一个系统模式的优势所在你就是他的领航者。
1538 0