技术开发 频道

优化Oracle网络设置的方案

    sqlnet.ora文件中的automatic_ip参数

    automatic_ipc参数迂回于网络层,所以它可以给本地连接到数据库加速。当automatic_ipc=on的时候,Oracle网络会检查本地数据库是否被定义成相同的别,如果有,当连接被直接转化成本地ICP连接的时候网络层被回避。这个在数据库服务器上是非常有用的,但是对于Oracle网络用户来说这个一点用都没有。

    当Oracle网络连接必须被当作本地数据库时,automatic_ipc参数仅仅应该被用在数据库服务器上。如果不需要本地连接的时候,将这个参数设置成off,通过利用这个设置,所有的Oracle网络可以可以改善其性能。

    tnsnames.ora文件中的SDU和TDU

    SDU和TDU参数位于tnsnames.ora 和 listener.ora文件中。SDU指定送入网络的信息包的大小,理论上,SDU不应该超过MTU最大值的大小。MTU依赖一个现实的网络实现上,它是一个不变值。SDU在Oracle中的地位和MTU一样。

    在Oracle的网络中,TDU的信息包的大小是一个默认值。理想状态下,TDU参数应该被定义为SDU参数的一倍。SDU和TDU默认的值的大小是2048,最大值是32767字节。

    下面是使用SDU和TDU的方针:

    SDU永远不要设置的比TDU大,因为你将浪费掉网络资源空间。

    如果你的用户是通过调制调解器来上网,你应该将SDU和TDU的值设置的小一点,因为频繁的再发送会经常发生在调制调解器的线路上。

    在宽带连接中,你应该将你的网络SDU和TDU的值和MTU的值设置得大小一样。在标准的以太网络中,默认的MTU大小是1514字节,在标准的令牌环形网中,MTU默认值大小是4202。

    如果MTS被使用,你必须利用适当的MTU,TDU设置来设置mts_dispatchers。

    在主机之间,SDU和TDU设置是连接速度的直接函数。例如T1,设置SDU=TDU=MTU。对于速度慢的调制调解器来说,最好使用值较小的SDU和TDU。

    listener.ora文件中的Queuesize参数

    当Oracle正在建立的连接的时候,这个连接由queuesize参数来确定。这个参数仅仅被大容量的数据库使用。人们期待同时发生的连接的大小必须和queuesize参数的大小相等。这里是一个listener.org文件中的关于使用这个参数的例子:

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

    这个参数的一个缺点就是它会为预计的请求分配参数,因此,会使用更多的内存和资源。如果你需要使用大容量连接你就要考虑使用MTS。同时,注意一些UNIX的版本不允许使用的队列超过5,并且还有关于MTS队列大小的限制。

    性能

    尽管大多数信息包的流量都被调谐好了,但是正确的Oracle网络参数设置将给分布式系统的性能带来巨大影响。对于使用Oracle的专业人员来说,他们必须完全明白其性能和优化这些重要的参数。

0
相关文章