Using DRCP (Database Resident Connection Pool) on client side:
| Symptom | Root Cause | Resolution | |---------|------------|------------| | ORA-12170: TNS timeout | Firewall blocking port 1521 | Verify iptables rules: iptables -L -n | | ORA-12545: Host not found | DNS resolution failure | Use IP addresses in tnsnames.ora or set /etc/hosts | | ORA-28040: No matching auth | Protocol version mismatch | Set SQLNET.ALLOWED_LOGON_VERSION=8 in sqlnet.ora | | Library link error | Missing libaio or libnsl | yum install libaio libnsl |
PRODDB = (DESCRIPTION = (ADDRESS_LIST = (LOAD_BALANCE = ON) (ADDRESS = (PROTOCOL = TCP)(HOST = primary-host)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = standby-host)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = prodservice) (RETRY_COUNT = 3) (RETRY_DELAY = 5) ) ) For performance troubleshooting: linux oracle client
Set in sqlnet.ora for high-latency networks:
Sample entry with advanced parameters:
-- Database configuration EXEC DBMS_CONNECTION_POOL.CONFIGURE_POOL('SYS_DEFAULT_CONNECTION_POOL', MINSIZE=10, MAXSIZE=100); EXEC DBMS_CONNECTION_POOL.START_POOL(); -- Client connection string sqlplus user/pass@//host:1521/prodservice:POOLED
[1] Oracle Corporation. (2023). Oracle Database Net Services Administrator's Guide , 21c Edition. Redwood City, CA. Using DRCP (Database Resident Connection Pool) on client
# List current client connections lsof -i :1521 -P -n | grep ESTABLISHED trcasst /var/log/oracle/cli_*.trc