下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

教你怎么优化Oracle网络设置

作者:课课家教育     来源: http://www.kokojia.com点击数:932发布时间: 2017-06-25 10:30:52

标签: Oracle数据库通信

  Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。那么见天课课家就来和大家探讨一下怎么优化Oracle网络设置,有需要的朋友可以参考一下。

     Oracle数据库在不同的地域被人们广泛使用,所以就必须要有专业的Oracle人员懂得网络连接是怎么样影响数据库性能的。Oracle提供的TNS允许在每个数据库中进行分配通信

  TNS服务器被看作Oracle的逻辑数据请求中的绝缘体和远程服务器间的服务器。同样的,网络管理员有能力控制网络性能调谐性,但是Oracle管理员没有控制影响数据库性能的网络设置的权利。

  可以利用下面我所说的重要的设置来改变分布式事物元的性能。其中包括了sqlnet.ora, tnsnames.ora, 和 protocol.ora文件中的参数,这些参数可以被用做改变设置和TCP包的大小,并且调整这些参数可以影响根本的网络传输层以便改变Oracle事物元的吞吐量。

  正如刚才所说,Oracle网不允许Oracle专业人员调整根本的网络传输层,并且大多数的网络流量不能在Oracle环境中被改变。记住,Oracle网络是一个在OSI模型中的网络层,这个网络层存在于网络协议栈上。

  但是,网络信息包的频率和大小可以被Oracle DBA来控制。Oracle有大量的工具来改变信息包的频率和大小。

  在服务器间的Oracle网络连接可以用几个参数来调谐。但是,你一定要记住,网络的调谐一定要在Oracle的外面并且一个有资格的网络管理员必须有在被商议后才可以调谐网络。信息包的频率和大小可以受到下面参数文件的设置的影响。

  •sqlnet.ora服务器文件——automatic_ipc参数

  •sqlnet.ora 客户文件—break_poll_skip 参数

  •tnsnames.ora 和 listener.ora 文件—SDU 和 TDU 参数

  •protocol.ora 文件—tcp.nodelay 参数

  这些调谐参数仅仅影响Oracle网络层的性能。让我们来详细的解释一下它们并看看它们怎么被调整用来改变Oracle网络吞吐量。

  Oracle特点

  1、完整的数据管理功能:[2]

  1)数据的大量性

  2)数据的保存的持久性

  3)数据的共享性

  4)数据的可靠性

  2、完备关系的产品:

  1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;

  2)保证访问的准则

  3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化

  4)数据物理性和逻辑性独立准则

  3、分布式处理功能:

  ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。

  4、用ORACLE能轻松的实现数据仓库的操作。

  这是一个技术发展的趋势,不在这里讨论。

  优点

  ■可用性强

  ■可扩展性强

  ■数据安全性强

  ■稳定性强

  在传输数据之前Oracle网络默认等待直到缓冲器被填满。因此,需求不能被立即送到它们的目的地。当大量的数据从一个地方送到另外一个地方的时候这个是最普通的了。Oracle网络不能传送信息包直到缓冲器满了。添加一个protocol.ora 文件和指定一个tcp.nodelay 停止缓冲器的延迟可以修补这个缺陷。

  protocol.ora文件可以被指定用来说明所有TCP/IP实现的无数据缓冲。这个参数可以被用在客户和服务器端。protocol.ora语句是这样的:

  tcp.nodelay = yes

  指定这个参数可以使TCP缓冲器被跳过这样每个请求就可以很快的被送到。但是请记住,由于更小和更频繁的信息包的传送导致网络流量的增加,这样就会降低网络的速度。

  tcp.nodelay

教你怎么优化Oracle网络设置_Oracle_数据库_通信_课课家教育

  tcp.nodelay参数仅仅在TCP遭遇超时设定的时候被使用。当在数据库服务器之间有大量的流量时设置tcp.nodelay可以导致在性能上巨大的改变。

  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一样。

  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文件中的关于使用这个参数的例子:

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

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

  性能

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

     TNS服务器被看作Oracle的逻辑数据请求中的绝缘体和远程服务器间的服务器。同样的,网络管理员有能力控制网络性能调谐性,但是Oracle管理员没有控制影响数据库性能的网络设置的权利。

更多内容尽在课课家哦!

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程