搜索
首页数据库mysql教程配置Oracle共享服务器

用户连接Oracle数据库服务器主要有两种方式:专有服务器连接和共享服务器连接,在专有服务器模式中,当客户端发出连接数据库的请

用户连接Oracle数据库服务器主要有两种方式:专有服务器连接和共享服务器连接

在专有服务器模式中,当客户端发出连接数据库的请求时,监听器负责把客户端连接到专有服务器进程,该专有服务器进程只为该会话的用户进程服务,即使处于空闲状态。专有服务器进程与用户进程之间是一一对应的,每个服务器进程都会使用系统资源,包括CPU周期和内存。

在负荷很高的系统中,由于专有服务器进程占用了内存和CPU资源,因而会对系统的可伸缩性产生负面影响,所以一般客户端要通过中间件的连接池连接到数据库的专有服务器,或者连接到数据库的共享服务器。

相关阅读:

Oracle 共享服务器(Shared Server/MTS)的配置简析

Oracle共享服务器的监听注册机制研究 

配置Oracle共享服务器

在共享服务器模式中,客户端用户进程的连接请求将被监听器传送至负载最小的调度进程(dispatcher)中,调度进程负责将用户请求传递到SGA中一个公共的请求队列。空闲的共享服务器进程将完成请求队列中的用户请求,并将结果放到响应队列中,最后调度进程将取出响应队列中的结果返回给用户进程。

会话与调度进程的连接在会话期间持久存在,而与监听器的连接是短暂的。且所有的调度进程共享一个公共的请求队列,但是每个调度进程都具有独立的响应队列。

配置Oracle共享服务器

配置共享服务器

在服务器端,,共享服务器与数据库无关,而只与实例有关。通过实例动态注册,会为共享服务器自动配置监听器。

共享服务器需要配置两个必需的参数:dispatchers和shared_servers

dispatchers参数控制在实例中启动的调度进程数以及这些进程的行为(协议类型等),max_dispatchers参数指定了能够启动的调度进程数的上限。

shared_servers参数控制在实例中启动的共享服务器进程的数量。max_shared_servers参数指定了能够启动共享服务器进程数的上限,默认为processers参数值的1/8。

$grep -A 5 APPLE $TNS_ADMIN/tnsnames.ora
APPLE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.90)(PORT = 1522))
  )
SQL> !ps aux | grep ora_s0.._orcl | grep -v grep
oracle    5223  0.0  1.0 666136 15028 ?        Ss  10:21  0:00 ora_s000_orcl
SQL> show parameter dispatchers
NAME                                TYPE        VALUE
------------------------------------ ----------- ----------------------------------
dispatchers                          string      (PROTOCOL=TCP) (SERVICE=orclXDB)
max_dispatchers                      integer
SQL> alter system set dispatchers='(PROTOCOL=TCP) (dispatchers=3)';                  //创建3个调度进程D000、D001、D002
SQL> select name,network,paddr,status from v$dispatcher;
NAME  NETWORK                                                          PADDR                STATUS
----- ----------------------------------------------------------------- -------------------- ----------------
D000  (ADDRESS=(PROTOCOL=tcp)(HOST=ora11g.example.com)(PORT=62238))    000000007AC8AFF0    WAIT
D001  (ADDRESS=(PROTOCOL=tcp)(HOST=ora11g.example.com)(PORT=54626))    000000007AC8C030    WAIT
D002  (ADDRESS=(PROTOCOL=tcp)(HOST=ora11g.example.com)(PORT=16374))    000000007AC8D070    WAIT
SQL> !ps aux | grep ora_d0.._orcl | grep -v grep
oracle    9303  0.0  1.0 666976 15992 ?        Ss  15:35  0:00 ora_d000_orcl
oracle    9392  0.0  1.0 666976 15976 ?        Ss  15:38  0:00 ora_d001_orcl
oracle    9396  0.0  1.0 666976 16004 ?        Ss  15:38  0:00 ora_d002_orcl
SQL> alter system set shared_servers=6;                                  //创建6个响应队列S000~S005(一般为dispatchers的倍数)
SQL> select name,paddr,status,circuit from v$shared_server;
NAME PADDR            STATUS          CIRCUIT
---- ---------------- ---------------- ----------------
S000 000000007AC8E0B0 WAIT(COMMON)    00
S001 000000007AC8F0F0 WAIT(COMMON)    00
S002 000000007AC90130 WAIT(COMMON)    00
S003 000000007AC91170 WAIT(COMMON)    00
S004 000000007AC921B0 WAIT(COMMON)    00
S005 000000007AC94230 WAIT(COMMON)    00
SQL> !ps aux | grep ora_s0.._orcl | grep -v grep
oracle    5223  0.0  1.0 666136 15028 ?        Ss  10:21  0:00 ora_s000_orcl
oracle    6692  0.1  1.0 666136 15028 ?        Ss  11:13  0:00 ora_s001_orcl
oracle    6696  0.1  1.0 666136 15028 ?        Ss  11:13  0:00 ora_s002_orcl
oracle    6700  0.0  1.0 666136 15032 ?        Ss  11:13  0:00 ora_s003_orcl
oracle    6704  0.1  1.0 666136 15044 ?        Ss  11:13  0:00 ora_s004_orcl
oracle    6708  0.1  1.0 666136 15032 ?        Ss  11:13  0:00 ora_s005_orcl
SQL> alter system set dispatchers='(PROTOCOL=TCP) (dispatchers=3) (listener=apple)';        //单独将dispathers注册到LISTENER1的监听器上
SQL> !lsnrctl service listener1
---------------省略输出---------------
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.90)(PORT=1522)))
Services Summary...
Service "orcl.example.com" has 1 instance(s).  Instance "orcl", status READY, has 4 handler(s) for this service...
    Handler(s):
      "DEDICATED" established:0 refused:0 state:ready
        LOCAL SERVER
      "D002" established:0 refused:0 current:0 max:972 state:ready
        DISPATCHER
        (ADDRESS=(PROTOCOL=tcp)(HOST=ora11g.example.com)(PORT=16374))
      "D001" established:0 refused:0 current:0 max:972 state:ready
        DISPATCHER
        (ADDRESS=(PROTOCOL=tcp)(HOST=ora11g.example.com)(PORT=54626))
      "D000" established:0 refused:0 current:1 max:972 state:ready
        DISPATCHER
        (ADDRESS=(PROTOCOL=tcp)(HOST=ora11g.example.com)(PORT=62238))
The command completed successfully

更多详情见请继续阅读下一页的精彩内容

linux

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
在MySQL中使用视图的局限性是什么?在MySQL中使用视图的局限性是什么?May 14, 2025 am 12:10 AM

mysqlviewshavelimitations:1)他们不使用Supportallsqloperations,限制DatamanipulationThroughViewSwithJoinSorsubqueries.2)他们canimpactperformance,尤其是withcomplexcomplexclexeriesorlargedatasets.3)

确保您的MySQL数据库:添加用户并授予特权确保您的MySQL数据库:添加用户并授予特权May 14, 2025 am 12:09 AM

porthusermanagementInmysqliscialforenhancingsEcurityAndsingsmenting效率databaseoperation.1)usecReateusertoAddusers,指定connectionsourcewith@'localhost'or@'%'。

哪些因素会影响我可以在MySQL中使用的触发器数量?哪些因素会影响我可以在MySQL中使用的触发器数量?May 14, 2025 am 12:08 AM

mysqldoes notimposeahardlimitontriggers,butacticalfactorsdeterminetheireffactective:1)serverConfiguration impactactStriggerGermanagement; 2)复杂的TriggerSincreaseSySystemsystem load; 3)largertablesslowtriggerperfermance; 4)highConconcConcrencerCancancancancanceTigrignecentign; 5); 5)

mysql:存储斑点安全吗?mysql:存储斑点安全吗?May 14, 2025 am 12:07 AM

Yes,it'ssafetostoreBLOBdatainMySQL,butconsiderthesefactors:1)StorageSpace:BLOBscanconsumesignificantspace,potentiallyincreasingcostsandslowingperformance.2)Performance:LargerrowsizesduetoBLOBsmayslowdownqueries.3)BackupandRecovery:Theseprocessescanbe

mySQL:通过PHP Web界面添加用户mySQL:通过PHP Web界面添加用户May 14, 2025 am 12:04 AM

通过PHP网页界面添加MySQL用户可以使用MySQLi扩展。步骤如下:1.连接MySQL数据库,使用MySQLi扩展。2.创建用户,使用CREATEUSER语句,并使用PASSWORD()函数加密密码。3.防止SQL注入,使用mysqli_real_escape_string()函数处理用户输入。4.为新用户分配权限,使用GRANT语句。

mysql:blob和其他无-SQL存储,有什么区别?mysql:blob和其他无-SQL存储,有什么区别?May 13, 2025 am 12:14 AM

mysql'sblobissuitableForStoringBinaryDataWithInareLationalDatabase,而alenosqloptionslikemongodb,redis和calablesolutionsoluntionsoluntionsoluntionsolundortionsolunsolunsstructureddata.blobobobsimplobissimplobisslowderperformandperformanceperformancewithlararengelitiate;

mySQL添加用户:语法,选项和安全性最佳实践mySQL添加用户:语法,选项和安全性最佳实践May 13, 2025 am 12:12 AM

toaddauserinmysql,使用:createUser'username'@'host'Indessify'password'; there'showtodoitsecurely:1)choosethehostcarecarefullytocon trolaccess.2)setResourcelimitswithoptionslikemax_queries_per_hour.3)usestrong,iniquepasswords.4)Enforcessl/tlsconnectionswith

MySQL:如何避免字符串数据类型常见错误?MySQL:如何避免字符串数据类型常见错误?May 13, 2025 am 12:09 AM

toAvoidCommonMistakeswithStringDatatatPesInMysQl,CloseStringTypenuances,chosethirtightType,andManageEngencodingAndCollat​​ionsEttingsefectery.1)usecharforfixed lengengters lengengtings,varchar forbariaible lengength,varchariable length,andtext/blobforlabforlargerdata.2 seterters seterters seterters seterters

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!