In a bowl, beat eggs and half-and-half to blend; set aside. In an 8- to 10-inch nonstick frying pan over medium-high heat, stir bacon often until brown, 4 to 5 minutes. Spoon out all but 1 tablespoon fat and set aside. Add onion to pan and stir often until limp and brown, 7 to 8 minutes. Remove onion and bacon from pan and set aside. Measure reserved bacon fat; if needed, add salad oil to equal 1 tablespoon.
Meanwhile, in a 1- to 2-quart pan over high heat, bring oysters and their liquid to a boil. Remove pan from heat and let stand until oysters' edges curl, 2 to 3 minutes. Lift out the oysters with a slotted spoon (discard liquid), add to onion-bacon mixture, and keep warm.
Return half of bacon fat to frying pan over medium heat. Add half of egg mixture. As eggs begin to set, lift edges from pan bottom to let uncooked egg flow underneath. When eggs no longer flow when pan is tipped, scatter with half the parmesan; then on half of omelet, scatter half of oyster mixture and half of spinach leaves.
Tip pan; with a spatula, fold uncovered half of omelet over filling. Hold pan over a plate and shake omelet onto dish. Keep warm while making second omelet. Season with salt and pepper.