RHEL5 上安裝Oracle 10g的文件

lurou發表於2011-07-01

ps:主要內容為kingdomchu這位朋友寫的,我做了部分內容新增,末尾有一份簡潔乾淨的版本。

[@more@]安裝redhat5時,最好使用記憶體大於1G的機器,要獨立分配磁碟給SWAP,空間大小參照如下:
Between 1024 MB and 2048 MB 1.5 times the size of RAM
Between 2049 MB and 8192 MB Equal to the size of RAM
More than 8192 MB 0.75 times the size of RAM


oracle分64位和32位 因此 你的機器,rehat as5,oracle 應同樣是64位 或32位


RHEL5 安裝oracle10所應該注意的:
1 .由於orcale10不支援 RHEL5 所以需要修改/etc/redhat_realease 將 Red Hat EnterpriseLinuxServer release 5 (Tikanga) 改為Red Hat Enterprise Linux Server release 4 (Tikanga)
2 .修改/etc/hosts 檔案將127.0.0.1改為你的ip 否則網路檢查通不過
3 .依次安裝下面的包 libXp-1.0.0-8.i386.rpm openmotif22-2.2.3-18.i386.rpm compat-db-4.2.52-5.1.i386.rpm compat-gcc-34-3.4.6-4.i386.rpm compat-gcc-34-c++-3.4.6-4.i386.rpm compat-libstdc++-33-3.2.3-61.i386.rpm libaio-0.3.106-3.2.i386.rpm
4 .因為中文有亂碼所以設定用英文安裝 export LC_ALL=en_US
5 .在安裝過程中選擇高階安裝,並將資料庫語言選中文 字符集選GBK的。

一、安裝系統
首先安裝Linux系統,根據Oracle官方文件的建議,在機器記憶體小於1G的情況下,swap分割槽大小設定參照前面內容。
在系統安裝的過程中,一定選擇安裝所有開發包,建議不要安裝SELinux或者安裝後在系統中禁止SELinux執行,否則會出現一些莫名其妙的問題。
為防止Oracle安裝過程中出現亂碼,建議使用英文作為系統語言,進行Oracle的安裝工作

二、安裝Oracle前的系統準備工作
1.檢查需要的軟體包
可以使用rpm -qa|grep 軟體包關鍵詞命令進行檢測,一般情況下會需要手動安裝如下的軟體包:
From RedHat AS5 Disk 1(32 Bit)
# rpm -Uvh setarch-2*
# rpm -Uvh make-3*
# rpm -Uvh glibc-2*
# rpm -Uvh libaio-0*
From RedHat AS5 Disk 2(32 Bit)
# rpm -Uvh compat-libstdc++-33-3*
# rpm -Uvh compat-gcc-34-3*
# rpm -Uvh compat-gcc-34-c++-3*
# rpm -Uvh gcc-4*
# rpm -Uvh libXp-1*
From RedHat AS5 Disk 3(32 Bit)
# rpm -Uvh openmotif-2*
# rpm -Uvh compat-db-4*
如果使用DVD安裝介質的話,會很方便。

2.修改Linux發行版本資訊
由於Oracle 10g發行的時候,RedHat Enterprise Linux 5沒有發行,所以Oracle 10g並沒有對RedHat Enterprise Linux 5確認支援,我們有兩種方法可以讓Oracle 10g支援RedHat Enterprise Linux 5。
方法一:
我們需要手工修改Linux的發行註記,讓Oracle 10g支援RedHat Enterprise Linux 5。
編輯/etc/redhat-release檔案
# vi /etc/redhat-release
將其中的內容Red Hat Enterprise Linux Server release 5 (Tikanga)修改為Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
方法二:
還有文章說修改Oracle安裝包中install/oraparam.ini檔案的內容,也可以讓Oracle 10g支援RedHat Enterprise Linux 5,修改方法如下:
# vi install/oraparam.ini
在其中的Certified Versions段落增加redhat-5
#[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]
再新增
[Linux-redhat-5.0-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256
經我測試,發現方法二在安裝之前的系統檢測過程可以透過,但是在安裝過程中的系統支援檢測無法透過,不知道是不是我設定的有問題,希望有高手可以給我點提示。

3.修改系統核心引數
# vi /etc/sysctl.conf
kernel.shmall = 2097152 // 該參數列示系統一次可以使用的共享記憶體總量(以頁為單位)。預設值就是2097152,通常不需要修改kernel.shmmax = 2147483648 // 該引數定義了共享記憶體段的最大尺寸(以位元組為單位)。預設為32M,對於oracle來說,該預設值太低了,通常將其設定為2G
kernel.shmmni = 4096 // 這個核心引數用於設定系統範圍內共享記憶體段的最大數量。該引數的預設值是 4096 。通常不需要更改
kernel.sem = 250 32000 100 128 // 表示設定的訊號量
fs.file-max = 65536 // 表示檔案控制程式碼的最大數量。檔案控制程式碼設定表示在linux系統中可以開啟的檔案數量
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144 // 預設的接收視窗大小
net.core.rmem_max=262144 // 接收視窗的最大大小
net.core.wmem_default=262144 // 預設的傳送視窗大小
net.core.wmem_max=262144 // 傳送視窗的最大大小
修改好核心引數後,執行如下命令使新的設定生效
# /sbin/sysctl -p

4.建立Oracle使用者、組、安裝目錄
在這裡我只討論單主機環境,不考慮RAC環境的配置,在以後我會專門寫一篇如何配置Oracle RAC環境的文章。
(1) 建立Oracle使用者組
# groupadd oinstall
# groupadd dba
(2) 建立Oracle使用者
# useradd -m -g oinstall -G dba oracle
(3) 設定Oracle使用者口令
# passwd oracle
(4) 建立Oracle安裝目錄以及資料存放目錄
# mkdir -p /DBSoftware/app/oracle
# mkdir -p /DBData/oradata
(5) 修改目錄許可權
# chown -R oracle:oinstall /DBSoftware/app/oracle/ /DBData/oradata/
# chmod -R 755 /DBSoftware/app/oracle/ /DBData/oradata/

5.新增以下內容到/etc/security/limits.conf
# vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
6.新增以下內容到/etc/pam.d/login
# vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
7.新增以下內容到/etc/profile
# vi /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi

8.配置Linux主機
檢查/etc/hosts檔案中是否有localhost的記錄(指向127.0.0.1即可),若沒有的話,在後面配置Oracle監聽的時候會出現一些問題,導致無法啟動監聽,在此手工新增此記錄即可。
9.配置oracle使用者環境變數
# su - oracle
$ vi ~/.bash_profile
增加如下內容:
export ORACLE_BASE=/DBSoftware/app/oracle // 上面建立的Oracle安裝資料夾
export ORACLE_SID=orcl
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBARY_PATH=$ORACLE_HOME/lib
export PATH
umask 022
儲存後使用如下命令,使設定生效:
$ source ~/.bash_profile

三、安裝Oracle,並進行相關設定
1.解壓縮安裝檔案
Oracle的安裝包有這樣幾種格式:
(1) zip
這種格式最好解壓縮,直接使用命令unzip 檔名即可
(2) cpio.gz
這種格式有這樣幾種解壓縮方式
a. # zcat XXXX.cpio.gz | cpio -idmv
b. # gunzip XXXX.cpio.gz解壓出XXXX.cpio檔案然後再 # cpio -idvm < XXXX.cpio
解壓縮完成後,設定oracle帳戶可以操作安裝檔案所在的目錄
chown -R oracle:oinstall 安裝檔案所在目錄
2. 用oracle帳戶進入安裝檔案所在目錄,執行如下命令即可看到安裝介面:
$ ./runInstaller
如果無法看到安裝介面,請使用root帳戶執行如下命令後再執行安裝程式:
# export DISPLAY=:0.0
# xhost +
$ ./runInstaller
出現安裝介面後,根據介面提示進行相關的設定,我的建議是在安裝過程中不建立資料庫,只安裝程式,監聽和建立資料庫等安裝完成後再進行相關的操作。

安裝過程中,需要使用root許可權執行兩個指令碼。

3. 安裝完成後,將/etc/redhat-release檔案中的內容修改回Red Hat Enterprise Linux Server release 5 (Tikanga)
4.建立監聽以及建立資料庫
(1) 建立監聽程式
使用Oracle提供的NET CONFIGURATION ASSISTANT建立TNS監聽
$ netca
基本上就是一直Next就可以了,當然你也可以在這期間修改TNS的監聽埠號
TNS監聽建立完成後可以使用如下命令進行檢查:
# netstat -atln 檢查監聽埠是否開啟
$ lsnrctl status 檢查TNS監聽狀態
確認監聽已經成功啟動後,即可執行Database Configure Assistant進行資料庫的建立,執行命令如下:
$ dbca
在建立資料庫的過程中,建議將資料庫的字符集設定為Unicode UTF-8,防止出現亂碼。

四、資料庫的啟動指令碼
# vi /etc/rc.d/init.d/oracle
================================ Script. File Start ================================
#!/bin/bash
#
# chkconfig: 35 95 1
# description: init script. to start/stop oracle database 10g, TNS listener, EMS
# match these values to your environment:
export ORACLE_BASE=/DBSoftware/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=/u01/app/oracle/bin:$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl
export ORACLE_USER=oracle
# see how we are called:
case $1 in
start)
su - "$ORACLE_USER"<<EOO
lsnrctl start
sqlplus /nolog<<EOS
connect / as sysdba
startup
EOS
emctl start dbconsole
EOO
touch /var/lock/subsys/$scriptname
;;
stop)
su - "$ORACLE_USER"<<EOO
lsnrctl stop
sqlplus /nolog<<EOS
connect / as sysdba
shutdown immediate
EOS
emctl stop dbconsole
EOO
rm -f /var/lock/subsys/scriptname
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac
================================ Script. File End ================================
授權 :chown root.root /etc/rc.d/init.d/oracle
修改檔案屬性:chmod 755 /etc/rc.d/init.d/oracle
以後啟動/關閉Oracle可以使用如下命令操作:
# service oracle start // 啟動監聽、資料庫以及em
# service oracle stop // 關閉監聽、資料庫以及em
當然你也可以把Oracle作為系統服務,隨系統啟動等等

[安裝過程需要用到的命令總結版]
*************************************************************************
cat /etc/issue
uname -r
grep "model name" /proc/cpuinfo
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
free
df-k /tmp
df -k
df-h

rpm -q gcc make binutils openmotif search compat-db compat-gcc compat-gcc-c++ compat-libstdc++

mount -t auto /dev/cdrom /mnt
copy

/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle
passwd oracle

mkdir -p /u01/app/oracle
mkdir -p /u02/oradata
chown -R oracle:oinstall /u01/app/oracle /u02/oradata
chmod -R 755 /u01/app/oracle /u02/oradata

vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmnni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
/sbin/sysctl -p

vi /u01/app/oracle/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=oracle1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:/sbin
source .bash_profile

mount -t auto /dev/cdrom /mnt
cd /opt/database (where runInstaller is!)
./runInstaller

advanced--&gtenterprised Edition --&gtinstall database soft only--&gtInstall--&gt/u01/app/oracle/product/10.2.0/db_1/root.sh--&gt

copy The following J2EE Applications have been deployed and are accessible at the URLs listed below.

iSQL*Plus URL:

iSQL*Plus DBA URL:

---&gtdbca --&gt xiugai neicun,yuyan zhichi
---&gtnetca

--&gtlsnrctl stop --&gtlsnrctl start
--&gtemctl stop dbconsole--&gtemctl start dbconsole
--&gthttp://192.168.1.2:1158/em
user: sys
pwd: oracle
con as: sysdba

--&gtisqlplusctl stop
--&gtisqlplusctl start

http://192.168.1.2:5560/isqlplus
user: system
pwd: oracle
sid: oracle1

sqlplus --&gt / as sysdba--&gt startup--&gt exit
sqlplus --&gt / as sysdba--&gt shutdown immediate --&gtexit

***************************************************************************

uninstall oracle db:

su - oracle --&gt dbca --&gtdel database

cd $ORACLE_HOME/bin--&gtemctl stop dbconsole --&gtlsnrctl stop
--&gtisqlplusctl stop --&gtsearchctl stop
cd $ORACLE_HOME/oui/bin --&gt./runInstaller --&gtDeinstall Products

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26006637/viewspace-1051847/,如需轉載,請註明出處,否則將追究法律責任。

相關文章