PL/SQL Can't grant privileges while logged as system I can't grant the execute privilege on DBMS_LOB (I need it to operate on files), even when I'm logged as system. What can I do? Granting DBA ROLE doesn't help at all.

Error starting at line 7 in command:
grant execute on sys.DBMS_LOB TO PGADMIN
Error report:
SQL Error: ORA-01031:
01031. 00000 -  "insufficient privileges"


I've been racking my brain about it for few hours. I hope someone can provide a solution that will work in my case.
SYSTEM is a typical database user (such as HR or OE)


The DBMS_LOB package belongs to SYS schema so that only the owner(Or user having the GRANT OPTION) can grant the object privilieges to other users. So if you connect as SYSDBA using SYSTEM user you will be connected to SYS schema.

SQL&gt; conn system/oracle
Connected.
SQL&gt; show user
USER is "SYSTEM"
SQL&gt; 

SQL&gt; grant execute on dbms_lob to hr;
grant execute on dbms_lob to hr
                 *
ERROR at line 1:
ORA-01031: insufficient privileges


SQL&gt; conn system/oracle as sysdba
Connected.
SQL&gt; 
SQL&gt; show user
USER is "SYS"
SQL&gt; grant execute on dbms_lob to hr;

Grant succeeded.

SQL&gt; revoke execute on dbms_lob from hr;

Revoke succeeded.


OR

You can grant EXECUTE on DBMS_LOB to SYSTEM user with GRANT OPTION then user SYSTEM user to grant that object privilege to other users.

SQL&gt; conn / as sysdba
Connected.
SQL&gt; grant execute on dbms_lob to system with grant option;

Grant succeeded.

SQL&gt; conn system/oracle
Connected.
SQL&gt; grant execute on dbms_lob to hr;

Grant succeeded.

SQL&gt;