A dog with oily fur, even if he is perfectly healthy, can develop an odor. Dogs who have naturally oily fur, which acts as protection from wet, cold weather, may always have oilier hair than other breeds, but you can manage it. If your dog who doesn't normally have an oily coat develops one unexpectedly, he may have seborrhea, which requires treatment from a veterinarian.
Bathe your dog once a week using a gentle shampoo made for dogs. Don't use dishwashing liquid or other harsh detergents to try to "dry" your dog's coat out. Harsh soaps can irritate his skin. Also, if your dog's coat is too dry, he will produce extra oil to rehydrate the skin, making the oily coat situation worse.
Dry your dog thoroughly after baths and if he gets wet outside. An oily coat does have a tendency to smell, even more so when he is wet. A damp coat is also more susceptible to yeast and fungal skin problems, which can make an oily coat worse. Towel-dry him thoroughly or use a blow dryer set on low if he will tolerate it.
Consider changing your dog's diet. The skin is the largest organ of the body and is a good indicator of health. If your dog's coat doesn't improve after switching to a high-quality food, he may be allergic to one or more of the ingredients in the food. Talk to your vet about testing your pup for allergies and switching to a fixed-ingredient dog food.