oracle11 socket 通讯,内存不断增加
windows 2008,oracle11g.
在11g里面 ,利用自带的socket实现通讯 。是在packages里面的一个fuction 调用的。
通讯的大概代码就是
fuction f_socket(v_nr varchar2) return varchar2 is
conn utl_tcp.connection;
begin
conn := utl_tcp.open_connection(remote_host => '192.168.0.218',
remote_port => 9000,
charset => 'US7ASCII');
utl_tcp.write_text(conn, ‘123’);
utl_tcp.flush(conn);
utl_tcp.read_text(conn,output,1024);
utl_tcp.close_connection(conn) ;
end f_socket;
通讯是没有问题的,能够实现,收发数据,但是使用这个方法以后,内存会不断的增加,一个星期,一台8g的电脑,就已经被使用了80%的内存,电脑上面只做这个socket的通讯,用rammap查看了一下,发觉有3g的page table,然后看process里面有上千个的cmd.exe ,emdtcl.exe,lsnrctl.exe 每个都占用16K的page table.希望能有oracle的高手指点一下。