Let's analyze this situation: Tom has a dog, Lisa has a cat, Lara has a guinea pig and Georg has a bird. But you don't know the names of any of those animals:
If you know that the animals are male:
Tom hat einen Hund. Ich weiß nicht, wie er heißt. OR: Tom hat einen Rüden. Ich weiß nicht, wie er heißt.
Lisa hat einen Kater. Ich weiß nicht, wie er heißt.
Lara hat ein Meerschweinchen. Ich weiß nicht, wie es heißt.
Georg hat einen Vogel. Ich weiß nicht, wie er heißt.
If you know that the animals are female:
Tom hat eine Hündin. Ich weiß nicht, wie sie heißt.
Lisa hat eine Katze. Ich weiß nicht, wie sie heißt.
Lara hat ein Meerschweinchen. Ich weiß nicht, wie es heißt.
Georg hat einen Vogel. Ich weiß nicht, wie er heißt.
Also interesting is the case when you don't know the animals's genders:
If you don't know the animals's genders:
Tom hat einen Hund. Ich weiß nicht, wie er heißt.
Lisa hat eine Katze. Ich weiß nicht, wie sie heißt.
Lara hat ein Meerschweinchen. Ich weiß nicht, wie es heißt.
Georg hat einen Vogel. Ich weiß nicht, wie er heißt.
As usual in German language, the pronoun's grammatical gender is always the same as the grammatical gender of the noun that is referred by the pronoun. And this are the genders of the used animal-words:
- Der Hund
Grammatical gender: male → pronoun: er
Used for: male dogs and dogs who's biological gender is unknown
- Der Rüde
Grammatical gender: male → pronoun: er
Used for: male dogs
- Die Hündin
Grammatical gender: female → pronoun: sie
Used for: female dogs
- Die Katze
Grammatical gender: female → pronoun: sie
Used for: female cats and cats who's biological gender is unknown
- Der Kater
Grammatical gender: male → pronoun: er
Used for: male cats
- Das Meerschweinchen
Grammatical gender: neuter → pronoun: es
Used for: all guinea pigs (male, female and unknown biological gender)
- Der Vogel
Grammatical gender: male → pronoun: er
Used for: all birds (male, female and unknown biological gender)
But there are many other names of animals that are not used as pets:
pigs:
- Das Schwein
Grammatical gender: neuter → pronoun: es
Used for: pigs who's biological gender is unknown.
- Der Eber
Grammatical gender: male → pronoun: er
Used for: male pigs.
- Die Sau
Grammatical gender: female → pronoun: sie
Used for: female pigs.
goats:
- Die Ziege
Grammatical gender: female → pronoun: sie
Used for: goats who's biological gender is unknown.
- Der Bock; der Ziegenbock
Grammatical gender: male → pronoun: er
Used for: male goats.
- Die Geiß
Grammatical gender: female → pronoun: sie
Used for: female goats.
You can find more names of animals here: https://de.wikipedia.org/wiki/Liste_der_Bezeichnungen_für_Haus-_und_Wildtiere