The oscar is a big dirty fish, the 30 gallon is a little on the small side as tank sizes go. You should be doing at least 50% weekly water changes. If your oscar is small, then that can be reduced.
Best way to tell is test your nitrates, adjust your water changes to keep nitrates in the 20ppm range.