我配置了一下的我的数据库服务器运行在MTS模式下,原来的是dedicated server.
我修改了initorcl.ora文件
加上
#add by sam for mts configuration
mts_service=ORCL
mts_dispatchers="(protocol=tcp)(dispatchers=2)"
mts_max_dispatchers=5
mts_servers=5
mts_max_servers=10
然后启动数据库,然后select * from v$dispatcher,看到有两个dispatcher在运行。
看书上说:“The Oracle multithreaded server configuration enables shared servers, dedicated servers, and combined users and servers to exist within the same instance.”
该怎么理解呢?
---------------------------------------------------------------
抛砖头喽:
Providing for Dedicated Server Connections
When implementing MTS, you may want to provide for a limited number of dedicated server connections. Not all types of connections benefit from MTS, and some tools and operations require a dedicated connection. In particular, you need dedicated connections for the following:
Connections that have a high degree of utilization. A good example of this is a batch job that pulls down and processes a large amount of data. Such jobs run better over a dedicated connection.
SQL*Plus or Server Manager connections when those tools are used to start or stop an instance.
Recovery Manager (RMAN) connections.
Usually, the best way to provide for a dedicated connection is to create a separate net service name for that purpose. The use of MTS can be overridden in a net service name definition.
---------------------------------------------------------------
从观察listener 的角度出发:
tnsnames:
ORCL_BLACKSNAIL.FUJITSU.SH =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = BLACKSNAIL)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ORCL)
(SERVER = DEDICATED)
)
)
MTS.FUJITSU.SH =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = blacksnail)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)
A:
打开lsnrctl
->services
1.显示
2 个DEDICATED SERVER,established : 0
B:启动一个session
connect system/manager@mts
->services
1.显示
DEDICATED SERVER,established : 0
DISPATCHER1 established :1 current : 1
DISPATCHER2 established :0 current : 0
C:启动又一个session
connect system/manager@mts
->services
1.显示
DEDICATED SERVER,established : 0
DISPATCHER1 established :1 current : 1
DISPATCHER1 established :1 current : 1
(ORACLE 自动平衡DISPATCHER)
D:启动又一个session
connect system/manager@orcl_blacksnail
->services
1.显示
DEDICATED SERVER,established : 1
DISPATCHER1 established :1 current : 1
DISPATCHER1 established :1 current : 1
(DEDICATED SERVER 增加了!)
ORACLE真聪明!