do I need to change my disc if the brake pads got oil on them
First of all you need to tell the LBS (local bike shop) that the disk can be "fixed". Then you need to find another LBS because they are either amateurs or are simply trying to make you buy stuff that you don't need.

You need to remove the oily disk from the bike and use a bike degreaser or alcohol on it to remove all oil. Rub with a clean dry cloth or kitchen paper and repeat. While finishing the process avoid touching the disk with bare hands on the face where the pads contact it because fingers leave grease as well.

Regarding your pads, these can be "fixed" as well in case they are sintered. You'll clean them using a degreaser or alcohol and slightly grind them (let's say remove ~0.2 mm of surface) with a thin sand paper. This will make sure that the pads are like new. Then you'll do whatever you do when using new pads (bed them in).

If the pads are not sintered but are organic then the above process may not do the work because organic pads can suck some oil inside (like sponges but not that much). I've heard of people boiling the pads in a frying pan with tap water and a bit of dishwasher soap but I don't know whether this will work. If you do that make sure you don't inhale any of the steam and also use an old pan which you'll never ever going to use again for cooking.