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
Example 8-6 Example SERVICE_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
复制代码
|