Você pode criar um índice exclusivo baseado em função
CREATE UNIQUE INDEX idx_dup_active
ON <<table name>>( CASE WHEN is_active = 1
THEN question_no
ELSE NULL
END );
Isso tira vantagem do fato de que os índices Oracle b-tree não armazenam dados onde os dados do bloco folha seriam inteiramente NULL.