项目管理软件JIRA安装时连接Oracle数据库教程
本文主要介绍连接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配置为使用相同的字符编码,推荐使用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>元素的子元素。添加此连接属性就可解决这一问题。注意你需要重启来使这一设置产生作用。