Ghassen, yes, I had a typo, here is the corrected problem... testx=SQL>select * from t1; C1 -- 1 2 2 rows selected. testx=SQL>select * from t1 where exists 2 (select 'x' from oracle.t2@devx a 3 where a.c1 = t1.c1); C1 -- 1 1 row selected. testx=SQL>select * from t1 where not exists 2 (select 'x' from oracle.t2@devx a 3 where a.c1 = t1.c1); C1 -- 2 1 row selected. testx=SQL>exit In devx... devx=SQL>select * from t2; C1 -- 1 3 2 rows selected. devx=SQL>select * from t2 where exists 2 (select 'x' from oracle.t1@testx a 3 where a.c1 = t2.c1); C1 -- 1 1 row selected. devx=SQL>select * from t2 where not exists 2 (select 'x' from oracle.t1@testx a 3 where a.c1 = t2.c1); C1 -- 1 3 2 rows selected. devx=SQL>exit Bill Wagman Univ. of California at Davis IET Campus Data Center wjwagman@xxxxxxxxxxx (530) 754-6208 ________________________________ From: Ghassan Salem [mailto:salem.ghassan@xxxxxxxxx] Sent: Wednesday, May 23, 2007 1:31 AM To: William Wagman Cc: oracle-l Subject: Re: TDE issues Bill, are you sure of your test case? the second query on testx select * from t1 where not exists (select 'x' from oracle.t2@devx a where a.c1 = t1.c1); cannot return the result that you mention 1 as there is no such data in t1 in testx (otherwise, this is a 'wrong result' case). rgds