Take a long hard look at all of his development. Sensory, learning, language, speech, hand skills, coordination, social. If you see things that are odd, or if you have ever asked if this is typical, don't wait and see anymore. Take him to see a developmental pediatrician and have an evaluation. Anger, frustration and oppositional behavior of the magnatude you describe is a warning sign that something is making him pretty miserable; they are most often a symptom of a developmental origin. One big soft sign in any developmenal profile is going to be behavior and his ablity to handle frustration and anger is not age appropriate. While you may be able to help him with intervention, if you need intervention other than what you can simply provide through dicipline, all the dicipline in the world is not going to help him, and from what you say, he needs help.
Good luck to you.