Oracle Relations Between Complexity Classes
You seem to understand the concept even though you described it wrong. ​ ​ ​ Unless exactly one of {A,B} is uniform, an oracle separation of A from B either means ​ [showing that there is an oracle O such that ​ AO ≠ BO ] , ​ or means [exhibitings an oracle O such that ​ AO ≠ BO ].

Yes, it is "not true that for any two complexity classes we can always construct an oracle such that they are equivalent in relation to that oracle". ​ In particular, most hierarchy theorems relativize. ​ However, it is the case "that for any two complexity classes we can always construct" a class-oracle "such that they are equivalent in relation to that" class-oracle. ​ (For example, this one always does that.) ​ The triangle levels do not have complete sets with respect to syntactic subclasses of R, and each other non-computable level is not low for itself.

Given "two complexity classes $A$ and $B$ such that $A,B \subseteq \Sigma_{n}^{0}$," it is indeed "not always the case that $A^{\Sigma_{n+1}^{0}} = B^{\Sigma_{n+1}^{0}}$," even though "the arithmetic hierarchy doesn't collapse". ​ See two sentences before this sentence.