我的oracle tns监听器正在侦听1521,我有2个实时连接。你能解释一下如何建立与127.0.0.1:1521的连接吗? tnslistener是否将连接传递给oracleXE?是否与此Can I open a socket and pass it to another process in Linux有关?
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:1521 0.0.0.0:* LISTEN 1129/tnslsnr
tcp 0 0 127.0.0.1:1521 127.0.0.1:37542 ESTABLISHED 9091/oracleXE
tcp 0 0 127.0.0.1:1521 127.0.0.1:37975 ESTABLISHED 9907/oracleXE
tcp 0 0 127.0.0.1:37975 127.0.0.1:1521 ESTABLISHED 9905/sqlplus
tcp 0 1 192.168.0.7:41844 10.20.12.63:1521 SYN_SENT 1155/xe_pmon_XE
tcp 0 0 127.0.0.1:37542 127.0.0.1:1521 ESTABLISHED 9089/sqlplus
更新的 并且那些
之间没有父/子关系F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
0 S oracle 9091 1 0 80 0 - 217645 sk_wai 17:16 ? 00:00:00 oracleXE (LOCAL=NO)
0 S oracle 9907 1 0 80 0 - 217645 sk_wai 17:43 ? 00:00:00 oracleXE (LOCAL=NO)
0 S oracle 1129 1 0 80 0 - 5529 poll_s 08:27 ? 00:00:00 /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/tnslsnr LISTENER -inherit
答案 0 :(得分:2)
侦听器侦听侦听器端口。它接受连接,检查CONNECT_DATA并决定将会话移交给指定的ORACLE_SID或ORACLE_SERVICE(如果已向监听器注册)。通常移交给不同的进程和不同的端口。此端口号返回给客户端,客户端将使用该端口与ORACLE进程通信。在RAC系统中,主机也可以是不同的主机。如果启用了负载平衡,则会话将路由到负载最小的实例,并且该主机可以位于与原始请求到达的主机不同的主机上。
如果侦听器关闭,则无法建立新连接,但可以使用现有会话。