独自の関数ベースのインデックスを作成できます
CREATE UNIQUE INDEX idx_dup_active
ON <<table name>>( CASE WHEN is_active = 1
THEN question_no
ELSE NULL
END );
これは、Oracle b-treeインデックスが、リーフブロックデータが完全にNULLになるデータを格納しないという事実を利用しています。