正 文

优化Oracle .Net配置


www.7dspace.com  更新日期:2005-11-7 3:15:16  七度空间


以下的规则适用于SDU和TDU:

# 设置的SDU值不能大于TDU,否则会浪费网络资源。

# 如果你的用户通过dial-up modem线来连接数据库,你应该将SDU和TDU设置为比较小的值,因为频繁的数据发送会有可能超过Modem传送的能力。

# 对于快速的网络连接(T1或T3线),你应该将SDU和TDU设置为相同于MTU。在标准的以太网,缺省的MTU大小设置为1,514字节。对于记号环网络,缺省的MTU大小为4,202字节。

# 如果使用一个多线程服务器(MTS),你必须使用正确的MTU TDU配置设置mts_dispatchers。

表A为一个记号环网络中这些参数使用的范例,其中MTU值为4,202。

SDU和TDU设置是影响不同主机之间的连接速度。对于快速T1线,设置SDU=TDU=MTU。对于比较慢的Modem线,应该设置为比较小的SDU和TDU值。

自从Oracle8i以来,数据库将自动注册listener.ora文件中的实例,除非你执行以下操作中的某一个:

# 无效化自动服务注册。所以,你必须将init.ora参数设置为local_listener,以使用一个TCP口。

# 在init.ora文件中执行MTS和定义mts_dispatchers,如下:

MTS_DISPATCHERS="(DESCRIPTION=(SDU=8192)(TDU=8192)\
ADDRESS=(PARTIAL=TRUE)(PROTOCOL=TCP)(HOST=supsund3)))\
                    (DISPATCHERS=1)"

# 在tnsnames.ora文件中的Connect_Data部分使用service_name=global_dbname,在这一文件中global_dbname设置为listener.ora。注意到这一设置将使TAF(Transparent Application Failover)无效化。对于更多的细节,请参考Oracle*Net 管理人员向导中的"配置TAF(Transparent Application Failover)"。

listener.ora中的queuesize参数

当Oracle建立一个连接时,存储的请求数量取决于非文档的queuesize参数。这一参数只使用于大型数据量的数据库。所期望的连接最大量与queuesize参数的大小相同。这里是listener.ora文件中这一参数使用的范例:

   LISTENER =
     (ADDRESS_LIST =
           (ADDRESS =
             (PROTOCOL = TCP)
             (HOST = marvin)
             (PORT = 1521)
             (QUEUESIZE = 32)
           )
     )

这一参数的缺点是它为预先的请求预先分配资源,所以使用更多的内存和资源。当传送的数据量过大的时候,你可以考虑到使用MTS方法。同时注意到UNIX的某些版本不允许超过5的队列,对于MTS队列大小也有严格的限制。

sqlnet.ora中的break_poll_skip参数

只用于客户端的sqlnet.ora参数代表着要忽略的信息包的个数。这一参数影响着CPU资源。在缺省的情况下这一参数的值为4,采用以下方式可以改变这一参数值:

# break_poll_skip值越大,检测CTRL-C的频率越少,CPU消耗就超少。

# 相反的,break_poll_skip值越小,检测CTRL-C的频率越高,CPU消耗就超大。

外部网络优化

在这一网络相关的参数设置的简短讨论中,我为你提供的是对网络优化的复杂性的理解。Oracle *Net只是特定网络协议栈的OSI模型中的一个简单的层,所以所有的网络优化都是Oracle外部的操作,这一理解是相当重要的。

3页,页码:[1] [2] [3] 

上一篇:数据库管理:Oracle 缓冲区忙等待的原因
下一篇:启用Oracle9i的Flashback查询
作者:Donald Burleson  来源:开发者在线 ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐