You can create a package grant_privs owned by schemax that you grant execute permissions to your batchuser. batchuser would then execute package schemax.grant_privs which would then run as schemax and grant privs back to the batchuser.