An f-sensitivity distance oracle for a weighted undirected graph G(V,E) is a data structure capable of answering restricted distance queries between vertex pairs, i.e., calculating distances on a subgraph avoiding some forbidden edges. This paper presents an efficiently constructible f-sensitivity distance oracle that given a triplet (s,t,F), where s and t are vertices and F is a set of forbidden edges such that |F|≤f, returns an estimate of the distance between s and t in G(V,E∖F). For an integer parameter k≥1, the size of the data structure is O(fkn 1+1/k log (nW)), where W is the heaviest edge in G, the stretch (approximation ratio) of the returned distance is (8k−2)(f+1), and the query time is O(|F|⋅log 2 n⋅log log n⋅log log d), where d is the distance between s and t in G(V,E∖F). Our result differs from previous ones in two major respects: (1) it is the first to consider approximate oracles for general graphs (and thus obtain a succinct data structure); (2) our result holds for an arbitrary number of forbidden edges. In contrast, previous papers concern f-sensitive exact distance oracles, which consequently have size Ω(n 2). Moreover, those oracles support forbidden sets F of size |F|≤2. The paper also considers f-sensitive compact routing schemes, namely, routing schemes that avoid a given set of forbidden (or failed) edges. It presents a scheme capable of withstanding up to two edge failures. Given a message M destined to t at a source vertex s, in the presence of a forbidden edge set F of size |F|≤2 (unknown to s), our scheme routes M from s to t in a distributed manner, over a path of length at most O(k) times the length of the optimal path (avoiding F). The total amount of information stored in vertices of G is O(kn 1+1/k log (nW)log n). To the best of our knowledge, this is the first result obtaining an f-sensitive compact routing scheme for general graphs.