0

我的 oracle tns 监听器正在监听 1521,我有 2 个实时连接。您能否解释一下如何与 127.0.0.1:1521 建立连接?tnslistener 是否通过连接到 oracleXE?与此有关吗?我可以打开一个套接字并将其传递给 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
4

1 回答 1

2

侦听器侦听侦听器端口。它在那里接受连接,检查 CONNECT_DATA 并决定将会话移交给指定的 ORACLE_SID 或 ORACLE_SERVICE(如果已向侦听器注册)。通常移交给不同的进程和不同的端口。该端口号返回给客户端,客户端将使用该端口与 ORACLE 进程通信。在 RAC 系统中,主机也可以是不同的主机。如果启用了负载平衡,则会话将路由到负载最少的实例,并且该实例可能位于与原始请求所在的主机不同的主机上。

如果侦听器关闭,则无法建立新连接,但可以使用现有会话。

于 2013-06-03T17:10:34.373 回答