Making executions plans more stable plus adaptable to changes (system, dictionary, data) as they occur is the reasoning behind the SPM components of 11g. It is a major improvement to the stored outlines that have been a part of Oracle Database since version 8i. While stored outlines provided stability for a fixed optimized execution plan, it didn't have the features for storing, comparing, and verifying multiple plans. Hints, which are added to the actual SQL, are intended to provide guidance to the query optimizer for picking a certain execution plan. Hints will also require ongoing maintenance to prevent query regression as data changes.
This is the default SPM behavior:
SQL Plan Baseline Capture (Automatic)
OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES = true
First plan automatically accepted, new plans non-accepted
If Stored Outline exists, are enabled, and
USE_STORED_OUTLINES=true
, then manually migrate new plans. Disable stored outlines to use newer plans.
SQL Plan Baseline...