admin 发表于 2023-12-19 08:23:06

listener service_rate限制tns连接

SERVICE_RATE_listener_nameThe SERVICE_RATE parameter of cman.ora file specifies incoming connection rate that is allowed per service for an instance.PurposeTo specify incoming connection rate that is allowed per service for an instance.
Usage NotesAny user-specified value greater than 0 sets the maximum limit on the number of new connections per service-instance handled by the proxy listener every second. Listener rejects connections after it reaches the maximum limit. Client side connection failure is reported with “TNS:listener: rate limit reached”.
Values
[*]0 to disable service rate limit. This is the default.
[*]Any number greater than 0 to enable service rate limit.

Example 8-6 ExampleSERVICE_RATE=10
示例,rate_limit和service_rate都存在时,哪个小就使用哪个 配置
LISTENER19 =
(DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = vm1)(PORT = 1519))
    )
)

LISTENER =
(DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = vm1)(PORT = 1521)(RATE_LIMIT=YES))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)(RATE_LIMIT=5))
    )
)

CONNECTION_RATE_LISTENER=3
SERVICE_RATE_LISTENER=1
LOG_FILE_NUMBER_LISTENER=3
LOG_FILE_SIZE_LISTENER=10
shell脚本每秒向oracle发出10个连接请求
while true; do
    for ((i=1; i<=10; i++)); do
sqlplus -S zhyu/zhyu@192.168.56.101:1521/ora19 << EOF &
select to_char(sysdate,'yyyymmdd hh24:mi:ss') as current_time from dual;
EOF
    done
    sleep 1
done
从日志可以看出,只有3个连接成功了,其他的报错TNS-12530: TNS:listener: rate limit reached
19-DEC-2023 09:18:24 * (CONNECT_DATA=(SERVICE_NAME=ora19)(CID=(PROGRAM=sqlplus@vm1)(HOST=vm1)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.101)(PORT=48818)) * establish * ora19 * 12530
TNS-12530: TNS:listener: rate limit reached
19-DEC-2023 09:18:24 * (CONNECT_DATA=(SERVICE_NAME=ora19)(CID=(PROGRAM=sqlplus@vm1)(HOST=vm1)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.101)(PORT=48812)) * establish * ora19 * 0
19-DEC-2023 09:18:24 * (CONNECT_DATA=(SERVICE_NAME=ora19)(CID=(PROGRAM=sqlplus@vm1)(HOST=vm1)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.101)(PORT=48820)) * establish * ora19 * 12530
TNS-12530: TNS:listener: rate limit reached
19-DEC-2023 09:18:24 * (CONNECT_DATA=(SERVICE_NAME=ora19)(CID=(PROGRAM=sqlplus@vm1)(HOST=vm1)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.101)(PORT=48822)) * establish * ora19 * 12530
TNS-12530: TNS:listener: rate limit reached
19-DEC-2023 09:18:24 * (CONNECT_DATA=(SERVICE_NAME=ora19)(CID=(PROGRAM=sqlplus@vm1)(HOST=vm1)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.101)(PORT=48824)) * establish * ora19 * 12530
TNS-12530: TNS:listener: rate limit reached
19-DEC-2023 09:18:24 * (CONNECT_DATA=(SERVICE_NAME=ora19)(CID=(PROGRAM=sqlplus@vm1)(HOST=vm1)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.101)(PORT=48826)) * establish * ora19 * 12530
TNS-12530: TNS:listener: rate limit reached
19-DEC-2023 09:18:24 * (CONNECT_DATA=(SERVICE_NAME=ora19)(CID=(PROGRAM=sqlplus@vm1)(HOST=vm1)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.101)(PORT=48828)) * establish * ora19 * 12530
TNS-12530: TNS:listener: rate limit reached
19-DEC-2023 09:18:24 * (CONNECT_DATA=(SERVICE_NAME=ora19)(CID=(PROGRAM=sqlplus@vm1)(HOST=vm1)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.101)(PORT=48830)) * establish * ora19 * 12530
TNS-12530: TNS:listener: rate limit reached
19-DEC-2023 09:18:24 * (CONNECT_DATA=(SERVICE_NAME=ora19)(CID=(PROGRAM=sqlplus@vm1)(HOST=vm1)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.101)(PORT=48816)) * establish * ora19 * 0
19-DEC-2023 09:18:24 * (CONNECT_DATA=(SERVICE_NAME=ora19)(CID=(PROGRAM=sqlplus@vm1)(HOST=vm1)(USER=oracle))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.56.101)(PORT=48814)) * establish * ora19 * 0


页: [1]
查看完整版本: listener service_rate限制tns连接