[20161212]ezconnect與共享服務模式.txt

lfree發表於2016-12-12

[20161212]ezconnect與共享服務模式.txt

--EZCONNECT的好處不需配置tnsnames.ora檔案,快速連線資料庫.最近在使用時遇到一件登入後模式是共享模式的情況,做一個記錄:

1.環境:

SYS@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

SCOTT@127.0.0.1:1521/book> show parameter shared_server
NAME                   TYPE     VALUE
---------------------- -------- --------
max_shared_servers     integer  1
shared_server_sessions integer
shared_servers         integer  1

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

$ rlsql scott/book@127.0.0.1:1521/book
...
SCOTT@127.0.0.1:1521/book> select saddr,sid,paddr,status,server from v$session where sid in (select sid from v$mystat);
SADDR                   SID PADDR            STATUS   SERVER
---------------- ---------- ---------------- -------- ---------
00000000854BA6A0        221 000000008591A280 ACTIVE   SHARED

$ rlsql scott/book@192.168.100.78:1521/book
...
SCOTT@192.168.100.78:1521/book> select saddr,sid,paddr,status,server from v$session where sid in (select sid from v$mystat);

SADDR                   SID PADDR            STATUS   SERVER
---------------- ---------- ---------------- -------- ---------
00000000854BA6A0        221 000000008591A280 ACTIVE   SHARED

--//你可以發現使用共享服務模式連線資料庫.很奇怪我的測試環境使用ezconnect都是是共享服務模式.

2.可能跟我前面測試使用共享模式是否存在聯絡呢?
--以前測試的連結:http://blog.itpub.net/267265/viewspace-2124172/=> [20160830]使用共享服務模式的弊端.txt
--想起以前連結的測試:http://blog.itpub.net/267265/viewspace-1816211/ => [20151023]不啟動監聽遠端能連線資料庫嗎?
--當時使用的是另外的機器:
SYS@test> show parameter dispatchers
NAME                                 TYPE           VALUE
------------------------------------ -------------- --------------------------------
dispatchers                          string         (PROTOCOL=TCP) (SERVICE=testXDB)
max_dispatchers                      integer
--而dispatchers的服務僅僅包括testXDB.會不會這個引數dispatchers引起的呢?

3.修改引數dispatchers,繼續測試:

SYS@book> alter system set dispatchers='(PROTOCOL=TCP) (SERVICE=bookXDB)' scope=memory;
System altered.

sqlplus scott/book@192.168.100.78:1521/book
...
SCOTT@192.168.100.78:1521/book> select saddr,sid,paddr,status,server from v$session where sid in (select sid from v$mystat);
SADDR                   SID PADDR            STATUS   SERVER
---------------- ---------- ---------------- -------- ---------
0000000085A8E240         56 00000000859238F8 ACTIVE   DEDICATED

--這次連線使用專用模式.如果改用如下登入:

sqlplus scott/book@192.168.100.78:1521/bookxdb
...
SCOTT@192.168.100.78:1521/bookxdb> select saddr,sid,paddr,status,server from v$session where sid in (select sid from v$mystat);
SADDR                   SID PADDR            STATUS   SERVER
---------------- ---------- ---------------- -------- ---------
00000000854BA6A0        221 000000008591A280 ACTIVE   SHARED

--可以再次驗證如果當配置共享服務模式後,使用ezconnect優先選擇共享服務模式登入.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2130292/,如需轉載,請註明出處,否則將追究法律責任。

相關文章