Question:
How is the User Datagram Protocol (UDP) different than TCP/IP
network protocol?
Is UDP defined for any database being designed or just for Data
warehouse?
What all should be covered in the UDP configuration for an Oracle
system?
Answer:
UDP is stateless, and you DO NOT want to use UDP
for Oracle system where data integrity is an issue. UDP is
available on Linux, AIX, Solaris and HP/UX, and other OS platforms.
Overall, the vast majority of Oracle databases use TCP/IP, because
UDP does not have built-in hand-shake dialogues. This means that
UDP does not have the same data integrity and reliability and
serialization as TCP/IP. With UDP there is no guarantee that your
packet will arrive at the destination and no mechanism for notifying
you of a network failure! Also, UDP is not serialized, so
out-of-order transmission is possible.
So, why choose UDP? If you are on a super-reliable network where
you have zero lost packets possibilities then you may choose UDP
because it is far faster than TCP/IP, primarily because there is no
overhead in establishing a handshake connection. UDP is stateless.
UDP Parameters for AIX
However, UDP is far faster than TCP/IP, so the UDP protocol is used
for high impact communications areas such as domain name servers
(DNS) UDP for AIX:
In AIX, you can adjust the UDP kernel settings with the network
options (?no?) command, which can alter the udp_sendspace
and udp_recvspace parameters. To enable UDP on AIX for
Oracle, you set the following UDP parameters:
-
udp_sendspace: Set udp_sendspace
parameter to [(DB_BLOCK_SIZE *DB_FILE_MULTIBLOCK_READ_COUNT) +
4096], but not less than 65536.
-
udp_recvspace: Set the value of the
udp_recvspace parameter to be >= 4 * udp_sendpace.
The value of the udp_recvspace parameter should be at
least four to ten times the value of the udp_sendspace
parameter because UDP might not be able to send a packet to an
application before another packet arrives. To determine the
suitability of the udp_recvspace parameter settings,
enter the following command:
netstat -s | grep 'socket buffer overflows?
-
sb_max: If required, set the
sb_max parameter (default value is 1048576) to a higher
value because sb_max must be greater than
udp_recvspace
UDP Parameters for Solaris
To enable UDP in Solaris for Oracle, initialize the following UDP
kernel parameters:
-
udp_xmit_hiwait: The
udp_xmit_hiwait parameter defines the default maximum UDP
socket datagram size and is related to udp_max_buf.
-
udp_recv_hiwait: The udp_recv_hiwait
parameter specifies the default maximum UDP socket receive
buffer size.
-
udp_max_buf: The udp_max_buf
parameter determines the size of the OS send and receive buffers
for a UPD socket.
|
|
Get the Complete
Oracle SQL Tuning Information
The landmark book
"Advanced Oracle
SQL Tuning The Definitive Reference" is
filled with valuable information on Oracle SQL Tuning.
This book includes scripts and tools to hypercharge Oracle 11g
performance and you can
buy it
for 30% off directly from the publisher.
|