在linux下安裝0racle 10g的艱難之旅
2024-07-21 02:33:05
供稿:網(wǎng)友
在linux下安裝Oracle是一件令人生畏的事情,其復(fù)雜程度遠遠超過安裝linux操作系統(tǒng)本身。假如能夠進行成功的安裝oracle,那么同時也就順便把握了linux一些技術(shù)。本文介紹在redhat linux 下安裝oracle 10g 的方法。 在這里說明一,Oracle 10g的g是grid 的縮寫,意為網(wǎng)格,目前較為前沿的網(wǎng)絡(luò)計算技術(shù)。 Oracle 10g 對軟硬件的要求都非常的高,所以要玩轉(zhuǎn)的話的花不少銀子。首先來看看它對硬件的要求:內(nèi)存512兆(建議1G),cpu 主頻2.0G以上,硬盤轉(zhuǎn)速7200轉(zhuǎn)以上(建議使用scsi硬盤),依此條件,我看買臺服務(wù)器才行。其次是軟件要求:在oracle 官方的文檔里,對于x86系列支持的操作系統(tǒng)只有3種(radhat ES/AS 2.1(x86),redhat ES/AS 3(x86),unitedlinux1.0(x86) ),假如只有redhat 9也是可以安裝的,不過要麻煩一點點。當(dāng)然oracle 10g需要更多的軟件模塊才能進行安裝,這些軟件模塊我將在后面逐一說明。在本例中,使用RedHat ES 3(x86)作為操作平臺,并且安裝了xwindow。 接下來,我們檢查是否符合oracle 10g 的安裝要求,以表格的形式列出。首先是硬件情況。以root登錄系統(tǒng),并且啟動x-window.假如用下表命令輸出的值大于或等于建議值,請檢查項目 命令/方法 建議值 內(nèi)存 #grep MemTotal /PRoc/meminfo 512MB 交換分區(qū) #grep SwapTotal /proc/meminfo 1GB /tmp目錄空閑區(qū) #df –k /tmp 400MB 硬盤空閑空間 #df -k 4GB 繼續(xù)往下,檢查軟件需求。對redhat ES 3(x86),需要如下的軟件包: • Gnu gcc package, gcc-3.2.3-2 or 更高 下面的包也必須被安裝: ·make-3.79 ·binutils-2.11 ·openmotif-2.2.2-16 ·setarch-1.3-1 ·compat-db-4.0.14.5 ·compat-gcc-7.3-2.96.122 ·compat-gcc-c++-7.3-2.96.122 ·compat-libstdc++-7.3-2.96.122 ·compat-libstdc++-devel-7.3-2.96.122 為了保證系統(tǒng)滿足需求,執(zhí)行下面的步驟檢查安裝的linux版本和安裝的套件。 檢查項目 命令/方法 建議值 Linux 版本 #cat /etc/issue ES 3 已安裝的包 #rpm -q package_name 安裝所需包(上表所列) 到這里我們已經(jīng)全面的檢查了安裝oracle 10g所要求的軟硬件環(huán)境,接著我們就要為安裝創(chuàng)建組和用戶。 下面的組和用戶必須存在 The oinstall group (the oracle inventory group)The dba group (the OSDBA group) The oracle user (the oracle owner) 假如上面的組和用戶不存在,用下面的步驟創(chuàng)建它們。 (1)先查看這些組和用戶是否存在: #grep oinstall /etc/group #grep dba /etc/group (2)創(chuàng)建安裝oracle 所需的組和用戶 #groupadd oinstall #groupadd dba #useradd –g oinstall –G dba oracle 檢查一下oracle 是否屬于組 oinstall 和 dba (#id oracle) 再給oracle 設(shè)置一個用戶口令 #passwd oracle 輸入兩次密碼。 創(chuàng)建安裝所需的目錄 /u01/app/oracle (the oracle base Directory), /u02/oradata (an optional default directory ),用下表的命令形式創(chuàng)建它.然后改變它的目錄權(quán)限。
創(chuàng)建目錄 更改權(quán)限 #mkdir –p /u01/app/oracle #chown –R oracle:Oinstall /u01/app/oracle /u02/oradata #mkdir –p /u02/oradata #chmod –R 755 /u01/app/oracle /u02/oradata 配置內(nèi)核參數(shù),下表是oracle 推薦的內(nèi)核參數(shù)值,請參考。 Parameter Value Filesemmslsemmnssemopmsemmni 25032000100128 /proc/sys/kernel/semshmall 2097152 /proc/sys/kernel/shmallshmmax Half the size of physical memory /proc/sys/kernel/shmmaxshmmni 4096 /proc/sys/kernel/shmmnifile-max 65536 /proc/sys/fs/file-max ip_local_port_range 1024 65000 /proc/sys/net/ipv4/ip_local_port_range 確保當(dāng)前的參數(shù)值大于或等于上表所列。那么怎樣查看這些參數(shù)值呢?用命令 #/sbin/sysctl –a grep <參數(shù)名>,例如查看semmsl,用 #/sbin/sysctl -a grep sem,余下的與此類似。逐個察看這些參數(shù)值,假如參數(shù)值不滿足要求,就需要修改它們。請完成下面這些步驟 a.用文本編輯器,創(chuàng)建或者編輯/etc/sysctl.conf文件,添加或修改如下的行
kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096kernel.sem = 250 32000 100 128fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 b.改變當(dāng)前內(nèi)核參數(shù)的值,用命令 #/sbin/sysctl –p 來實現(xiàn)。 為了提高在linux系統(tǒng)上運行軟件的性能,必須對oracle用戶設(shè)置下列shell 限定。 Shell Limit Item in limits.conf Hard LimitMaximum number of open file descriptors nofile 65536 Maximum number of processes available to a single user nproc 16384 現(xiàn)在創(chuàng)建這些限定: 1.加入下面的行到文件/etc/security/limits.conf * soft nproc 2047* hard nproc 16384* soft nofile 1024 * hard nofile 65536 2. 加入下面的行到文件/etc/pam.d/login ,假如它不存在的話 session required /lib/security/pam_limits.so 3.根據(jù)oracle 用戶的默認shell,對默認 shell start-up文件作如下改變,假如是Bourne, Bash, or Korn shell,修改環(huán)境變量/etc/profile文件如下: if [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fifi假如是c shell,則環(huán)境變量文件 /etc/csh.login的修改值如下:if ( $USER == "oracle" ) thenlimit maXProc 16384limit descriptors 65536 endif 接下來掛接光盤,#mount /dev/cdrom /mnt/cdrom 。 以oracle 用戶名登錄系統(tǒng),配置oracle 用戶的環(huán)境。以oracle 帳號用安裝器來安裝oracle,但是開始運行安裝器之前,還得設(shè)定oracle用戶的環(huán)境變量,因此必須: ●設(shè)置shell startup文件的umask 為022 ●設(shè)置DISPLAY, ORACLE_BASE, and ORACLE_SID 的環(huán)境變量。下面這些步驟是對這些環(huán)境變量進行設(shè)置的方法: 1、開啟一個終端會話 2、確認xwindow 能正常顯示。#xhost + 3、改變用戶為oracle. $ su – oracle 4、檢查oracle用戶的默認shell. $echo $SHELL
5、用文本編輯器修改oracle用戶的環(huán)境變量 ●bash shell on redhat $vi .bash_profile ●c shell %vi .login 6、把下面的行插入上面編輯的文件中 umask 022 7、保存文件并退出 8、運行shell開始腳本: ●Bash shell on Red Hat $ . ./.profile ●C shell % source ./.login 9、設(shè)置環(huán)境變量 ●Bash shell $ ORACLE_BASE=/u01/app/oracle $ ORACLE_SID=sales $ export ORACLE_BASE ORACLE_SID ●c shell % setenv ORACLE_BASE /u01/app/oracle % setenv ORACLE_SID sales 10、確認ORACLE_HOME and TNS_ADMIN 的環(huán)境變量不被用戶設(shè)置 ●Bash shell $ unset ORACLE_HOME $ unset TNS_ADMIN ●c shell % unsetenv ORACLE_HOME % unsetenv TNS_ADMIN 11、再檢驗一下上面設(shè)定的環(huán)境變量是否正確。 $ umask $ env more 進入安裝器(runInstaller)所在的目錄 $ cd /tmp 運行安裝 $ /mnt/cdrom/runInstaller ,依照提示完成整個安裝。