Benchmark U.S. crude rose 23 cents to settle at $31.73 a barrel. Brent crude, the international standard, rose 63 cents to $33.85.
Wholesale gasoline was little changed at 90 cents a gallon, heating oil fell 2 cents to $1.14 a gallon and natural gas rose 3 cents to $1.87 per 1,000 cubic feet.
Gold fell $73.60 to $1,516.70 an ounce. Silver fell $1.51 to $14.50 an ounce, and copper was little changed at $2.47 a pound.
The dollar rose to 108.17 Japanese yen from 105.19 yen on Wednesday. The euro weakened to $1.1069 from $1.1176.