The oracle identification problem (OIP) is, given a set S of M Boolean oracles out of 2 N ones, to determine which oracle in S is the current black-box oracle. We can exploit the information that candidates of the current oracle is restricted to S. The OIP contains several concrete problems such as the original Grover search and the Bernstein-Vazirani problem. Our interest is in the quantum query complexity, for which we present several upper and lower bounds. They are quite general and mostly optimal: (i) The query complexity of OIP is O( √ N log M log N log log M ) for any S such that M = |S| > N , which is better than the obvious bound N if M < 2 N/ log 3 N . (ii) It is O( √ N ) for any S if |S| = N , which includes the upper bound for the Grover search as a special case. (iii) For a wide range of oracles (|S| = N ) such as random oracles and balanced oracles, the query complexity is Θ( N/K), where K is a simple parameter determined by S.