In algorithmic game theory, a branch of both computer science and economics, a demand oracle is a function that, given a price-vector, returns the demand of an agent.
It is used by many algorithms related to pricing and optimization in online market.
As an example, consider a market with three objects and one agent, with the following values and prices.
Then, the demand of the agent, given the prices, is the set {Banana, Cherry}, which gives a utility of (4+6)-(3+1) = 6.
With additive valuations, the demand function is easy to compute - there is no need for an "oracle".