項目管理軟件JIRA安裝時連接Oracle數據庫教程
0
本文主要介紹連接JIRA到Oracle數據庫。
首先
- 檢查Oracle的版本是否支持,詳見支持的平臺。
- 如果是轉移JIRA到另一臺服務器,先導出數據為XML備份,然后將舊數據庫中的數據傳輸到新的數據庫。
- 在開始前關閉JIRA,除非你正在運行Setup Wizard。
1.配置Oracle
- 確保有適合JIRA的數據庫實例(新建或使用已存在的)。
-
在這個數據庫實例里創建一個將與JIRA連接的用戶如:jiradbuser。
create user < user> identified by < user_pass> default tablespace < tablespace_name> quota unlimited on < tablespace_name>;
注意:- 當你在Oracle中創建一個用戶時,Oracle會自動創建一個'schema'。
- 當創建用戶時,表對象的空間必須被指定。
- 當創建用戶時,只能用Oracle支持的不帶引號的字符。至少已有一個已知的使用不支持的字符時出現的問題(Cannot Create XML Backup Due to "Could not get unique fields for table")。
-
確保創建的用戶有下列權限:
- grant connect to < user>;
- grant create table to < user>;
- grant create sequence to < user>;
- grant create trigger to < user>;
如果權限分配不正確,JIRA實例可能不會正常工作,參考JIRA XML Backup and Restore fails with error: Could not find column <column_name> in previously parsed query里的描述。所以只分配上面提到的權限。
- 確保數據庫與JIRA配置為使用相同的字符編碼,推薦使用AL32UTF8(Oracle等效的為Unicode UTF-8)。
2.將Oracle JDBC驅動程序復制到應用服務器(僅JIRA WAR)
如果安裝的JIRA'Recommended'分布可跳過此步,其中包含Oracle JDBC驅動。而JIRA WAR分布不包含該驅動。
- 下載Oracle JDBC驅動(從Oracle網站)。
- 添加適當的Oracle JDBC驅動jar(ojdbc6.jar for JDK 1.6)到lib/目錄。
注意一些Oracle JDBC驅動版本不能與JIRA一起使用或內在不穩定。已知的Oracle驅動有關的問題如下:
-
建議使用11.2.x版本的Oracle驅動(是向后兼容的)。許多其他版本的驅動已出現以下問題:
- 10g版本10.2.0.3.0發布的2JDBC驅動產生ORA-01461的錯誤,詳見Oracle Support網站。
- 10g版本10.2.0.1.0發布的2JDBC驅動出現有一些數據庫掛斷的問題。
- 10g版本10.1.0.4發布的1JDBC驅動雖不掛斷,但會拋出ArrayIndexOutOfBoundsExceptions異常。
- 注意:JDK 1.6不支持JIRA6.0及以后的版本。但可以使用Oracle JDBC驅動JDK 1.7替代JDK 1.6。
3.配置JIRA服務器來連接Oracle數據庫
三種連接Oracle數據庫的方法:
- 使用JIRA安裝向導(不適用于JIRA WAR)-如果你已經安裝JIRA并且是第一次設置,你的設置將被保存到JIRA主目錄的dbconfig.xml文件里。
- 使用JIRA配置工具(不適用于JIRA WAR)-如果有已存在的JIRA實例,你的設置將被保存到JIRA主目錄的dbconfig.xml文件里。
- 手動配置-只有當你有JIRA WAR實例或控制臺時使用這種方法鏈接到JIRA服務器。你需要手動更新JIRA主目錄里的dbconfig.xml文件。
每種配置方法的說明:
JIRA setup wizard |
當首次在瀏覽器連接JIRA時,JIRA設置向導就會出現。
|
JIRA configuration tool |
|
Manually |
|
數據庫連接字段:
setup wizard/configuration tool | dbconfig.xml | 描述 |
Hostname |
位于< url>標記(例如下面的粗體文字): < url>jdbc:oracle:thin:@dbserver:1521:ORCL< /url> |
安裝Oracle服務器的機器名稱或IP地址。 |
Port |
位于< url>標記(例如下面的粗體文字): < url>jdbc:oracle:thin:@dbserver:1521:ORCL< /url> |
MySQL服務器正在監聽的TCP/IP端口。默認端口號是'1521'。 |
SID |
位于< url>標記(例如下面的粗體文字): < url>jdbc:oracle:thin:@dbserver:1521:ORCL< /url> |
Oracle "System Identifier"。大多數Oracle服務器默認值是'ORCL'。如果使用的是Oracle Express Edition,默認的將會是'XE'。 |
Username |
位于< username>標記(例如下面的粗體字): < username>jiradbuser< /username> |
JIRA用于連接Oracle服務器的用戶。應在上面第一步時創建。 |
Password |
位于< password>標記(例如下面的粗體字): < password>jiradbuser< /password> |
用于與Oracle服務器身份驗證的用戶密碼。 |
dbconfig.xml文件示例:

4.啟動JIRA
現在JIRA連接到Oracle數據庫就配置好了。下一步就是啟動JIRA。
- 如果正在使用JIRA的'recommended'分配,啟動它,并觀察日志中是否存在錯誤。
- 如果使用的是JIRA WAR分配,重建并重新部署在應用服務器的Web應用程序。
已知的問題和解決方案:
- 當 處理自定義工作流或擁有長描述、評論、或自定義字段值的問題時,如果遇到問題,試著在dbconfig.xml文件里添加< connection-properties>SetBigStringTryClob=true< /connection-properties>作為< /jdbc-datasource>元素的子元素。添加此連接屬性就可解決這一問題。注意你需要重啟來使這一設置產生作用。