Did you read documentation? You are using APPEND with db link, while transaction containing a direct-path INSERT statement cannot be or become distributed.
Can you elaborate the thing... I don't think /*+ APPEND */ this is working for me ,still I am getting same error.
If you have any other suggestion,I would like to hear.
Should i not put commit after some 500 records inserted ? As i am putting commit once after whole data gets inserted.
Check the password for the remote DB user. If it has changed, you might need to re-create the DB link with the new password.