Hola tengo una duda, realice algunas pruebas para darle permisos a un usuario de ejecutar un job y la única forma es hacer un "grant alter" al usuario directamente, si lo hago mediante un rol el permiso no funciona.
Alguien sabe que implicaciones tiene el hacer un grant alter al job y porque no funciona mediante un rol.

Gracias
Like it on Facebook, +1 on Google, Tweet it or share this topic on other bookmarking websites.
  • Re: Permisos para ejecutar un Job de otro esquema

    by » 12 years ago


    Qué tal...
    Interesante... me parece que nunca había tenido la necesidad de otorgar privilegios de ejecución sobre un job a un determinado rol...

    He recreado tu caso y tienes razón... no manda error a la hora de hacer el "grant alter on..." como dices, sin embargo no funciona realmente.

    Lo busqué en foros de Oracle y rápidamente salieron casos similares, donde hay gente que dicen que es un bug...

    http://forums.oracle.com/forums/thread.jspa?messageID=3200652

    Caso recreado:

    sqlplus testjob/testjob

    SQL> begin
    2
    3 dbms_scheduler.create_job('prueba_job',
    4
    5 job_type=>'plsql_block',
    6
    7 job_action=>'proc_interno_test(2005);',
    8
    9 enabled=>false);
    10
    11 end;
    12
    13 /

    Procedimiento PL/SQL terminado correctamente.

    SQL> create role jobrole;

    Rol creado.

    SQL> grant jobrole to NORMAL_CONSUMER_USER;

    Concesión terminada correctamente.

    SQL> grant alter on testjob.prueba_job to jobrole;

    Concesión terminada correctamente.

    SQL> exit
    Desconectado de Oracle ...

    oracle@DBASupport:~> sqlplus NORMAL_CONSUMER_USER/password

    SQL> select user from dual;

    USER
    ------------------------------
    NORMAL_CONSUMER_USER

    SQL> exec dbms_scheduler.run_job('testjob.prueba_job',true);
    BEGIN dbms_scheduler.run_job('testjob.prueba_job',true); END;

    *
    ERROR en línea 1:
    ORA-27476: "TESTJOB.prueba_job" no existe

    SQL> exit
    Desconectado ...
    oracle@ora9i:~> sqlplus testjob/password

    SQL> grant alter on testjob.prueba_job to NORMAL_CONSUMER_USER;

    Concesión terminada correctamente.

    SQL> exit
    Desconectado de Oracle ...

    oracle@DBASupport:~> sqlplus NORMAL_CONSUMER_USER/password

    SQL> select user from dual;

    USER
    ------------------------------
    NORMAL_CONSUMER_USER

    SQL> exec dbms_scheduler.run_job('testjob.prueba_job',true);

    RESULTADO ESPERADO

    SQL> EXIT


    DBASupport Team

  • Re: Permisos para ejecutar un Job de otro esquema

    by » 12 years ago


    Entonces creo que no es posible usar un rol para asignar permisos, y que dices de el permiso grant alter? En realidad que permisos esta otorgando aparte del de ejecución? Pues trate de borrar el job con el usuario al que se le dio alter y no lo permitio.

You do not have permissions to reply to this topic.
Powered by CjForum