I was a member of the K-9 Unit at work for 4 years. Our dogs were trained to recognize hand signals. This was done because if we were wearing gas masks due to deploying chemical agents we could still give commands to the dogs. The mace/pepper spray we used did not affect the dogs, and it was much stronger then the stuff you buy off the shelf. Granted, we were not spraying the dogs directly but were using gas in confined areas. I would not use a spray for dogs.

For one dog and you don't have a gun: 1st, Wrap your weak arm with anything available, i.e. jacket, sweater. 2nd, Hold your arm out and feed it to the dog. with his mouth ocupied get him off his feet so he can't thrash/rip your arm as much. 3rd, Disable the dog by what ever means you have, punching, taking out eyes etc. Sounds brutal but if a dog is looking to attack it is best for you to control the attack as much as possible. Mind you it is best to avoid the attack if possible but if there is no option...

For more then one dog...better get a gun.