Oracle不同版本同主機安裝記錄
?
??? 筆記本的性能還可以,2G內存、2G主頻雙核CPU,以前一直也沒發揮什么大的作用,于是想裝多幾個版本的Oracle來做測試。就下載了從9i到11g的3個版本的Oracle,還有OWB、BI等一些OUI軟件,一起來安裝一下,但是第一次的安裝并不太順利,很多環境配置都出了問題,第二次全部卸載之后又參考了網上的一些資料,配置了N久總算是順利裝上了,介紹一下經驗:
?
第一、安裝目錄
?
??? 為了不讓各個組件之間互相干擾,我把所有的組件都裝在了不同的目錄下面,其實很多的組件都是可以安裝在同一個ORACLE_BASE下面的。
?
??? 我的目錄結構是這樣的:
??? Oracle
??? └─Product
??????? ├─10.2.0
??????? ├─11.1.0
??????? └─OUI
?
?
第二、安裝次序
?
??? 按照網上的方法,Oracle的安裝順序從低版本到高版本進行安裝,其實這樣做的目的只是為了讓高版本的PATH放在前面,并使用高版本的ORACLE_HOME和ORACLE_SID,如果你愿意自己手動設置這些環境變量參數,那么不按照順序也是沒有關系的。
?
??? 但是最重要的一點是:要安裝下一個組件之前,一定要結束所有的ORACLE進程,例如實例和監聽等等,否則一定會導致安裝失敗。實際上是因為下一個Oracle在創建服務進程的時候檢測到已經有相同的服務進程存在而放棄創建新服務。
?
?
第三、環境配置
?
??? 首先要把ORACLE_HOME,ORACLE_SID都設為需要的默認工具版本的ORACLE_HOME,和想要作為默認打開的ORACLE_SID,另外需要將默認版本的BIN目錄修改到PATH參數的前面。
??? 如果需要其他版本的ORACLE工具時,可以在當前例程中收工修改PATH以及ORACLE_HOME之后再打開。例如要使用10G的RMAN進行備份,就必須要先設置ORACLE_HOME,這個是必須要用到,而且不能使用高版本的典型例子。
?
??? 然后可以修改服務列表中的ORACLE服務,把LISTENER和ORACLE服務(2個)設為自動啟動,其他服務均設為手動啟動。
??? 之后在regedit中編輯ORACLE參數,把數據庫下的ORA_SID_AUTOSTART參數均設為FLASE,這樣當服務進程自動啟動時就不會自己啟動ORACLE實例,不會在開機時占用太多的系統資源。
?
?
第四、LISTNER配置
?
??? 安裝不同版本的ORACLE時,每個實例都會自動配置一個LISTENER,但是對于一臺服務器來說,只需要一個LISTENER就可以了,否則多余的LISTENER可能會使TNS混亂。所以可以直接使用ORACLE提供的Net Configuration Assistant來關掉多余的LISTENER,注意每個版本的LISTENER都需要用不同ORACLE_GROUP下的工具來進行刪除。
?
??? 最后使用需要的版本重設一個LISTENER,并將服務器中的數據庫都添加進去,可以使用Net Manager,也可以直接配置listener.ora文件,具體的配置方法就不多說了,都是很簡單的基礎操作,直接參考它的example就可以了。
?
??? 最后設置一下tnsnames.ora文件,就可以用后綴直接登陸不同的實例了。當然了,還是使用set oracle_sid來登陸比較方便一點。
?
?
第五、其他說明
?
??? 其實其他的配置和同一版本多實例都是一樣,也沒什么好說的,另外9i沒有裝,打算配置一下VM裝個RAC。
?
??? 注意在SPFILE中可能會需要修改一下local_listener參數的值,因為可能被刪除的LISTENER跟后來設的不同名。
?
??? 其他的留位待以后添加吧。
?
?
?