The gunman opened fire outside Blue nightclub in the Norwegian capital in the early hours of Sunday morning. Police said they have arrested one suspect and are not searching for anyone else.
The four victims were rushed to the hospital, but the extent of their injuries is not yet known, Oslo police said on Twitter.
Seven police cars and three ambulances were dispatched to the scene.
Norwegian newspaper Verdens Gang reports that the suspected attacker is in his twenties and was previously known to authorities.
The incident sparked panic among patrons of the nightclub. The shooter reportedly fired up to eight times.
Two of the injured are believed to be bouncers at the venue. The shooting reportedly took place after the suspect was asked to leave.