is advice function and an oracle the same thing?
No, they are not the same.  An oracle is something that an algorithm can send inputs to, and get back outputs, possibly many times.  Advice is a single value that is provided to the algorithm, and depends only on the length of the input to the algorithm.