[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:\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参数,内容在原来基础上追加

[20191113]oracle共享连接模式端口2.txt的更多相关文章

  1. [20191112]oracle共享连接模式端口.txt

    [20191112]oracle共享连接模式端口.txt --//如果使用共享服务模式,你可以发现每次重启数据库对应的端口号会发生变化.# netstat -tunlp | egrep "A ...

  2. [20190306]共享服务模式与SDU.txt

    [20190306]共享服务模式与SDU.txt --//一些文档提到共享服务模式,服务端SDU=65535,测试验证看看.--//链接:https://blogs.sap.com/2013/02/0 ...

  3. Oracle dblink的连接模式的关系测试总结

    这篇主要介绍一下database link由于连接数据库的方式不同遇到的一些问题,我们知道连接ORACLE服务器的模式一般有两种方式:专用服务器连接(dedicated server)和共享服务器连接 ...

  4. [20180316]共享服务模式和直接路径读.txt

    [20180316]共享服务模式和直接路径读.txt --//在共享服务器模式下,执行计划不会选择直接路径读,通过例子证明. 1.环境:SYS@book> @ &r/ver1PORT_S ...

  5. oracle共享与专用模式的动态转换及区别(转载)

    一直没对专用于共享的互换搞清楚,找到了这篇文章 http://blog.csdn.net/tianlesoftware/archive/2010/06/26/5695784.aspx ,让我实践了一把 ...

  6. Oracle数据库的连接模式connection Mode、连接connection与会话session

    数据库的连接模式Connection Mode: Dedicated Server Mode(专有模式) 当用户发出请求时,如远程的client端通过监听器连接数据库上,ORACLE的服务器端会启用一 ...

  7. Oracle共享服务器的连接模式

    一般Oracle数据库安装默认都是选择专用服务器模式的连接方式,但实际上Oracle也支持共享服务器的连接模式,不过这种在实际生产中见到的很少,我个人只在一些医院行业的客户生产环境中见到过这类配置. ...

  8. oracle远程连接配置

    今日需要对站内所有的空间数据做入库处理,所以在服务器上安装了oracle,在本地需要对其进行连接,在网上查阅了相关资料,整理如下: 远程服务端配置:1. 数据库配置    因为要为外界客户端提供数据服 ...

  9. asp.net学习之ado.net(连接模式访问)

    原文:asp.net学习之ado.net(连接模式访问)    ado.net框架支持两种模式的数据访问: 连接模式(Connected)和非连接模式(disconnected).这一节介绍如何使用连 ...

随机推荐

  1. day04逻辑运算符短路、多分支结构(if和switch)、循环结构、while循环

    复习 1.运算符和表达式 1)表达式 2)算数运算符 + - * / % 3)关系运算符 >  <  >=  <=  ==  != 4)逻辑运算符 &&   | ...

  2. 【zabbix服务】修改zabbix_server默认端口号

    1. zabbix-server的默认端口号是10051.如果存在端口号冲突,需要更改端口号. 2. 更改配置文件 # 监听端口这行默认被注释的(将下面的端口改为自己定义的) [root@tanbao ...

  3. 拓展 centos 7

    查看端口的占用情况 Centos6/contos7(ECS) 使用 netstat 查询系统上有多少TCP 多少UDP会话 netstat -tun -t: tcp -u: udp -a: all 表 ...

  4. asp.net core使用serilog将日志推送到腾讯云日志服务

    为什么是serilog? Serilog是 .NET 中最著名的结构化日志类库. 基于日志事件log events,而不是日志消息log message. 你可以将日志事件格式化为控制台的可读文本或者 ...

  5. 【坑】Maven [ERROR] 不再支持源选项 5。请使用 6 或更高版本

    在pom.xml文件中添加如下代码: 注意:jdk使用自己下载的版本,我的是13 <properties> <project.build.sourceEncoding>UTF- ...

  6. C#数据采集用到的几个方法

    这两天在做数据采集,因此整理了下数据采集要用到的一些方法.因为我采集的数据比较简单,所以没有用到框架.比较有名的两个框架 HtmlAgilityPack 和 Jumony,感兴趣的可以研究下.当然,火 ...

  7. 追踪SQL Server执行delete操作时候不同锁申请与释放的过程

    一直以为很了解sqlserver的加锁过程,在分析一些特殊情况下的死锁之后,尤其是并发单表操作发生的死锁,对于加解锁的过程,有了一些重新的认识,之前的知识还是有一些盲区在里面的.delete加锁与解锁 ...

  8. 使用C#面向对象实现简易计算器(简单工厂模式)

    操作流程: 1. 新建Operation类 2. 新建OperationAdd类,并继承Operation类 3. 新建OperationSub类,并继承Operation类 4. 新建Operati ...

  9. qcom 8953平台 LCD亮灭屏流程及LCD知识点总结【转】

    一.LK中亮屏流程 gcdb_display_init(),进行display初始化的起始地方: oem_panel_select(),在这里去选择哪一款屏,也可以在这里添加新一款屏: dsi_pan ...

  10. 表单生成器(Form Builder)之伪造表单数据mongodb篇

    这篇文章终于回到了正轨:为mongodb伪造数据.之前的随机数.随机车牌照.随机时间还有这篇笔记中的获取指定长度的中文字符串,都是为这篇笔记做准备.看一下我们的准备(基础代码) // 1.获取指定范围 ...