Atlassian 產品數據庫選擇/修改

Atlasian基本支持所有流行的數據庫,像MySQL、Oracle和SQL Server。更方便的是Atlassian產品自帶了輕量級數據庫PostgreSQL,如果大家在購買之前試用、評估很方便,經過這段時間的使用,我發現這個自帶數據庫有個更有用的功能,用於Atlassian產品升級的中間過程,特別方便,什麼都不需要配置,直接使用。

官網上都說了Oracle的使用複雜,那麼我就從Oracle使用入手吧,對於安裝比較簡單,由於Atlassian產品目前自帶的驅動只能支持Oracle10以及以下版本,如果使用11g及更高版本需要去官網下載驅動,並放置於$(ATLASSIAN_HOME)/**/WEB-INF/lib下:

  • jira、FeCru,不需要;
  • 其它均需要,目錄自己查找;

好像不讓上傳附件,那Oracle數據庫驅動自己下載吧,去Oracle官網,查找ojdbc7.jar是Oracle11以上的需要,10需要的是ojdbc.jar6.
下面說一下如果安裝數據庫時候,Oracle注意,如果是想要一個數據庫多用戶,每個用戶連接一個應用程序,這時候用戶權限一定要注意,不要圖省事給予DBA權限,否則會報如下錯誤:

JIRA instance will not work properly as described in JIRA XML Backup and Restore fails with error. Could not find column <column_name> in previously parsed query.

找了大牛幫着分析了Atlassian的源代碼,並監控Oracle數據庫,發現原因是Atlassian產品中不同產品間的數據庫表名相同,但是表的設計卻不同,而Atlassian產品備份的過程中會在數據庫用戶權限範圍內掃描所有的表,這樣就造成有些表的內容與Atlassian產品備份要求的不同,造成出現以下的問題。

所以啊,一定要按照官方文檔來,仔細的讀,不要跳躍,不要過於自信。我這裏也就是說一下容易犯錯的地方,也不一定全面。設置用戶權限:

create user user_name identified by user_password default tablespace tablespace_name unlimited quota on tablespace_name;
grant connect to user_name;
grant create table to user_name;
grant create trigger to user_name;
grant create suqence to user_name;
grant resource to user_name;(Confluence需要)

這樣設置的方式,對於想要節約服務器性能,想要一個Oracle數據庫來存儲多個應用程序數據是可行的。
注意:如果想要將原有的多個數據庫數據合併成一個數據庫多用戶的方式,不要採用備份數據庫恢復數據庫的方式,而應該採用備份JIRA等然後恢復的方式,採用自帶方式。這是因爲在使用過程中會產生很多的緩存等,如果直接恢復數據庫會造成數據間的交叉混亂。

待續。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章