Problem:
Received "CLI2: BADLOGMECH(507): Requested logon mechanism is not available" while connecting to DBS.
OR
8024: All virtual circuits are currently in use
Cause:
The Teradata system has run out of sessions. This error is sent in response to an assign request when either the gateway capacity or the capacity of all PEs configured with the same logical host id has been reached.
Solution:
1. Check for un-even cop distribution
2. Increase session limit of DBS if there is room for expansion
3. Decrease the number of sessions used
Teradata bound by the limit of 120 sessions per LAN Parsing Engine (LAN PE) or 600 sessions per Teradata Database Gateway network connection, whichever is lower. One can usually expand the capacity of the Teradata Database Gateway by adding more PE's for use from the LAN. If the number of LAN PE's already exceeds 5 times the number of Teradata Database Gateway network connections, which is a very unlikely condition, it may be possible to use the Gateway Control Utility to globally increase that number of sessions supported by every Teradata Gateway network connection to more than the default value of 600 sessions.
Following way, we can check active session from gateway utility
# tdatcmd
PDE running version is 15.10.07.11
# gtwcontrol -d
gtwcontrol: gtwversion 15.10.07.01
gdo version: 6, created on Mon May 21 10:41:12 2018
systemname: SMP001-01
number of host groups: 1, number of gateway vprocs 1
max logfile size: 5000000
event trace cnt: 500
gtwglobal logon name: DBC
Send DBS error to client: no
TDGSS Library Version..........: 15.10.7.5
hgid: 1
assign vprocid: 22528
assigntrace: no
logons enabled: yes
session timeout in minutes: 20
connection timeout in seconds: 60
keepalive timeout in minutes: 10
max sessions per gateway: 600
iothread check frequency in minutes: 10
max io threads per type (msg/net): 50
initial io threads per type (msg/net): 25
allow gateway testing enabled: no
External Authentication: on
Append Domain Name: no
Reserved for Backdown: 0
Require Confidentiality: no
Send Connect Response in cleartext: no
Connection trace: no
Local PE Preferred Percent: 0%
TCP Socket SND/RCV Buffer Size: default (65587)
shutdown timeout in seconds: 60
vproc id: 22528 status: Online
# gtwglobal
_______
| | |
| ___ __ ____ | ____ __|__ ____
| / |/ \ ____| ____| ____| | ____|
| --- | / | / | / | | / |
| \___ | \____| \____| \____| |__ \____|
Enter gateway command or enter h for Help:
select host 1
Host 1 has been selected.
Enter gateway command or enter h for Help:
1>di ne lon
Host 1 has 159 session(s) over 1 GTW(s) and 2 PE(s)
( 157 Active / 0 Disconnected / 2 Forced)
PE Node Sessions
------- ------ --------
30719 001-01 120
30718 001-01 120
Gateway Node Sessions Logon Trace
------- ------ -------- -------- --------
22528 001-01 157 Enable Disable
Enter gateway command or enter h for Help:
1>di gtw 22528
GTW 22528 on node 001-01 has 153 sessions
Session PE Node Local? User IP Adr Status SP PP RNP
------- ----- ------ ------ ------------------------------ --------------------------------------------- --------- -- -- ---
43663852 30719 001-01 Yes QUINYX 192.165.90.46 CONNECTED N No
43649437 30718 001-01 Yes DB_COMMON 194.14.142.6 CONNECTED N No
43130183 30718 001-01 Yes DBC 192.168.149.160 CONNECTED N No
43266017 30718 001-01 Yes ITDBADMIN 192.168.149.160 CONNECTED N No
43598372 30719 001-01 Yes DB_COMMON 194.14.142.6 CONNECTED N No
……..
……..
……..
To check the how many sessions are active for a PE (IFP) for a given period of time:
select a.IFPNo(title'IFP')
,count(a.SessionNo) (title 'SESSION//COUNT')
from DBC.LogOnOff a
,DBC.LogOnOff b
where a.Event = 'Logon'
and b.Event <> 'Logon'
and a.SessionNo = b.SessionNo
and a.IFPNo = b.IFPNo
and a.LogonDate = b.LogonDate
and a.LogonTime = b.LogonTime
/* ENDING DATE & TIME */
and ( ( a.LogDate = '2018/07/05'
and a.LogTime <= 074000)
or a.LogDate < '2018/07/05')
/* BEGINNING DATE & TIME 0 = MIDNIGHT, 120000 = NOON */
and ( ( b.LogDate = '2018/07/05'
and b.LogTime >= 075000)
or b.LogDate > '2018/07/05')
group by 1;
IFPNO
30718
30719
SesionNO
112
114