Preheat the oven to 375 degrees F. Combine the fresh and dried cranberries in a large bowl. Add 1 cup sugar, 3 tablespoons water and the vanilla and toss to coat. Lightly smash with a potato masher or fork to burst some of the cranberries. Add the pears, cinnamon, allspice and 2 tablespoons flour and toss to coat. Transfer to a 3-quart baking dish.
Make the topping: Mix the remaining 1 cup flour, the pecans, oats, the remaining 1/2 cup sugar and the salt in a medium bowl, then stir in the melted butter. Use your fingers to pinch the topping into small clumps and sprinkle it over the fruit.
Bake until the fruit is bubbling and the topping is golden brown, about 40 minutes. Serve warm or at room temperature.