AFAIK måste du göra bidragsobjektet ett i taget.
Vanligtvis skulle du använda ett skript för att göra detta, något i stil med:
SELECT 'GRANT ALL ON '||table_name||' TO BOB;'
FROM ALL_TABLES
WHERE OWNER = 'ALICE';
Och liknande för andra db-objekt.
Du kan lägga ett paket i varje schema som du behöver för att utfärda bidraget från vilket kommer att gå igenom alla anrop till varje GRANT-uttalande via en EXECUTE IMMEDIATE.
t.ex.
PROCEDURE GRANT_TABLES
IS
BEGIN
FOR tab IN (SELECT table_name
FROM all_tables
WHERE owner = this_user) LOOP
EXECUTE IMMEDIATE 'GRANT SELECT, INSERT, UPDATE, DELETE ON '||tab.table_name||' TO other_user';
END LOOP;
END;