[20191113]oracle共享連線模式埠2.txt
[20191113]oracle共享連線模式埠2.txt
--//昨天的測試連結:http://blog.itpub.net/267265/viewspace-2663651/=>[20191112]oracle共享連線模式埠.txt
--//連結裡面還提到
--//可以執行如下,kill D000程式,自己也測試看看。
--//alter system shutdown immediate 'D000';
1.環境:
SYS@book> @ 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
SYS@book> show parameter dispatchers
NAME TYPE VALUE
--------------- ------- -------------------------------------
dispatchers string (PROTOCOL=TCP) (SERVICE=book,bookXDB)
max_dispatchers integer
SYS@book> create pfile='/tmp/@.ora' from spfile;
File created.
--//儲存1份pfile引數檔案.
# netstat -tunlp | egrep "Active|Proto|ora_[ds]"
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 :::38229 :::* LISTEN 36466/ora_d000_book
udp 0 0 ::1:57385 :::* 36466/ora_d000_book
udp 0 0 ::1:11314 :::* 36468/ora_s000_book
2.kill d000:
SYS@book> alter system shutdown immediate 'D000';
System altered.
--//alert.log出現:
Wed Nov 13 08:34:13 2019
idle dispatcher 'D000' terminated, pid = (19, 1)
# netstat -tunlp | egrep "Active|Proto|ora_[ds]"
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 ::1:11314 :::* 36468/ora_s000_book
# ps -ef | grep ora_[sd]000
oracle 36468 1 0 08:33 ? 00:00:00 ora_s000_book
--//ora_d000_book程式消失.等了N久也沒有出現.
>sqlplus scott/book@192.168.100.78:1521/book
SCOTT@192.168.100.78:1521/book> @ spid
SID SERIAL# PROCESS SERVER SPID PID P_SERIAL# C50
---------- ---------- ------------------------ --------- -------------------- ------- ---------- -------------------------------------------------
267 3 7652:8308 DEDICATED 36540 19 3 alter system kill session '267,3' immediate;
--//可以發現這個時候登入選擇的是DEDICATED模式.注意我這裡配置book支援2種服務模式.
d:\tools\sqltemp>sqlplus -s -l scott/book@192.168.100.78:1521/book:SHARED
ERROR:
ORA-12520: TNS:listener could not find available handler for requested type of
server
SP2-0751: Unable to connect to Oracle. Exiting SQL*Plus
SYS@book> alter system shutdown immediate 'S000';
alter system shutdown immediate 'S000'
*
ERROR at line 1:
ORA-00127: dispatcher S000 does not exist
--//我以前的做法是kill ora_s000_book程式.
SYS@book> alter system set dispatchers='(PROTOCOL=TCP) (SERVICE=book,bookXDB)' scope=memory;
System altered.
# netstat -tunlp | egrep "Active|Proto|ora_[ds]"
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 :::53018 :::* LISTEN 36624/ora_d000_book
udp 0 0 ::1:51280 :::* 36624/ora_d000_book
udp 0 0 ::1:11314 :::* 36468/ora_s000_book
--//對比前面的測試監聽埠發生了變化.
# ps -ef | grep ora_[sd]000
oracle 36468 1 0 08:33 ? 00:00:00 ora_s000_book
oracle 36624 1 0 08:44 ? 00:00:00 ora_d000_book
d:\tools\sqltemp>sqlplus -s -l scott/book@192.168.100.78:1521/book
@ spid
SID SERIAL# PROCESS SERVER SPID PID P_SERIAL# C50
---------- ---------- ------------------------ --------- -------------------- ------- ---------- --------------------------------------------------
281 7 7772:4532 SHARED 36468 20 1 alter system kill session '281,7' immediate;
--//可以發現這個時候登入選擇的是SHARED模式.
--//換一句話講這個修改dispatchers生效不需要重啟服務.
3. 修改dispatchers引數:
alter system set dispatchers=
'(address=(partial=true)(protocol=tcp)(host=192.168.100.78)(port=30000))(dispatchers=1)(SERVICE=book,bookXDB)',
'(address=(partial=true)(protocol=tcp)(host=192.168.100.78)(port=30005))(dispatchers=1)(SERVICE=book,bookXDB)'
scope=memory sid='*';
--//注:scope=memory.
--//修改前:
# netstat -tunlp | egrep "Active|Proto|ora_[ds]"
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 :::53018 :::* LISTEN 36624/ora_d000_book
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
udp 0 0 ::1:51280 :::* 36624/ora_d000_book
udp 0 0 ::1:11314 :::* 36468/ora_s000_book
--//修改後:
# netstat -tunlp | egrep "Active|Proto|ora_[ds]"
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.100.78:30005 0.0.0.0:* LISTEN 36678/ora_d002_book
tcp 0 0 192.168.100.78:30000 0.0.0.0:* LISTEN 36676/ora_d001_book
tcp 0 0 :::53018 :::* LISTEN 36624/ora_d000_book
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
udp 0 0 ::1:40457 :::* 36678/ora_d002_book
udp 0 0 ::1:51280 :::* 36624/ora_d000_book
udp 0 0 ::1:64603 :::* 36676/ora_d001_book
udp 0 0 ::1:11314 :::* 36468/ora_s000_book
--//注意下劃線的埠沒有變化.
SYS@book> show parameter dispatchers
NAME TYPE VALUE
---------------- --------- ----------------------------------------------------------------------------------------------------
dispatchers string (PROTOCOL=TCP) (SERVICE=book,bookXDB), (address=(partial=true)(protocol=tcp)(host=192.168.100.78)(po
rt=30000))(dispatchers=1)(SERVICE=book,bookXDB), (address=(partial=true)(protocol=tcp)(host=192.168.
100.78)(port=30005))(dispatchers=1)(SERVICE=book,bookXDB)
max_dispatchers integer
--//有時候真心覺得oracle真變態,它是在原來基礎上追加了引數dispatchers的內容.
SYS@book> show spparameter dispatchers
SID NAME TYPE VALUE
-------- --------------- -------- --------------------------------------
* dispatchers string (PROTOCOL=TCP) (SERVICE=book,bookXDB)
* max_dispatchers integer
--//繼續測試:
alter system set dispatchers=
'(address=(partial=true)(protocol=tcp)(host=192.168.100.78)(port=30000))(dispatchers=1)(SERVICE=book,bookXDB)',
'(address=(partial=true)(protocol=tcp)(host=192.168.100.78)(port=30005))(dispatchers=1)(SERVICE=book,bookXDB)'
scope=both sid='*';
--//注:scope=both
SYS@book> show parameter dispatchers
NAME TYPE VALUE
---------------- ------- ----------------------------------------------------------------------------------------------------
dispatchers string (PROTOCOL=TCP) (SERVICE=book,bookXDB), (address=(partial=true)(protocol=tcp)(host=192.168.100.78)(po
rt=30000))(dispatchers=1)(SERVICE=book,bookXDB), (address=(partial=true)(protocol=tcp)(host=192.168.
100.78)(port=30005))(dispatchers=1)(SERVICE=book,bookXDB)
max_dispatchers integer
SYS@book> show spparameter dispatchers
SID NAME TYPE VALUE
-------- ---------------- -------- ----------------------------------------------------------------------------------------------------
* dispatchers string (PROTOCOL=TCP) (SERVICE=book,bookXDB)
* dispatchers string (address=(partial=true)(protocol=tcp)(host=192.168.100.78)(port=30000))(dispatchers=1)(SERVICE=book,bookXDB)
* dispatchers string (address=(partial=true)(protocol=tcp)(host=192.168.100.78)(port=30005))(dispatchers=1)(SERVICE=book,bookXDB)
* max_dispatchers integer
--//可以發現這樣修改實際上是追加內容.oracle有時候難以理解.
4.連線測試:
d:\tools\sqltemp>sqlplus -s -l scott/book@192.168.100.78:30000/book @spid
SID SERIAL# PROCESS SERVER SPID PID P_SERIAL# C50
---------- ---------- ------------------------ --------- -------------------- ------- ---------- --------------------------------------------------
281 11 9076:7200 SHARED 36468 20 1 alter system kill session '281,11' immediate;
--//SERVER=SHARED,spid=36468
# ps -ef | grep 3646[8]
oracle 36468 1 0 08:33 ? 00:00:00 ora_s000_book
--//sqlplus scott/book@192.168.100.78:30005/book 也是ok的.
5.收尾還原:
--//略.
--//參考連結:http://blog.itpub.net/267265/viewspace-2663651/=>[20191112]oracle共享連線模式埠.txt
6.總結:
--//不需要重啟引數dispatchers就能生效.
--//修改dispatchers引數,內容在原來基礎上追加
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2663817/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20191112]oracle共享連線模式埠.txtOracle模式
- Oracle共享伺服器的連線模式Oracle伺服器模式
- 詳解Oracle的連線模式:專有模式和共享模式Oracle模式
- Oracle專有(dedicated)連線和共享(shared)連線Oracle
- RMAN連線與oracle連線模式的關係Oracle模式
- FTP資料埠連線FTP
- 統計埠連線數
- 建立與Oracle資料庫伺服器連線的兩種連線模式(專用伺服器與共享伺服器)Oracle資料庫伺服器模式
- Internet連線共享(轉)
- db支援共享模式連線的話shutdown通常會很慢(dispatcher shutdown)模式
- oracle 專用伺服器連線與共享伺服器連線的概念和區別Oracle伺服器
- 如何用ip地址連線共享印表機 用ip地址連線共享印表機的方法
- Oracle(+)連線與Join連線Oracle
- Oracle左連線,右連線Oracle
- solaris t5220串列埠連線伺服器及sc模式串列埠伺服器模式
- 使用串列埠連線到Linux串列埠Linux
- Oracle 專用模式(DEDICATED) 和 共享模式(SHARE)Oracle模式
- 利用trcsess合併以共享模式連線的session所產生的tracefile!模式Session
- Linux開放1521埠允許網路連線Oracle ListenerLinuxOracle
- ORACLE 半連線與反連線Oracle
- Linux中連線埠命令有哪些?Linux
- Linux對外連線埠數限制Linux
- 用串列埠線連線,終端來安裝aix串列埠AI
- Oracle的左連線和右連線Oracle
- memcache連線php以及實現session共享PHPSession
- PHP 連線 OraclePHPOracle
- Servlet連線OracleServletOracle
- PHP 連線oraclePHPOracle
- jdbc連線oracleJDBCOracle
- sqlserver連線oracleSQLServerOracle
- mysql 連線oracleMySqlOracle
- navicat 連線 oracleOracle
- Oracle 表連線Oracle
- SQLSERVER 連線 ORACLESQLServerOracle
- ruby連線OracleOracle
- oracle外連線Oracle
- ORACLE 連線方式Oracle
- Oracle連線方式Oracle