Step 1 - capture the SQL you are interested in. You can do this in various ways, for example, if you know the SQL_ID then
variable pls number
begin
:pls := dbms_spm.load_plans_from_cursor_cache(
attribute_name => 'SQL_ID',
attribute_value => '[your SQL ID]');
end;
or if you know the sql text (or part thereof) you can do:
variable pls number
begin
:pls := dbms_spm.load_plans_from_cursor_cache(
attribute_name => 'SQL_TEXT',
attribute_value => '%select%from%my_table%where%');
end;
and in either case, you can limit to the desired plan hash value.
Once you've done that, you're pretty much done - we'll use that plan until directed otherwise. New plans will be picked up, but you would need to manually evolve those plans to activate them.