ORA-01031 : Oracle 주제에 대한 JMS 연결 생성 특권이 충분하지 않습니다.
-
22-08-2019 - |
문제
내 동료 중 한 명이 Java의 Oracle Deue에 (내구성이없는) 구독자를 만드는 데 문제가 있습니다.
큐는 하나의 스키마 (예 : 소유자)가 소유합니다. 그는 다른 사용자 (구독자)로 연결하려고합니다. 가입자는 소유자에 의해 Dequeue 권한 (및 가치가있는 것에 대한 Enqueue)을 부여 받았습니다.
그가 "multiple_consumers"옵션으로 큐를 만들 때 모든 것이 잘 작동합니다. "Multiple_Consumers"가 true로 설정되면 (필요한 설정) 다음과 같이 실패합니다.
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)
그가 소유자로 연결하면 성공합니다.
가입자에게 부여해야 할 권한을 어떻게 해결합니까?
해결책
내구성있는 가입자를 생성하거나 AQ_ADMINISTRARTRO_ROLE을 연결 사용자에게 부여해야합니다. 훌륭한 보안 모델은 아니지만 당분간 Oracle의 구현입니다.
https://forums.oracle.com/forums/thread.jspa?messageid=9793091
제휴하지 않습니다 StackOverflow