說明:本文檔主要介紹在linux下安裝oracle資料庫的方法,至於在其它unix下安裝oracle的方法基本與此相同,本安裝指南是個通用文檔,適用於各種oracle資料庫版本,windows下的安裝十分簡單,不再講述。
一:系統配置
關於系統的配置建議如下:
CPU pIII,(CPU頻率1G以上)賽揚系列(CPU頻率1.7G以上)。
記憶體 512M(實體記憶體至少為256,系統交換分區至少為600M,建議為1G)
Linux版本:對於9.0.0.1建議用RedHat Linux.7.1 或7.3,針對9.2.0.1建議用9.0
(本文以9.0.0.1為例)
分區: /boot :100M (至少100M,建議300M)
swap :1024M /
必須選擇安裝xwindow、kde。
以下設定是遠程安裝oracle需要設定的,本機安裝oracle,不用設定一下內容.
設定xwindow可以支援如xmanager這樣的工具遠程登陸linux。設定如下:
#vi /etc/X11/xdm/xdm-config
在最後一行: DisplayManager.requestPort: 0 前面加!號注釋掉此行。
#vi /etc/X11/xdm/Xservers
在最後一行::0 local /usr/X11R6/bin/X 前面加#號注釋掉這一行。
#vi /etc/X11/xdm/Xaccess
找到#* #any host can get a login window
把這一行前面的#號去掉,變成:
* #any host can get a login window
最後運行#xdm。這樣使用xmanager等工具就可以串連Linux了!!!
如果想要每次啟動自動啟動xdm,那麼請在/etc/rc.d/rc.local檔案尾部加入/etc/X11R6/bin/xdm
二:檢查開發包 (Checking Development Packages --RPMs)
Oracle 安裝器需要一些 RPM 開發包構建 Oracle 模組,否則將出現類似如下的錯誤:
Error in invoking target ntcontab.o of makefile
/opt/oracle/product/9.2.0/network/lib/ins_net_client.mk
1.RH 7.1, 7.2 和 RH AS 2.1 所需開發包
運行以下命令,可以查看這些開發包是否已安裝:
rpm –q gcc cpp compat-libstdc++ glibc-devel kernel-headers binutils
例如,安裝 Red Hat Advanced Server 2.1 時沒有選擇 Software Development 包,那麼大部分包沒有安裝。可以運行下面的命令安裝這些包:
su – root
rpm –ivh cpp-2.96-108.1.i386.rpm glibc-devel-2.2.4-26.i386.rpm
rpm –ivh kernel-headers-2.4.9-e.3.i386.rpm gcc-2.96-108.1.i386.rpm
rpm –ivh binutils-2.11.90.0.8-12.i386.rpm
2.RH 7.3, 8.0 和 9 所需開發包
運行以下命令,可以查看這些開發包是否已安裝:
rpm –q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils
例如,安裝 Red Hat 9 時選擇 Server 安裝類型,那麼必須運行以下命令安裝開發包:
su – root
rpm –ivh cpp-3.2.2-5.i386.rpm glibc-devel-2.3.2-5.i386.rpm
rpm –ivh glibc-kernheaders-2.4-8.10.i386.rpm gcc-3.2.2-5.i386.rpm
rpm –ivh binutils-2.13.90.0.18-9.i386.rpm
3.Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3) 所需開發包
運行以下命令,可以查看這些開發包是否已安裝:
rpm –q gcc cpp compat-libstdc++ glibc-devel glibc-headers
rpm –q glibc-kernheaders binutils
注意:在開始安裝 Oracle 9iR2 之前,請確信已經查看了 Oracle 安裝錯誤 (Oracle
Installation Errors) 一節中關於 “Error in invoking target install of make file
/opt/oracle/product/9.2.0/network/lib/ins_oemagent.mk” 的內容。
三:設定交換空間 (Setting Swap Space)
為了執行 Oracle 9i 標準安裝和建立原型 (simple prototype) 資料庫,Oracle 建議 Oracle9i (9.0.1) 伺服器至少需要 512M 記憶體,兩倍記憶體或不少於 400M 的交換 (swap) 空間。我曾經在一台 256M 記憶體和 600M 交換空間的 PC 機上成功地安裝了Oracle 9i (9.0.1& 9.2.0) 和建立了預設資料庫。但是,當我在這台 PC 機上使用較少的交換空間時,提示記憶體溢出。所以,建議使用 Oracle 安裝指南指定的記憶體和/或交換空間,或更多的記憶體和交換空間。注意:如果在安裝過程中,你沒有足夠的交換空間或記憶體,特別是在資料庫建立過程中,你的 Oracle 伺服器將變得非常遲鈍。
查看記憶體大小,可以運行下面的命令:
grep MemTotal /proc/meminfo
查看交換空間大小,可以運行下面的命令:
cat /proc/swaps
如果交換空間不夠,也可以通過建立臨時分頁檔臨時增加交換空間,代替使用原始裝置 (raw device)。
su – root
dd if=/dev/zero of=tmpswap bs=1k count=900000
chmod 600 tmpswap
mkswap tmpswap
swapon tmpswap
取消臨時交換空間,可以執行以下命令:
su – root
swapoff tmpswap
rm –rf tmpswap
四:設定共用記憶體 (Setting Shared Memory)
為了安裝 Oracle 9i (9.2.0),需要增加所有 Red Hat 版本的 Linux 伺服器的最大共用記憶體(maximum shared memeory)。否則,Oracle 資料庫配置助手 (the Oracle Database Configuration Assistant) 會顯示如下錯誤資訊:
ORA-27123: unable to attach to shared memory segment
執行下面的命令,可以臨時為核心增加 shmmax 設定:
$su – root
#cat /proc/sys/kernel/shmmax
33554432
#echo ‘expr 1024 * 1024 * 1024’ > /proc/sys/kernel/shmmax
#cat /proc/sys/kernel/shmmax
1073741824
注意:一般情況下可以設定最大共用記憶體為實體記憶體的一半,如果實體記憶體是 2G ,則可以設定最大共用記憶體為 1073741824 ,如上;如實體記憶體是 1G ,則可以設定最大共用記憶體為 512 * 1024 * 1024 = 536870912 ;以此類推。)
建議永久地增加 shmmax 設定。只需 vi /etc/sysctl.conf, 加上kernel.shmmax=536870912(根據伺服器記憶體大小設定)即可.
五:檢查 /tmp 空間 (Checking /tmp Space)
Oracle 通用安裝程式 (the Oracle Universal Installer) 需要 400M 以上的 /tmp 臨時空間。
檢查 /tmp 臨時空間,可以運行:
df /tmp
如果沒有足夠的 /tmp 臨時空間,可以臨時在另一個檔案系統中建立一個 tmp 目錄。
su – root
mkdir //tmp
chown root.root //tmp
chmod 1777 //tmp
export TEMP=/ # used by Oracle
export TMPDIR=/ # used by Linux programs
當安裝完 Oracle 之後,關閉 Oracle 並刪除臨時目錄:
su – root
rmdir //tmp
unset TEMP
unset TMPDIR一:系統配置
關於系統的配置建議如下:
CPU pIII,(CPU頻率1G以上)賽揚系列(CPU頻率1.7G以上)。
記憶體 512M(實體記憶體至少為256,系統交換分區至少為600M,建議為1G)
Linux版本:對於9.0.0.1建議用RedHat Linux.7.1 或7.3,針對9.2.0.1建議用9.0
(本文以9.0.0.1為例)
分區: /boot :100M (至少100M,建議300M)
swap :1024M /
必須選擇安裝xwindow、kde。
以下設定是遠程安裝oracle需要設定的,本機安裝oracle,不用設定一下內容.
設定xwindow可以支援如xmanager這樣的工具遠程登陸linux。設定如下:
#vi /etc/X11/xdm/xdm-config
在最後一行: DisplayManager.requestPort: 0 前面加!號注釋掉此行。
#vi /etc/X11/xdm/Xservers
在最後一行::0 local /usr/X11R6/bin/X 前面加#號注釋掉這一行。
#vi /etc/X11/xdm/Xaccess
找到#* #any host can get a login window
把這一行前面的#號去掉,變成:
* #any host can get a login window
最後運行#xdm。這樣使用xmanager等工具就可以串連Linux了!!!
如果想要每次啟動自動啟動xdm,那麼請在/etc/rc.d/rc.local檔案尾部加入/etc/X11R6/bin/xdm
二:檢查開發包 (Checking Development Packages --RPMs)
Oracle 安裝器需要一些 RPM 開發包構建 Oracle 模組,否則將出現類似如下的錯誤:
Error in invoking target ntcontab.o of makefile
/opt/oracle/product/9.2.0/network/lib/ins_net_client.mk
1.RH 7.1, 7.2 和 RH AS 2.1 所需開發包
運行以下命令,可以查看這些開發包是否已安裝:
rpm –q gcc cpp compat-libstdc++ glibc-devel kernel-headers binutils
例如,安裝 Red Hat Advanced Server 2.1 時沒有選擇 Software Development 包,那麼大部分包沒有安裝。可以運行下面的命令安裝這些包:
su – root
rpm –ivh cpp-2.96-108.1.i386.rpm glibc-devel-2.2.4-26.i386.rpm
rpm –ivh kernel-headers-2.4.9-e.3.i386.rpm gcc-2.96-108.1.i386.rpm
rpm –ivh binutils-2.11.90.0.8-12.i386.rpm
2.RH 7.3, 8.0 和 9 所需開發包
運行以下命令,可以查看這些開發包是否已安裝:
rpm –q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils
例如,安裝 Red Hat 9 時選擇 Server 安裝類型,那麼必須運行以下命令安裝開發包:
su – root
rpm –ivh cpp-3.2.2-5.i386.rpm glibc-devel-2.3.2-5.i386.rpm
rpm –ivh glibc-kernheaders-2.4-8.10.i386.rpm gcc-3.2.2-5.i386.rpm
rpm –ivh binutils-2.13.90.0.18-9.i386.rpm
3.Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3) 所需開發包
運行以下命令,可以查看這些開發包是否已安裝:
rpm –q gcc cpp compat-libstdc++ glibc-devel glibc-headers
rpm –q glibc-kernheaders binutils
注意:在開始安裝 Oracle 9iR2 之前,請確信已經查看了 Oracle 安裝錯誤 (Oracle
Installation Errors) 一節中關於 “Error in invoking target install of make file
/opt/oracle/product/9.2.0/network/lib/ins_oemagent.mk” 的內容。
三:設定交換空間 (Setting Swap Space)
為了執行 Oracle 9i 標準安裝和建立原型 (simple prototype) 資料庫,Oracle 建議 Oracle9i (9.0.1) 伺服器至少需要 512M 記憶體,兩倍記憶體或不少於 400M 的交換 (swap) 空間。我曾經在一台 256M 記憶體和 600M 交換空間的 PC 機上成功地安裝了Oracle 9i (9.0.1& 9.2.0) 和建立了預設資料庫。但是,當我在這台 PC 機上使用較少的交換空間時,提示記憶體溢出。所以,建議使用 Oracle 安裝指南指定的記憶體和/或交換空間,或更多的記憶體和交換空間。注意:如果在安裝過程中,你沒有足夠的交換空間或記憶體,特別是在資料庫建立過程中,你的 Oracle 伺服器將變得非常遲鈍。
查看記憶體大小,可以運行下面的命令:
grep MemTotal /proc/meminfo
查看交換空間大小,可以運行下面的命令:
cat /proc/swaps
如果交換空間不夠,也可以通過建立臨時分頁檔臨時增加交換空間,代替使用原始裝置 (raw device)。
su – root
dd if=/dev/zero of=tmpswap bs=1k count=900000
chmod 600 tmpswap
mkswap tmpswap
swapon tmpswap
取消臨時交換空間,可以執行以下命令:
su – root
swapoff tmpswap
rm –rf tmpswap
四:設定共用記憶體 (Setting Shared Memory)
為了安裝 Oracle 9i (9.2.0),需要增加所有 Red Hat 版本的 Linux 伺服器的最大共用記憶體(maximum shared memeory)。否則,Oracle 資料庫配置助手 (the Oracle Database Configuration Assistant) 會顯示如下錯誤資訊:
ORA-27123: unable to attach to shared memory segment
執行下面的命令,可以臨時為核心增加 shmmax 設定:
$su – root
#cat /proc/sys/kernel/shmmax
33554432
#echo ‘expr 1024 * 1024 * 1024’ > /proc/sys/kernel/shmmax
#cat /proc/sys/kernel/shmmax
1073741824
注意:一般情況下可以設定最大共用記憶體為實體記憶體的一半,如果實體記憶體是 2G ,則可以設定最大共用記憶體為 1073741824 ,如上;如實體記憶體是 1G ,則可以設定最大共用記憶體為 512 * 1024 * 1024 = 536870912 ;以此類推。)
建議永久地增加 shmmax 設定。只需 vi /etc/sysctl.conf, 加上kernel.shmmax=536870912(根據伺服器記憶體大小設定)即可.
五:檢查 /tmp 空間 (Checking /tmp Space)
Oracle 通用安裝程式 (the Oracle Universal Installer) 需要 400M 以上的 /tmp 臨時空間。
檢查 /tmp 臨時空間,可以運行:
df /tmp
如果沒有足夠的 /tmp 臨時空間,可以臨時在另一個檔案系統中建立一個 tmp 目錄。
su – root
mkdir //tmp
chown root.root //tmp
chmod 1777 //tmp
export TEMP=/ # used by Oracle
export TMPDIR=/ # used by Linux programs
當安裝完 Oracle 之後,關閉 Oracle 並刪除臨時目錄:
su – root
rmdir //tmp
unset TEMP
unset TMPDIR
下面就可以安裝ORACLE了。。。。。。。。。