what is the SQL you see in the shared pool on the remote server?
and why do you believe you need the leading hint? are the estimated cardinalities incorrect in the plan on the remote site?
If I issue a query such as:
ops$tkyte%ORA11GR2> create table t1 as select * from all_objects;
Table created.
ops$tkyte%ORA11GR2> create table t2 as select * from all_users;
Table created.
ops$tkyte%ORA11GR2> exec dbms_stats.gather_table_stats( user, 'T1' );
PL/SQL procedure successfully completed.
ops$tkyte%ORA11GR2> exec dbms_stats.gather_table_stats( user, 'T2' );
PL/SQL procedure successfully completed.
ops$tkyte%ORA11GR2>
ops$tkyte%ORA11GR2> select /*+ driving_site( tab1 ) leading( tab1 ) */ *
2 from t1@loopback@ora11gr2 tab1, t2@loopback@ora11gr2 tab2
3 where tab1.owner = tab2.username
4 and tab2.user_id < 0
5 /
no rows selected
I see this query in my shared pool:
SELECT /*+ LEADING ("A2") */ "A2"."OWNER","A2"."OBJECT_NAME","A2"."SUBOBJECT_NA
ME","A2"."OBJECT_ID","A2"."DATA_OBJECT_ID","A2"."OBJECT_TYPE","A2"."CREATED","A
2"."LAST_DDL_TIME","A2"."TIMESTAMP","A2"."STATUS","A2"."TEMPORARY","A2"."GENERA
TED","A2"."SECONDARY","A2"."NAMESPACE","A2"."EDITION_NAME","A1"."USERNAME","A1"
."USER_ID","A1"."CREATED" FROM "T1" "A2","T2" "A1" WHERE "A2"."OWNER"="A1"."USE
RNAME" AND "A1"."USER_ID"<0
which shows the remote query was hinted and if the leading hint 'made sense', it would be used.
suggest you check out the remote query and get the plan of it to verify as step one.