Privilege to Delete Rows in Another Schema in Oracle

Q

What Privilege Is Needed for a User to Delete Rows from Tables in Another Schema in Oracle?

✍: FYIcenter.com

A

For a user to delete rows from tables of someone else's schema, he/she needs the DELETE ANY TABLE privilege. The following tutorial exercise gives you a good example of granting "dev" to delete rows in "hr" schema:

>.\bin\sqlplus /nolog
SQL> CONNECT DEV/developer

SQL> DELETE FROM hr.jobs WHERE job_id = 'DV.FYI';
ORA-01031: insufficient privileges

SQL> disconnect
SQL> connect SYSTEM/fyicenter

SQL> GRANT DELETE ANY TABLE TO dev;
Grant succeeded.

SQL> disconnect
SQL> CONNECT DEV/developer

SQL> DELETE FROM hr.jobs WHERE job_id = 'DV.FYI';
1 row deleted.

As you can see, "dev" can delete rows in any schema now. But you should be careful when giving this privilege to a regular developer.

 

Managing Oracle User Accounts, Schema and Privileges

⇒⇒Oracle Database Tutorials

2016-10-17, 188👍, 0💬