How to clean oil stains from yellow (its natural color) marble?
Marble can be easily stains because of its porous nature. Try covering the area with corn starch for about 24 hours. It will absorb any excess oil. Then, wash the area with more hot water and detergent. If you still see the stain, dampen a paper towel with acetone. Leave the dampened paper towel on the stain for about an hour, and rinse with water. Repeat this process untill the stain is completely removed.
A known remedy is using a mixture consisting of a mixture of baking soda and water. Slather it on the stain, cover it in plastic wrap, let it dry for 24 hours, and then wash it off with mild soap. A flour and soap poultice mixture may work just as well and you can follow to same steps to use it as well. The result should be cleaned up marble since the mixtures soak up the stains.
You might try the poultice answer from @auujay in this question: How can I clean oil stains from vitreous floor tiles? I can't vouch for the answer, personally.
Removing oil from natural stone is nigh well impossible. Easier to make the oil stain uniform over a wider area, if practical.
To remove this kind of stain you need a solvent and an absorbent. The effective solvents are toluene or xylene, both of which can be found in a hardware store. This is combined with the absorbent, ideally fuller's earth. You can buy fuller's earth from auto parts stores.