We're using Oracle 11.x as the database backing JIRA, Confluence, and Crucible+Fisheye. We've run into a possible issue related to security constraints imposed by our DBA group. We're required to connect to the database using a different user/schema name than the one in which the tables reside.
We still have all of the required permissions we just need to qualify every SQL statement with the schema name.
For example, instead of the app executing the following query:
select * from CHANGEITEM;
It needs to execute the query qualified with the schema name like this:
select * from <SCHEMA NAME>.CHANGEITEM;
I know one way around this is to use Oracle public synonyms but from what I've read this is unsupported.
I found in the <JIRA_HOME>/dbconfig.xml the following a schema-name element.
<jira-database-config>
<name>defaultJira</name>
<delegator-name>default</delegator-name>
<database-type>oracle10g</database-type>
<schema-name><MY_SCHEMA_NAME></schema-name>
...I'm hoping this will solve the issue for JIRA.
For Confluence and Crucible+Fisheye it's a little less clear. For Confluence I'm hoping I can add the following property element to the <CONFLUENCE_HOME>/confluence.cfg.xml file.
<property name="hibernate.default_schema"><MY_SCHEMA_NAME></property>
For Crucible. I'm really not sure if it'd even be supported. I see some database configuration information in the <CRUCIBLE/FISHEYE HOME>/config.xml
<database type="oracle">
<connection dialect="org.hibernate.dialect.Oracle10gDialect" driver="oracle.jdbc.driver.OracleDriver"
driverSource="bundled" jdbcurl="<MY_CONNECTION>"
maxPoolSize="20"
minPoolSize="5"
password="<MY_PASS>"
username="<MY_USER>"/>
<parameters>useUnicode=true characterEncoding=UTF8 connectionCollation=UTF8_bin</parameters>
</database>
However, not sure if there's a way to set the schema.
Again, any help with qualifying the schema for all three apps would be greatly appreciated.