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的高手指點一下。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/87722.html
標籤:高級技術
