Je ne peux pas accorder le privilège exécuté sur DBMS_LOB
(J'en ai besoin de fonctionner sur des fichiers), même lorsque je suis connecté comme -System. Que puis-je faire? Accorder DBA ROLE
n'aide pas du tout.
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"
Je me suis rattrapé mon cerveau pendant quelques heures. J'espère que quelqu'un peut fournir une solution qui fonctionnera dans mon cas.
Le système est un utilisateur de base de données typique (telle que HR ou OE)
Le DBMS_LOB
paquet appartient au schéma SYS
de sorte que seul le propriétaire (ou l'utilisateur ait le GRANT OPTION
) Peut accorder les privilèges d'objet à d'autres utilisateurs. Donc, si vous vous connectez comme SYSDBA
à l'aide de SYSTEM
utilisateur vous serez connecté à SYS
schéma.
SQL> conn system/Oracle
Connected.
SQL> show user
USER is "SYSTEM"
SQL>
SQL> grant execute on dbms_lob to hr;
grant execute on dbms_lob to hr
*
ERROR at line 1:
ORA-01031: insufficient privileges
SQL> conn system/Oracle as sysdba
Connected.
SQL>
SQL> show user
USER is "SYS"
SQL> grant execute on dbms_lob to hr;
Grant succeeded.
SQL> revoke execute on dbms_lob from hr;
Revoke succeeded.
OU
Vous pouvez accorder EXECUTE
sur DBMS_LOB
à SYSTEM
utilisateur avec GRANT OPTION
Ensuite, utilisateur SYSTEM
utilisateur d'accorder le privilège d'objet à d'autres utilisateurs.
SQL> conn / as sysdba
Connected.
SQL> grant execute on dbms_lob to system with grant option;
Grant succeeded.
SQL> conn system/Oracle
Connected.
SQL> grant execute on dbms_lob to hr;
Grant succeeded.
SQL>