Ghost & Flying. I believe that's it! Not dark or bug because although they're super-effective against Psychic, they are not-effective against Fighting. And not Psychic, because though it's super-effective against Fighting, it's not-effective against Psychic.
Water and Grass attacks are super effective against Onix.
psychic pokemons and attacks are super effective
super effective is bug
Rock, electric, ice, and psychic types are super effective against Crobat.
In Pokemon HeartGold, the 6th Gym Leader is Jasmine in Olivine City. She uses Steel Pokemon in her party, and more specifically uses 2 Magnemites and 1 Steelix. The best type to use against the Magnemites would be Ground, as that would be a doubly super-effective move. Fire and Fighting moves will also work here. Against the Steelix, Fighting, Ground, Fire, or Water moves would be super-effective. Be warned, though, that the Steelix has the move Rock Slide, which will super-effect a Fire Pokemon.
Fire type moves are good against a pure Steel type. Steelix or Bastiodon, however, have types the negate this, so I suggest Fighting types because this is super effective against both of their types.
Flying and Psychic are super effective against fighting
Lightning is super effective against Water and Flying types in Pokémon battles.
Ghost & Flying. I believe that's it! Not dark or bug because although they're super-effective against Psychic, they are not-effective against Fighting. And not Psychic, because though it's super-effective against Fighting, it's not-effective against Psychic.
Water and Grass attacks are super effective against Onix.
psychic pokemons and attacks are super effective
super effective is bug
Bug Type and Fighting Type moves are super effective against it.
Rock, electric, ice, and psychic types are super effective against Crobat.
Steel is super effective against rock type pokemon.
normal type Pokemon are not super effective against any type.