如何建立与oracle的连接?

时间:2013-06-03 16:58:30

标签: oracle tns

我的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

1 个答案:

答案 0 :(得分:2)

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

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