welcome to oscarfishlover
Okay, there are a couple of things that concern me. The first is your tank size, it is quite a lot smaller than it should be. A single Oscar should be at least in a 55 gallon tank, if not bigger. Secondly, your Oscar is a very small for its age. Your Oscar should be at the least 9 inches if it is growing probably.
Could you tell us what filtration you are using. Also, have you tested the water?you need to know what the ammonia is doing, what the nitrite is at and what nitrate at.
I don't know what is wrong with your fish, the symptoms do point to the swimbladder however, unfortunately, this isn't a good sign. As for the small hole, I would like to see photograph if possible.
How often do you carry out water changes?