JIRA连接Oracle数据库教程

本文主要介绍连接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文件示例:

JIRA连接Oracle数据库教程

4.启动JIRA

现在JIRA连接到Oracle数据库就配置好了。下一步就是启动JIRA。

  • 如果正在使用JIRA的'recommended'分配,启动它,并观察日志中是否存在错误。

  • 如果使用的是JIRA WAR分配,重建并重新部署在应用服务器的Web应用程序。

已知的问题和解决方案:

  • 当处理自定义工作流或拥有长描述、评论、或自定义字段值的问题时,如果遇到问题,试着在dbconfig.xml文件里添加<
    connection-properties>SetBigStringTryClob=true<
    /connection-properties>作为<
    /jdbc-datasource>元素的子元素。添加此连接属性就可解决这一问题。注意你需要重启来使这一设置产生作用。

点击查看>>更多JIRA中文教程

相关推荐