Whatever you do you don't need to take the ship's port tours, do them on your own. I've been to most of those ports except for Arrecife and Cape Verde.
In Rio, the fancy Jewelry stores have FREE shuttles from the cruiseship port to the downtown area. All they ask is that you take a look at the store, which we did. No pressure to buy anything, they even serve you beverages. Then we LEFT the store,went to lunch, to the beach, and went back to the jewelry store and they took us back to the port, all comp in a private Mercedes Sedan.
Buzios is another beach resort town, great place to buy swimming trunks. Salvador has a really nice old town.
You should spend extra time in Barcelona and Buenos Aires.
Oceania is a 5* cruiseline, pricey cruises. Compared to the mainstream lines, the ships are smaller, the food MAYBE a bit better but not really, but the SERVICE is what differentiates those lines.
Is this your first cruise? If not then you generally know what to expect, if so, there are MUCH LESS alternatives. Although I have not taken a 5* cruiseline, I have about 40 cruises under my belt. Having talked to many cruisers who've take both 5* and mainstream lines, MOST say you get a BETTER VALUE with the mainstream lines, and generally the 5* lines are NOT worth the extra money. Why take it then? Because they can afford it.