ORA-01031 Insufficient Privileges in Confluence 4.3 or later
Symptoms
Either one of the following (or both) appears in the atlassian-confluence.log
:
2012-10-13 00:23:57,160 ERROR [TP-Processor2] [net.java.ao.sql] handleUpdateError Exception executing SQL update <CREATE TRIGGER "AO_9412A1_AONOTIFIC382282639"
BEFORE INSERT
ON "AO_9412A1_AONOTIFICATION" FOR EACH ROW
BEGIN
SELECT "AO_9412A1_AONOTIFIC1763171329".NEXTVAL INTO :NEW."ID" FROM DUAL;
END;>
-- referer: http://<confluence-url>/dashboard.action | url: /confluence/rest/mywork/latest/status/notification/count | userName: admin
java.sql.SQLSyntaxErrorException: ORA-01031: insufficient privileges
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
....
OR/AND:
2012-10-12 22:29:33,673 ERROR [scheduler_Worker-1] [net.java.ao.sql] handleUpdateError Exception executing SQL update <CREATE SEQUENCE "AO_9412A1_AONOTIFIC1763171329" INCREMENT BY 1 START WITH 1 NOMAXVALUE MINVALUE 1>
java.sql.SQLSyntaxErrorException: ORA-01031: insufficient privileges
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:445)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:450)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:193)
....
OR/AND:
2013-12-11 11:53:07,097 ERROR [http-8080-9] [mywork.host.rest.ExceptionLogger] toResponse Exception thrown from resource
-- referer: http:<URL>/plugins/servlet/stp/view/ | url: /rest/mywork/latest/status/notification/count | userName: admin
com.atlassian.activeobjects.internal.ActiveObjectsInitException: Active Objects failed to initalize for bundle com.atlassian.mywork.confluence-host-plugin
at com.atlassian.activeobjects.osgi.ActiveObjectsServiceFactory$5.apply(ActiveObjectsServiceFactory.java:207)
...
Caused by: java.sql.SQLException: ORA-01031: insufficient privileges
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330)
Additionally you may find that some elements from plugins using Active Objects to store data may not appear, for example Workbox Tasks and Notifications or Space Shortcuts in the sidebar.
Cause
Confluence 4.3 or above uses Active Objects for plugins. The Active Objects plugin requires the CREATE SEQUENCES and CREATE TRIGGER permissions for the Oracle user, and when this is not available, this error will occur.
Resolution
- Backup your Confluence database
Ensure that the database user has CREATE SEQUENCES and CREATE TRIGGER permissions:
GRANT CREATE SEQUENCE TO <confluence_user>; GRANT CREATE TRIGGER TO <confluence_user>;
- Restart Confluence