Before Oracle 9i came out a grant was a grant. A grant received through a role worked as well as a direct grant.
Starting in 9i in order to do something in a stored procedure that needed a grant, it wasn't enough that the
grant came through a role. You needed a direct grant.
So I am guessing that you need a direct grant for the table that you are updating. I you get to this table
through a db link the user that you are connecting to in the other database needs the grant.
this space intentionally left blank