我們應該怎樣安裝Oracle數據庫?

我們應該怎樣安裝Oracle數據庫?

  應該怎麼樣安裝數據庫,從安裝軟件到創建數據庫?對於這個問題,或許有的人不屑一顧,因爲他們覺得這沒有絲毫問題;同時有另一部分人,覺得這是個大問題。

  在安裝Oracle上,通常會有幾種類型的人:

  完全抓不着頭腦,不知道怎麼安裝,這通常是初學者,連Linux/Unix都不太熟悉。

  很少安裝Oracle的人,但是知道對照文檔一步一步操作,出了錯也知道上google、baidu和metalink查找解決方案。

  Oracle老手,安裝數據庫不需要任何文檔,對每個步驟也很熟悉。

  對Oracle的安裝非常熟悉,但是在安裝時仍然按文檔一步一步操作。

  對我個人來說,我是最後一種類型的人。我也自認爲安裝了不少的數據庫,覆蓋了大部分的平臺和操作系統。但我安裝的時候,仍然會不嫌麻煩的一步一步操作按文檔操作。在安裝數據庫軟件包括建庫,基本上沒有遇到過什麼問題。因爲我也見過

  很多朋友,被安裝這一問題折騰得焦頭爛額,特別是在安裝RAC的時候,這裏只是寫一寫我自己的一些做法,僅供參考,畢竟每個人都有自己的習慣和做法。

  本文主要描述Linux/Unix下的Oracle安裝,不涉及Windows系統下的安裝。

  我的習慣做法:

  平時注意收集安裝文檔,包括oracle online document(所謂的官方文檔),metalink上的,還有IBM、HP這些公司與Oracle合作部門提供的文檔。oracle online document中安裝部分沒事看一遍就可以了,但是metalink上很多文檔詳細地記錄了版本的兼容性,安裝時可能出現的問題以及解決辦法等等,比如很實用的文檔:《Oracle Database on Unix AIX,HP-UX,Linux,Mac OS X,Solaris,Tru64 Unix Operating Systems Installation and Configuration Requirements Quick Reference (8.0.5 to 11.2) [ID 169706.1]》、《Linux OS Requirements Reference List for Database Server [ID 851598.1]》、《Status of Certification of Oracle Clusterware with HACMP [ID 404474.1]》。而其他廠商的文檔包括:《CookBook_V3.2_Oracle_9i_RAC_AIX5L》、《COOKBOOK_Oracle CTC RAC10g R2 on HP-UX》、《COOKBOOK-V2.0-10gRAC R2 - ASM - AIX5L - SAN Storage》如此等等,還包括網上一些朋友自己撰寫的安裝文檔。在參考這些文檔時,需要注意的是,一定要明白每一個步驟其目的,有什麼作用。

  根據以上提到的文檔,進行整理,形成自己的文檔。我在前面說到,我安裝時一步一步按文檔操作,是指的按我自己的文檔,而不是去參考前面提到的若干文檔。在自己的文檔中,甚至提供了詳細的命令,這樣在安裝的時候對某些不熟悉的命令不至於現查資料。

  深入理解文檔中提到的各個參數、各個命令的作用。這不光是對安裝,而對於Oracle數據庫的更深入理解也是大有好處的。

  安裝Oracle數據庫時,在安裝軟件之前,通常有下面的操作:

  檢查操作系統版本、相應組件是否安裝,是否有安裝好文檔中指定的補丁,也包括c編譯器或c語行環境,這些對Linux下的安裝來說猶爲重要。

  檢查文件系統空間,特別是/tmp臨時文件系統

  檢查memory大小,特別是swap的大小。特別是在HP-UX下,swap的管理方式與其他系統有些不一樣(此處不再細述),最

  好能夠達到物理內存大小,對於特別大的物理內存,至少也要達到一半。

  檢查主機時區,時間設置。這一步通常被很多人忽略。

  檢查主機名設置,有的安裝系統相當不負責任,直接將主機取名localhost。

  檢查異步IO設置。

  檢查網絡設置,包括/etc/hosts文件的設置,特別是對RAC數據庫猶爲重要。

  檢查內核參數,特別是共享內存、信號量、用戶最多可運行進程數這些參數。

  oracle用戶創建後,注意編輯profile文件,設置相應的環境變量,注意不同的平臺,相同意義的環境變量卻有不同的名字,比如linux下的LD_LIBRARY_PATH和AIX下的LIBPATH。經常見到有的系統,oracle的PATH都沒有設置,這樣登錄後操作相當不方便。

  對Oracle用戶設置limit,通常是直接編輯/etc/security/limits.conf文件。

  給Oracle用戶一些特定的權限,比如HP-UX下修改/etc/privgroup文件,10.2.0.4 for AIX下給用戶CAP_NUMA_ATTACH, CAP_BYPASS_RAC_VMM, CAP_PROPAGATE 這樣的權限等等。

  對於RAC,還需要設置rsh或ssh

  至於安裝的其他步驟,不是本文所要講的主要內容,在此略過。

  還要提及一點,安裝的時候對於目錄的選擇,可以按照OFA的標準做法,也可以按照使用部門的習慣,建議使用OFA。經常有見到一些亂七八糟的目錄,讓人好找,這種做法不太好。

  說到安裝,不能不提到打補丁。在安裝完成後,最好是打上較新的補丁包以及metlink上提到的一些建議打的補丁。而等到系統正式使用,發現問題再打補丁,其代價就昂貴得多。

  由於安裝Oracle軟件以及升級版本和打補丁,比較耗時,有的朋友就喜歡下面的做法:安裝好軟件,打上補丁,然後tar成一個包,保存在自己的存儲介質上,下次在其他主機上安裝時,直接用這個tar包解開。這種做法可以省一些安裝軟件的時間,但是需要tar包的環境是否一致。我曾遇到過下面的問題:

  某套新裝9208的庫,報ORA-600[504]錯誤,通過在metalink上搜索發現其最符合的一個BUG對應的補丁已經打上。其他類似環境下,包括有同樣的補丁,卻沒有這樣的錯誤。我找了一臺操作系統完全一樣的測試主機,安裝與有問題庫的版本完全一樣的版本和補丁,卻也沒有這樣的錯誤;接下來我將出問題的Oracle home 複製到測試主機上,結果問題重現了,看起來問題在Oracle軟件上。我嘗試執行relink操作,居然失敗。發現這份Oracle在relink包括有HA代碼,實際上這是一個單機的環境,也沒有安裝HACMP。最後,使用rac_off選項,再重新relink,新生成的oracle,不再出現這樣的問題。在有問題的生產主機上重新relink後,問題解決。

  出現問題的Oracle,就是通過解tar文件來安裝的,在主機上我們也發現了以前安裝時保留的tar文件。因此通過這種方式安裝的,建議進行relink。

  下面再談談創建數據庫的一些個人經驗:

  儘量使用new database(9i)或者custom database(10g)這樣的選項來創建庫,建庫時只安裝必須的組件,這種做法有3個主要好處:更安全、更穩定、以後升級時所花的時間更少。

  創建數據庫時注意選擇正確的字符集。

  如果是選用模板創建數據庫,注意模板有可能不與Oracle軟件軟件版本相匹配。同時在建庫完成後需要運行相應的腳本,比如在安裝了PSU的情況下,那麼使用模板建庫,得需要運行PSU帶的腳本(具體參考PSU的README)。

  在打完補丁之後,在創建數據庫,避免在升級軟件之後還要升級數據庫。

  建完庫後,建議設置一下大體上合理的數據庫參數。

  希望本文能夠對Oracle數據庫的安裝不太熟悉的朋友一些幫助。

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