"Oh, dear!" vs. "Oh dear!"
The Google Books results come out quite strongly in favor of omitting the comma, but it depends on how long the “Oh . . .” phrase is. Two-word versions usually do not have it, while longer ones like “Oh for the love of . . .” more often do.
You should inspect these for yourself. I went the first twenty pages of “Oh dear”, and certainly found some with the comma. Not many, but some.
Shorter ones:
- Oh dear
- Oh dear me
- Oh dear God
- Oh God
- Oh yes
- Oh no
- Oh crap
- Oh hell
- Oh shit
- Oh fuck
Longer ones:
- Oh no you don’t
- Oh for goodness’ sake
- Oh my goodness
- Oh for God’s sake
- Oh for fuck’s sake
- Oh my heavens
- Oh for Pete’s sake
- Oh for the love of
As you can see, there are exceptions, but most do not use use the comma after the oh. One old but interesting examples is the line from Shakespeare’s All’s Well That Ends Well, because you can find it variously punctuated.
- O, for the love of laughter, let him fetch his drum;
- Oh, for the love of laughter, let him fetch his drum ;
- Oh ! for the love of laughter, let him fetch his drum ;
The old hymn doesn’t usually use a comma, either:
- O for a thousand tongues to sing my dear Redeemer's praise
I suggest omitting the comma, but I don’t know that there is an actual rule here to cite.
The OED mentions "Oh dear" without a comma. I can't say I've ever seen it with one.
"Oh" itself is an exclamation and can be followed by a comma, which could also be an exclamation mark; besides, you can make other exclamations using "Oh" as a starter ("Oh yeah!" could exemplify this). I would like to share some examples taken from the Oxford Advanced Learner's Dictionary:
1) Used when you are reacting to something that has been said, especially if you did not know it before:
‘I saw Ben yesterday.’ ‘Oh yes, how is he?’
Oh dear! What's happened now?
You can't come tonight? Oh well, see you next week then.
‘Emma has a new job.’ ‘Oh, has she?’
2) Used to express surprise, fear, joy, etc.:
- Oh, how wonderful!
- Oh no, I've broken it!
3) Used to attract somebody's attention:
- Oh, Sue! Could you help me a moment?
The position of the punctuation marks must vary as the intention (emphasis) of the speaker/writer varies; thus, "Oh, no! I've broken it!" and "Oh no, I've broken it!" are both correct.
Thank you for reading.