J'ai besoin de votre aide sérieuse ici! Je dois exécuter plusieurs requêtes d'exécution de subvention pour l'objet sys à l'un de mes utilisateurs.Exécuter la requête d'exécution d'exécution pour l'objet sys
grant execute on SYS.dbms_system to $(User);
grant execute on SYS.dbms_flashback to $(User);
Mais, comme ce que je sais, afin d'accorder des privilèges à objet sys pour Oracle RDS, il faut utiliser la procédure rdsadmin.rdsadmin_util.grant_sys_object
pour atteindre.
Je construis ma nouvelle requête, comme suit:
begin
rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SYSTEM', '$(User)');
end;
Mais, je frappe une erreur,
SQL Error: ORA-20199: Error in rdsadmin_util.grant_sys_object.
ORA-20900: You do not have permission to grant: to SYS object: DBMS_SYSTEM ORA-06512: at "RDSADMIN.RDSADMIN_UTIL", line 234 ORA-20900:
You do not have permission to grant: to SYS object: DBMS_SYSTEM ORA-06512: at line 2
Quelqu'un a la moindre idée comment puis-je résoudre ce problème? S'il vous plaît aider!
Exécutez-vous cette procédure sous l'utilisateur 'SYS'? – JSapkota
Non. La raison en est que amazon rds verrouille l'utilisateur SYS. Cependant, j'ai l'utilisateur qui a le privilège d'effectuer une tâche commune DBA, s'il vous plaît se référer http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.CommonDBATasks.html –
Selon le document de votre déclaration devrait être ressembler this- 'commencer rdsadmin.rdsadmin_util.grant_sys_object ( p_obj_name => 'DBMS_SYSTEM', p_grantee => 'USER', p_privilege => 'execute' ); fin; » Je pense que vous avez manqué le privilège voulu accorder à l'utilisateur. – JSapkota