What is IPC & how/why do I use it?
IPC (InterProcess Communications) is a protocol that can be used with an Oracle Database, the default protocol is TCP/IP. It can only be used by a calling software, like PowerPlay Transformer, that is running on the same machine as the database. This protocol can be configured to allow a greater throughput of data, when doing large queries.
IPC is configured by the DBA in the tnsnames.ora. The calling software must use that name to call the Database. When that name is used to call the Database it will not go out to the network to find the Database, all of the calls will stay on the machine. The DBA can then tweak the settings of the IPC protocol. (example: TCP/IP Name for Oracle client is mollie.oracle.creatcomp.com this is what impromptu client would use. The tnsnames.ora Database name on the machince that Oracle resides on would be identical the under lying settings would be IPC.)
Main reason to use IPC is because it can increase performance on queries by about 25% maybe more. It will also remove networking from the puzzle of why a large query may not perform.
Example: At CDPHP we had 2 queries one that returned 26 million rows by about 400 bytes wide, in just over 4 hours through TCP/IP. We changed it to IPC and it took just over 3 hours for the same query. Query 2 returned about 11 million rows by about 60 bytes in 45 minutes with TCP/IP. With IPC setup it took 23 minutes.
No comments:
Post a Comment