在同一臺機器下安裝兩個Oracle Software 版本
在同一臺機器下安裝兩個Oracle Software 版本
目標在10.230.17.29上安裝oracle10g
環境:
OS
:~> cat /etc/SuSE-release
SUSE LINUX Enterprise Server 9 (x86_64)
VERSION = 9
PATCHLEVEL = 3
:~> uname -a
Linux Z810 2.6.5-7.244-smp #1 SMP Mon Dec 12 18:32:25 UTC 2005 x86_64 x86_64 x86_64 GNU/Linux
DB: Oracle10g
已安裝9i
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9ir2
現在要在同個Oracle使用者中安裝Oracle10g。
有哪些問題呢?
用兩個ORACLE_HOME和ORACLE_SID即可
1) 不同的版本必須在不同的目錄下.
export ORACLE_SID=mouse
export ORACLE_HOME=$ORACLE_BASE/product/10gr2
這樣同一個使用者就有兩個ORACLE_HOME.如何解決?
在.profile中定義兩個環境變數檔案。提供選擇執行哪個版本的Oracle
echo "9i or 10g? "
read CHOICE
if [ "$CHOICE" = "9i" ]; then
echo "You enter 9i database!"
. ./set9ienv
else if [ "$CHOICE" = "10g" ];
then
echo "you enter 10g database!"
. ./set10genv
fi
fi
檔案set9ienv的內容如下:
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9ir2
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_SID=mydb
#export ORACLE_SID=dupdb
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$PATH:/usr/bin:/usr/sbin/:/bin:$ORACLE_HOME/bin
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/JDBC/lib/classes12.zip:$ORACLE_HOME/jdbc/lib/nls_charset12.zip
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export NLS_LANG
export LANG=en_US
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LC_ALL=C
檔案set10genv的內容如下:
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10gr2
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
export ORACLE_SID=mouse
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$PATH:/usr/bin:/usr/sbin/:/bin:$ORACLE_HOME/bin
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/JDBC/lib/classes12.zip:$ORACLE_HOME/jdbc/lib/nls_charset12.zip
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export NLS_LANG
export LANG=en_US
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LC_ALL=C
如果用另一使用者來安裝也可以, 如Oracle10g 這是一種解決方案,比較簡單.
2) 安裝之前把現執行的所有oracle程式,監聽先停掉
3) 在成功安裝Oracle10g後,嘗試用DBCA建立資料庫報如下錯
ORA-27125: unable to create shared memory segment
上網查得知,這是Suse在支援Oracle10g上的一個Bug。主要是引數DISABLE_HUGETLBFS的問題。
具體這個DISABLE_HUGETLBFS引數的含義要上網再找些相關資料瞭解下。
solution:
用DBCA生成建庫的指令碼
Oracle> cd $ORACLE_BASE/admin/mouse/scripts
Oracle> EXPORT DISABLE_HUGETLBFS=1
Oracle> ./mouse.sh
建庫成功.
之前一直在Oracle9i上工作,測試。 剛開始接觸10g,還有一堆特性要去熟悉。
關於Suse中安裝Oracle10g可能出現的問題可以參考下面的文件:
附件:<
在SuSE以前的幾個版本中,都針對Oracle有過專門的改進,安裝起來也比較的方便,一般使用者只需要安裝一個RPM包即可搞定。不過目前的9.1版本是否支援Oracle 10g還沒有官方宣告。經過筆者測試,發現Oracle 10g在SuSE上可以執行的很好。
SuSE Linux 9.1 採用的是2.6( 2.6.4-52)的核心。這是筆者要對其測試的一個重要原因。這個版本KDE是3.2版本的,GUI足夠華麗, 不過這個和我們今天的這個主題關係不大。對SuSE新特性感愛好的讀者可以先去看一下這個Links: 。此外,SuSE整合了 LVM2。LVM對維護上帶來了不少方便,從某種意義上說提高了系統可用性。2.6核心 + LVM2 + 10g--還真的蠻吸引人的。
安裝之前,先去Suse的Oracle支援站點看看: http://www.suse.com/en/business/certifications/certified_software/oracle/documents.html 。雖然沒有直接針對Oracle 10g 的資料,不過一些文件也是非常有參考價值的哦。還有 上的支援文件,也應該是必讀之物。
一 預備工作
先檢查作業系統軟體包是不是已經安裝齊備。也就是屬於開發環境的那些東西,Gcc 、binutils 、make等等,假如沒有安裝的話,可以透過yast2工具來進行安裝,仔細選好軟體,按照提示依次插入各安裝盤即可。
參考 這裡的資訊。(另外, 在該Link還可以找到其它的一些有用的Link)。
接下來我們建立使用者和相關的組,調整使用者的環境變數:
eXPort ORACLE_BASE=/u/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
export ORACLE_SID=TEST
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
建立目錄,檢查核心引數。SuSE上我沒有發現 sysctl.conf 檔案。自己建立之。內容如下:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
然後sysctl -p 確定一下。在這裡要注重的一點是在系統重新啟動之後不能自動讀取我們建立的檔案。 可以考慮
#chkconfig boot.sysctl on
或者是利用SuSE 的Yast 工具來設定。
二 安裝軟體
安裝之前要進行一下處理。因為runInstaller所需要的配置檔案oraparame.ini 中沒有提到SuSE ,所以,預檢查的時候會報告錯誤。
我們採取調整該檔案的辦法.具體參考:
vi oraparam.ini
找到
[Certified Versions]
Linux=redhat-2.1,UnitedLinux-1.0,redhat-3
修改成
[Certified Versions]
Linux=redhat-2.1,UnitedLinux-1.0,redhat-3,SuSE-9.1
然後執行./runInstaller
假如不能出現X安裝介面,注重DISPLAY環境變數的設定。以後一路是圖形檔案。不多說了。注重,在安裝的時候不要建立資料庫。
三 建立例項
執行dbca ,建立例項。不過,在這裡一個比較令人頭疼的問題。圖形化建立例項總是報告: ORA-27125:unable to create shared memory segment. 檢查核心引數,沒有發現問題。後來經過網路上的交流得知:Linux 2.6核心有個特性:Huge TLB支援。該特性預設條件下是啟用的。
相關解釋:
By default only root has permission to allocate shared memory with this option (SHM_HUGETLB) and Oracle 10g defaults using it, so Oracle fails to allocate the SGA.This capability is supposed to be able to controlled with the setcaps program (CAP_IPC_LOCK), but I couldn't get it to work properly. The solution is either to set DISABLE_HUGETLBFS=1 before you start Oracle or to recompile the kernel without CONFIG_HUGETLB_PAGE and CONFIG_HUGETLBFS configuration parameters.
要解決該問題,在Oracle使用者下執行 $export DISABLE_HUGETLBFS=1(初稿這裡有誤) 注(2004年9月19日):本文最初描述的有問題,一般來說執行如下的操作比較穩妥:
linux: # cd $ORACLE_HOME/bin
linux: # mv oracle oracle.bin
cat >oracle < #!/bin/bash
export DISABLE_HUGETLBFS=1
exec $ORACLE_HOME/bin/oracle.bin $@
EOF
linux: # chmod +x oracle
這是因為類似dbca這樣的Java應用不能把 DISABLE_HUGETLBFS=1傳遞給oracle執行程式。
具體資訊可參考還有下面的參考URL.
然後再次執行dbca 。假如碰到問題的話,最好是定製庫,最後選擇"生成指令碼" (當然,可以自己寫指令碼建庫,不過用圖形工具方便一些) 。執行指令碼建立例項。不出意外的話,這次應該沒有問題了
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10248702/viewspace-663983/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 同一個電腦安裝兩個jdk版本JDK
- ORACLE開發工具DEVELOPER系列 4個版本及DB裝在同一機器的安裝方法OracleDeveloper
- 一臺機器上安裝兩個MysqlMySql
- 在一臺機器配置兩個listener(Oracle)(轉)Oracle
- oracle GlodenGate 在各個平臺下的安裝Oracle
- 在一臺機器上安裝並使用多版本的 Go ?Go
- 同一臺手機安裝同一個應用的測試版,正式版
- 同一臺伺服器上面安裝多個mysql資料庫伺服器MySql資料庫
- aix 下 oracle 11.2 rac 在同一臺機器上把資料遷移到新儲存AIOracle
- 在單機linux上安裝兩個不同版本資料庫時注意事項Linux資料庫
- oracle應該安裝在什麼版本的linux下OracleLinux
- 教你在一個伺服器上安裝多個版本PHP伺服器PHP
- Oracle Database 在各種平臺下的安裝需求OracleDatabase
- 在同一個Activity下實現兩個Fragment之間的通訊Fragment
- 在VMware上安裝CentOS版本的Linux虛擬機器CentOSLinux虛擬機
- css兩個div在同一行排列CSS
- Oracle同一臺伺服器建立多個資料庫Oracle伺服器資料庫
- 同一臺linux主機同時安裝lamp和lnmpLinuxLAMPLNMP
- 【DataGuard】同一臺主機實現物理Data Guard配置安裝
- ORACLE各個版本系統安裝需求Oracle
- 請教在同一臺機器上配置weblogic的clusterWeb
- 在linux下安裝oracle bbedLinuxOracle
- 一臺機器下,多個Java版本的粗放與精細管理Java
- 在Linux機器上安裝執行Oracle(三)(轉)LinuxOracle
- 在Linux機器上安裝執行Oracle(二)(轉)LinuxOracle
- 安裝centOS版本oracleCentOSOracle
- 通過rman在同一臺機器上搭建standby大致過程!
- Linux平臺下解除安裝ORACLELinuxOracle
- 【轉】在同一臺主機配置MySQL ClusterMySql
- 在同一臺計算機中執行多個MySQL服務計算機MySql
- 同一臺機器上安裝了10g和11g對於listener的配置
- Oracle BIEE在linux下的安裝OracleLinux
- Oracle在一臺機器上搭建dataguardOracle
- postgresql在windows平臺下的安裝 (轉)SQLWindows
- 利用rman在同一臺機器上主庫online搭建standby
- FMS伺服器在centos下安裝伺服器CentOS
- 上週在Aix上安裝oracle10g rac遇到兩個問題AIOracle
- windows下安裝各個版本memcache擴充套件Windows套件