Cost-based query optimizer chooses the most efficient execution plan for a given query using a cost model. The latter relies on the accuracy of estimated statistics. These estimates often diiffer significantly from those encountered during query execution, leading to poor plan choices. In this paper, we present a method to query processing that is fully aware of estimation inaccuracies. This method produces execution plans that are likely to perform reasonably well over different runtime conditions, so called robust plans. Robust plans are then augmented with extra-operators. These operators collect statistics at run-time and check the robustness of the current plan. If the robustness is violated, extra-operators are able to make decisions for plan modifications to correct the robustness violation without a need to recall the optimizer. We present the results of performance studies of our method, which indicate that it provides significant improvements in the robustness of query processing.