ORA-01031: privilegios insuficientes creación de conexiones de JMS tema de Oracle
-
22-08-2019 - |
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?
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