本文主要介绍连接JIRA到Oracle数据库。
首先
检查Oracle的版本是否支持。
如果是转移JIRA到另一台服务器,先导出数据为XML备份,然后将旧数据库中的数据传输到新的数据库。
在开始前关闭JIRA,除非你正在运行Setup Wizard。
1.配置Oracle
1.确保有适合JIRA的数据库实例(新建或使用已存在的)。
2.在这个数据库实例里创建一个将与JIRA连接的用户如:jiradbuser。
create user < user> identified by < user_pass> default tablespace < tablespace_name> quota unlimited on < tablespace_name>;
注意:
当你在Oracle中创建一个用户时,Oracle会自动创建一个'schema'。
当创建用户时,表对象的空间必须被指定。
-
当创建用户时,只能用Oracle支持的不带引号的字符。至少已有一个已知的使用不支持的字符时出现的问题。
3.确保创建的用户有下列权限:
grant connect to < user>;
grant create table to < user>;
grant create sequence to < user>;
-
grant create trigger to < user>;
如果权限分配不正确,JIRA实例可能不会正常工作。所以只分配上面提到的权限。
4.确保数据库与JIRA配置为使用相同的字符编码,推荐使用AL32UTF8(Oracle等效的为Unicode UTF-8)。
2.将Oracle JDBC驱动程序复制到应用服务器(仅JIRA WAR)
如果安装的JIRA'Recommended'分布可跳过此步,其中包含Oracle JDBC驱动。而JIRA WAR分布不包含该驱动。
1.下载Oracle JDBC驱动(从Oracle网站)。
2.添加适当的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的错误。
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设置向导就会出现。
1.在最开始页面的'Configure Language and Database'设置Database Connection为My own database。
2.设置Database Type为Oracle。
3.按照下面描述的数据库连接字段填写字段。
4.测试连接并保存。
JIRA configuration tool
1.根据下面运行JIRA配置工具:
Windows:打开命令提示符,运行JIRA安装目录的bin子目录文件config.bat。
Linux/Unix:打开控制台,运行JIRA安装目录的bin子目录文件config.sh。
2.导航到Database选项卡设置Database type为Oracle。
3.按照下面描述的数据库连接字段填写字段。
4.测试连接并保存。当手动在JIRA配置Oracle时任何自定义设置(如adding the < connection-properties>SetBigStringTryClob=true< /connection-properties>)都会被删掉,因此需要手动恢复它们。
5.重启JIRA。
Manually
1.找到JIRA主目录根目录下的dbconfig.xml文件。
如果该文件不存在,创建该文件,将XML示例代码(如下)复制粘贴到该文件。
2.根据下面数据库连接字段描述更新该文件。通过在每一个末端添加'amp;'转义所有'&'字符。
注意:元素必须指定数据库类型,如:oracle10g。如果你忘记指定数据库类型就启动JIRA,那么数据库表将不会被正确创建。
3.保存文件并重启JIRA。
数据库连接字段:
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>元素的子元素。添加此连接属性就可解决这一问题。注意你需要重启来使这一设置产生作用。
点击查看>>更多JIRA中文教程
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。