您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

sp_listener

说明

进程模式需考虑事项

在进程模式下执行时,sp_listener 按引擎动态启动和停止任何给定端口上的 SAP ASE 监听器。

语法

对于线程化模式,语法是以下之一:


sp_listener "<command>", "<server_name> | <network>"

sp_listener "<command>", '[<protocol>:]<machine>:<port>:"CN=<common_name>"'

对于进程模式,语法是以下之一:


sp_listener "<command>", "<server_name> | <network>", <engine> | <remaining>

sp_listener "<command>", '[<protocol>:]<machine>:<port>:"CN=<common_name>"', <engine>

参数

<command>

可以是以下任意值:

start

启动各指定服务器上的指定端口的监听器。

stop

终止指定的监听器。您必须在语法中包含特定的监听器地址,而不仅仅是包含服务器名称。如果您尝试停止上一监听器,则此命令失败。

suspend

使监听器不再接受连接。

resume

指示挂起的监听器恢复监听。

status

报告参数指定的监听器的状态。该状态为以下状态之一:活动、已停止或已挂起。如果系统启用了 IPV6,则 SAP ASE 服务器会将输出中的监听器名称用括号括起来。

help

显示 sp_listener 语法。

<server_name> | <network>

是 interfaces 文件中指定的 SAP ASE 服务器名称,或网络的名称。

<engine>

(仅在进程模式下使用)指定此命令影响的引擎的编号。<engine> 可以是引号引起来的单个引擎号(“2”)、列表(“3,5,6”)、范围(“2 – 5”)或所有上述各项的组合(“2,3 – 5,7”)。

> 注意

> Windows 会忽略 <engine> 参数。

remaining

指定命令将在其可被有意义应用(即,在其中监听器处于命令可以生效的状态)的所有引擎上生效。

<protocol>

协议类型;可以是以下类型之一:afunix、tcp、tli、ssltcp、ssltli、winsock、sslnlwnsck、sslwinsock。

<machine:port>

监听器连接到的计算机名和端口号(在 interfaces 文件中指定)。

CN=<common_name>

指定 SSL 证书的公用名。

仅当将 ssltcp 指定为协议时,才使用 CN=<common_name>。SAP ASE 将依据 SSL 认证中的 common_name 对您指定的 common_name 进行验证。如果未包括 CN=<common_name>,SAP ASE 将使用 <server_name>,依据 SSL 证书中的公用名进行验证。如果在认证中包括完全限定域名,则该名称必须与 CN=<common_name> 匹配。

示例

示例 1

为 interfaces 文件中与服务器 orion 相对应的每一 MASTER 条目启动监听器:


sp_listener "start", "orion"

示例 2

为端口号 4226 创建 TCP 监听器:


sp_listener "start", "goldie:4226"

示例 3

为 interfaces 文件中服务器 orion 的所有 MASTER 条目创建监听器:


sp_listener "start", "orion", "remaining"

示例 4

为尚未监听此端口的所有引擎启动计算机 goldie 的端口 4226 上的 TCP 监听器:


sp_listener "start", "goldie:4226", "remaining"

示例 5

指定公用名称 ase1.big server 1.com:


sp_listener 'start','ssltcp:blade1:17251:
                "CN=ase1.big server 1.com"','0'

示例 6

停止端口号 4226 上的监听器:


sp_listener "stop", "tcp:goldie:4226"

示例 7

停止端口号 4226 上的所有监听器。因为此命令包括 remaining 参数,所以即使某些引擎未监听该端口,该命令也不会失败:


sp_listener "stop", "tcp:goldie:4226", "remaining"

示例 8

挂起端口 4226 上的 Winsock 监听器:


sp_listener "suspend", "winsock:clouds:4226"

示例 9

恢复端口号 4226 上的所有活动监听器:


sp_listener "resume", "tcp:goldie:4226", "remaining"

示例 10

使用 AF_UNIX 通信启动命名管道监听器。


sp_listener "start", "afunix:big_server:/tmp/big_pipe"

用法

  • 使用 sp_listener 时,还存在一些其它注意事项:

  • sp_listener 使用如上面语法部分中所述的两个语法中的一个。第一个语法影响在 interfaces 文件中列出的所有 SAP ASE 主端口。第二个语法用于管理在 interfaces 文件中未列出的监听器。

  • 属性名“CN”不区分大小写(可为“CN”、“cn”或“Cn”),但公用名的属性值区分大小写。

  • 如果在线程化模式下运行时包括 参数,则 sp_listener 将忽略该参数。

  • sp_listener 的语义是最基本语义;如果某一命令无法成功完成,它将被中止。

  • 当 sp_listener 命令的主机部分为 IPv6 地址时,应使用中括号括起来。例如,tcp:[2001:ec8:4008:1::123]:80

  • 您可以单独发出 status 参数。status 参数显示 interfaces 文件中所有监听器的状态。

  • 监听器可以是以下状态之一:停止、挂起或活动。sp_listener 允许您使监听器在这些状态之间切换。移到非许可状态的请求(例如,请求停止不存在的监听器)将导致失败。使用 sp_listener "status" 可以确定监听器的状态。

  • remaining 参数指定,对于您要运行的命令(start、stop、resume 等),该命令将为处于允许更改(例如,将状态从启动移到停止)的状态中的所有监听器成功运行。例如,如果您尝试启动引擎 1 到 6 上的监听器,但引擎 1、4 和 5 不可用,则 sp_listener... "remaining" 将启动引擎 2、3 和 6 上的监听器,而不考虑脱机引擎。如果包括 remaining 参数,则无法指定引擎号。

  • 监听器的最大数目是 32。如果您在 interfaces 文件中创建具有两个主端口的 SAP ASE 服务器,则在其它端口上最多可以再启动 30 个监听器。