> Thanks a lot

You're welcome.

> why Oracle didnt use Hash Aj when i used NOT EXISTS in merge statement

Not 100% sure on that one. NOT EXISTS appears to use HASH_AJ when I try it. Perhaps it is related to your use of the /*+ ORDERED */ hint. Can you post a full example of that case.