gold gains over $20; oil up for a second session