运维联盟俱乐部

 找回密码
 立即注册
查看: 339|回复: 0

[日常管理] listener service_rate限制tns连接

[复制链接]
  • TA的每日心情
    开心
    2023-8-9 11:05
  • 发表于 2023-12-19 08:23:06 | 显示全部楼层 |阅读模式
    SERVICE_RATE_listener_name
    The SERVICE_RATE parameter of cman.ora file specifies incoming connection rate that is allowed per service for an instance.
    Purpose
    To specify incoming connection rate that is allowed per service for an instance.

    Usage Notes
    Any 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 Example
    SERVICE_RATE=10

    示例,rate_limit和service_rate都存在时,哪个小就使用哪个 配置
    1. LISTENER19 =
    2.   (DESCRIPTION_LIST =
    3.     (DESCRIPTION =
    4.       (ADDRESS = (PROTOCOL = TCP)(HOST = vm1)(PORT = 1519))
    5.     )
    6.   )

    7. LISTENER =
    8.   (DESCRIPTION_LIST =
    9.     (DESCRIPTION =
    10.       (ADDRESS = (PROTOCOL = TCP)(HOST = vm1)(PORT = 1521)(RATE_LIMIT=YES))
    11.       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)(RATE_LIMIT=5))
    12.     )
    13.   )

    14. CONNECTION_RATE_LISTENER=3
    15. SERVICE_RATE_LISTENER=1
    16. LOG_FILE_NUMBER_LISTENER=3
    17. LOG_FILE_SIZE_LISTENER=10
    复制代码
    shell脚本每秒向oracle发出10个连接请求
    1. while true; do
    2.     for ((i=1; i<=10; i++)); do
    3. sqlplus -S zhyu/zhyu@192.168.56.101:1521/ora19 << EOF &
    4. select to_char(sysdate,'yyyymmdd hh24:mi:ss') as current_time from dual;
    5. EOF
    6.     done
    7.     sleep 1
    8. done
    复制代码

    从日志可以看出,只有3个连接成功了,其他的报错TNS-12530: TNS:listener: rate limit reached
    1. 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
    2. TNS-12530: TNS:listener: rate limit reached
    3. 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
    4. 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
    5. TNS-12530: TNS:listener: rate limit reached
    6. 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
    7. TNS-12530: TNS:listener: rate limit reached
    8. 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
    9. TNS-12530: TNS:listener: rate limit reached
    10. 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
    11. TNS-12530: TNS:listener: rate limit reached
    12. 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
    13. TNS-12530: TNS:listener: rate limit reached
    14. 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
    15. TNS-12530: TNS:listener: rate limit reached
    16. 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
    17. 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
    复制代码


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    运维联盟俱乐部 ( 冀ICP备19036648号 )

    GMT+8, 2024-5-2 11:03 , Processed in 0.053517 second(s), 21 queries , Gzip On.

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表