When we tried to grant some object privilege to an user, it failed with ORA-02224.
SQL> grant write on hr.employees to oe;
grant write on hr.employees to oe
ERROR at line 1:
ORA-02224: EXECUTE privilege not allowed for tables
ORA-02224 means that the object privilege you specified in the GRANT statement is not applicable for tables. In this case, the object privilege WRITE is a valid object privilege, but it cannot apply to tables.
A list for all valid object privileges categorized by database objects can be found at the official documentation.
In fact, there're only 9 object privileges that are valid and can apply to tables.
To make the user have the ability to modify the table, we need to grant INSERT, DELETE and UPDATE object privileges.
SQL> grant select, insert, delete, update on hr.employees to oe;
We solved it.
To know more about granting privileges correctly and properly, please follow the link and have a look.