I've done both. Obviously my views are subjective, but here's which one comes out on top in my opinion on different elements.
STATEROOMS: Oceania, in layout and bathroom space. (not considering balcony/no balcony issue).
APP/ONLINE INFO: Viking. (The lack of digiboards to look up the day's menus/events, and an app on board, are a downside on Oceania).
FOOD: Oceania
DRINKS: Viking. (Beer and wine included at meals, and cocktails to purchase very reasonable).
ENTERTAINMENT: Oceania (by a mile).
PUBLIC AREA DECOR: Viking
EXCURSIONS: Probably a wash. Viking does offer one "free" tour in each port. In some place these are good (like a walking tour), but in European cities there are usually "free" walking tours you can go to on your own anyway. Often Viking's included tour is just a bus tour with some photo stops. When it comes to paid excursions, I think they are similar (unsurprisingly: it's usually the same local tour companies selling excursions to all the cruise lines).
SPA AREAS: Viking. The indoor heated pool area, ice room, jacuzzis, plunge pool, sauna, etc.