Pregunta

Uno de mis colegas es tener un problema creando un abonado (no duraderos) a una cola de Oracle desde Java.

La cola es propiedad de un esquema (digamos un e-mail); que está tratando de conectarse como otro usuario (digamos ABONADO). ABONADO se ha concedido privilegios DEQUEUE (y poner en cola, por lo que vale la pena) por el propietario.

Cuando se crea la cola con la opción "multiple_consumers" establecido en FALSE, todo funciona bien. Cuando "multiple_consumers" se establece en TRUE (el valor que necesitamos), se produce el siguiente:

oracle.jms.AQjmsException: ORA-01031: insufficient privileges
ORA-06512: at "SYS.DBMS_AQADM_SYS", line 5757
ORA-06512: at line 1
ORA-06512: at "SYS.DBMS_AQJMS", line 129
ORA-06512: at line 1
    at oracle.jms.AQjmsSession.addDurableSubscriber(AQjmsSession.java:3708)
    at oracle.jms.AQjmsSession.createSubInOldMode(AQjmsSession.java:2742)
    at oracle.jms.AQjmsSession.createDurableSubscriber(AQjmsSession.java:2400)
    at oracle.jms.AQjmsSession.forceCreateOldSubscriber(AQjmsSession.java:2884)
    at oracle.jms.AQjmsSession.createConsumer(AQjmsSession.java:6820)

Si se conecta como propietario, tiene éxito.

¿Cómo trabajo qué privilegios necesito para conceder al suscriptor?

¿Fue útil?

Solución

o bien tienen que crear un suscriptor duradero, o tener el AQ_ADMINISTRATOR_ROLE concedido al usuario que se conecta -. No es un gran modelo de seguridad, sino que consiste en la realización de Oracle por el momento

https://forums.oracle.com/forums/thread.jspa ? messageID = 9793091

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top