Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Performance Tuning and SQL Tuning

862643Sep 29 2012 — edited Nov 13 2012
i am a new database administrator that manages Oracle 10g and Oracle 11g.... i would like to ask for some tips, blogs, official documents that can help me learn performance tuning and SQL tuning techniques...

thank you...

Comments

843790
i dont think thereis a way 2 unbind
every application gets a port assigned and then u cant use it for oher application
even i am new 2 java so if someone has a different opinion please point out
843790
I want to use that port AFTER I close it previously. btw, I found a way to make it work though the solution is not ideal.
DatagramSocket socket = new DatagramSocket(null);
socket.setReuseAddress(true);
socket.bind(new InetSocketAddress(localAddress, localPort));
EJP
That is the only solution available, in Java or any other language. Why isn't it ideal?
843790
The Unix Socket FAQ suggests some non-idealness, although the associated hazard (wandering duplicates) seems to have a low probability of surfacing.

http://www.faqs.org/faqs/unix-faq/socket/
sections "4.5. What exactly does SO_REUSEADDR do?"
and "2.7. Please explain the TIME_WAIT state."
EJP
Not really, it just quotes somebody who thinks TIME_WAIT isn't necessary, which it is.

I'm curious as to what an 'ideal' solution to the OP's problem would look like.
843790
Not really, it just quotes somebody who thinks
TIME_WAIT isn't necessary, which it is.
It does say "The TIME_WAIT state is there for a reason; it's your friend and it's there to help you :-)"... Somewhere in there a bit that says the opposite?
I'm curious as to what an 'ideal' solution to the
OP's problem would look like.
Perhaps there isn't one? My experience with the common suggestion of "just put in setReuseAddress(true), dude" is with people trying to do something weird with TCP. Oftentimes fixed by not closing and re-opening a ServerSocket in a tight loop. What is the problematic DatagramSocket scenario in the first place? The OP wants to close(); disconnect(); bind(); -- what's the intent there?
EJP
Well, te TIME_WAIT state is only there for TCP, but it is essential to preserve the integrity properties of TCP. Otherwise you could receive data twice, or data that isn't part of the connection, and TCP is defined not to do that.

Anyway TIME_WAIT has nothing to do with UDP.

Still waiting to hear from the OP about this.
1 - 7
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Dec 11 2012
Added on Sep 29 2012
8 comments
438 views