zoukankan      html  css  js  c++  java
  • [20191113]oracle共享连接模式端口2.txt

    [20191113]oracle共享连接模式端口2.txt

    --//昨天的测试链接:http://blog.itpub.net/267265/viewspace-2663651/=>[20191112]oracle共享连接模式端口.txt
    --//链接里面还提到http://www.usn-it.de/index.php/2008/11/10/oracle-how-to-stop-a-mts-dispatcher-process/
    --//可以执行如下,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: oolssqltemp>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: oolssqltemp>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: oolssqltemp>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参数,内容在原来基础上追加

  • 相关阅读:
    java中子类与父类中隐含的this引用的分析
    c++中基类与派生类中隐含的this指针的分析
    c++中关于初始化型参列表的一些问题
    2014牡丹江网络zoj3816Generalized Palindromic Number(dfs或者bfs)
    2014牡丹江网络赛ZOJPretty Poem(暴力枚举)
    poj1949Chores(建图或者dp)
    poj 1950 Dessert(dfs枚举,模拟运算过程)
    java中自动装箱的问题
    hdu4292Food(最大流Dinic算法)
    codeforces Gargari and Permutations(DAG+BFS)
  • 原文地址:https://www.cnblogs.com/lfree/p/11846689.html
Copyright © 2011-2022 走看看