10.07.2015 Views

Expert Oracle Exadata - Parent Directory

Expert Oracle Exadata - Parent Directory

Expert Oracle Exadata - Parent Directory

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CHAPTER 13 MIGRATING TO EXADATANow all connections between the source server and that subnet would request both send andreceive socket buffer size 4 MB, but connections using other routes would continue using default values.Note that this route change setting isn’t persistent across reboots, so you would need to get thesysadmin to add this command in a Solaris (or SMF service) startup file.Before you change any of these socket buffer setting at the O/S level, there’s some good news if yoursource database is <strong>Oracle</strong> 10g or newer. Starting from <strong>Oracle</strong> 10g, it is possible to make <strong>Oracle</strong> request acustom buffer size itself (up to the tcp_max_buf limit) when a new process is started. You can do this bychanging the listener.ora on the server side (source database) and tnsnames.ora (or the raw TNSconnect string in database link definition) in the target database side. The target database acts as theclient in the database link connection pointing from target to source. This is well documented in theOptimizing Performance section of the <strong>Oracle</strong> Database Net Services Administrator’s Guide, section“Configuring I/O Buffer Size.”Additionally, you can reduce the number of syscalls <strong>Oracle</strong> uses for sending network data, byincreasing the <strong>Oracle</strong> Net Session Data Unit (SDU) size. This requires either a change in listener.ora orsetting the default SDU size in server-side sqlnet.ora. Read the <strong>Oracle</strong> documentation for more details.Here is the simplest way to enable higher SDU and network buffer in <strong>Oracle</strong> versions 10g and newer.Add the following line to the source database’s sqlnet.ora:DEFAULT_SDU_SIZE=32767Make sure the source database’s listener.ora contains statements like the following example:LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS =(PROTOCOL = TCP)(HO/ST = solaris01)(PORT = 1521)(SEND_BUF_SIZE=4194304)(RECV_BUF_SIZE=1048576))))The target <strong>Exadata</strong> server’s tnsnames.ora would then look like this example:SOL102 =(DESCRIPTION =(SDU=32767)(ADDRESS =(PROTOCOL = TCP)(HO/ST = solaris01)(PORT = 1521)(SEND_BUF_SIZE=1048576)(RECV_BUF_SIZE=4194304))(CONNECT_DATA =(SERVER = DEDICATED)434

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!