Oracle to buy Eloqua in $871 million deal