歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> Oracle11G for Linux 的安裝(RHEL5)

Oracle11G for Linux 的安裝(RHEL5)

日期:2017/3/2 16:40:36   编辑:Linux服務器

服務器配置:
至強3.0GHZ *2
4G ECC DDR內存
300G SCSI Utrl 320 15K 硬盤 *2

前提:
內存和交換空間; 詳情請看官方database\doc\install目錄文檔
Available RAM Swap Space Required
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

一、准備服務器和操作系統:
1、物理內存:4G
2、交換空間4G
3、禁用secure Linux
4、已經安裝下列包(為簡單起見,安裝RedHat AS 4時最好選擇全部安裝):
A、X Window System
B、GNOME Desktop Environment
C、Editors
D、Graphical Internet
E、Text-based Internet
F、Server Configuration Tools
G、Development Tools
H、Administration Tools
I、System Tools
二、安裝前的准備工作

1.檢查硬件
內存
# grep MemTotal /proc/meminfo
交換空間
# grep SwapTotal /proc/meminfo
磁盤空間
# df -ah
2、下載軟件
Oracle Database 10g Release 2 (10.2.0.1) Software下載位置:
http://otn.oracle.com/software/products/database/oracle10g/index.html
3、修改host文件
查看/etc/hosts文件中必須包含a fully qualified name for the server

4. 安裝軟件包檢查
1、檢查下列包是否安裝,若未安裝則要先安裝:
binutils-2.17.50.0.6-2.el5
compat-libstdc -33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
gcc-4.1.1-52
gcc-c -4.1.1-52
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.1-52
libstdc -4.1.1
libstdc -devel-4.1.1-52.e15
make-3.81-1.1
sysstat-7.0.0
unixODBC-2.2.11
unixODBC-devel-2.2.11

# rpm -qa | grep make gcc glibc compat openmotif21 setarch 等等

5.做個鏈接(老版本需求,新版本oracle11不要設置):
ln -s /usr/lib/libstdc .so.6.0.3 /usr/lib/libstdc .so.5
#檢測存在如果不做此鏈接,在安裝過程中建好數據庫,將會出現不能鏈接不上數據庫問題。

三.參數設置
1、設置核心參數
在/etc/sysctl.conf文件中加入下列行:
#kernel.core_uses_pid = 1
kernel.shmall = 2097152
kernel.shmmax = 2147483648 -- (以字節為單位,物理內存數量*1024*1024*2,為內存的2倍)
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=8388608
net.core.rmem_max=8388608
net.core.wmem_default=262144
net.core.wmem_max=262144
esc :wq!
# sysctl -p #運行下列命令改變核心參數

2、設置Shell Limits(系統資源限制),提高軟件的運行效率

a.在/etc/security/limits.conf文件中加入下列紅色行:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384

b.在/etc/pam.d/login文件中加入下列行,如果裡面沒有的話:
session required /lib/security/pam_limits.so
session required pam_limits.so
c.在/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
3.創建用戶和組及相關目錄
--創建dba/oper/oinstall組
/usr/sbin/groupadd dba
/usr/sbin/groupadd oper
/usr/sbin/groupadd oinstall
--創建oracle用戶並設置用戶所屬組
/usr/sbin/usermod -g oinstall -G dba oracle
/usr/sbin/useradd -g oinstall -G dba oracle
passwd oracle
# id oracle

uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
--創建相關安裝目錄

mkdir -p /opt/oracle/product
mkdir -p /opt/oracle/product/OraHome
mkdir -p /opt/oraInventory #(the default inventory folder)
mkdir -p /opt/oracle/oradata #(change the right file owner)
mkdir -p /var/opt/oracle

--設置目錄所有者和權限
chown -R oracle.oinstall /opt/oracle
chown -R oracle.oinstall /opt/oracle/oradata
chown -R oracle.oinstall /opt/oracle/product/OraHome
chown -R oracle.dba /opt/oraInventory
chown oracle.dba /var/opt/oracle
chmod -R 775 /opt/oracle
chmod -R 755 /var/opt/oracle

4.設置安裝環境變量
# su - oracle --su到oracle用戶下,
更改用戶的一些配置
$vi .bash_profile
添加以下參數,主要是配置oracle軟件運環境參數
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/OraHome
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export ORACLE_TERM=vt100
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH

注:
11g:ORA_NLS33=$ORACLE_HOME/nls/admin/data
10g:ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
9i:ORA_NLS33=/oracle/app/ora92/ocommon/nls/admin/data
保存退出
--執行以下命令讓配置馬上生效或以oracle用戶登錄使設置生效

$ source $HOME/.bash_profile

四.正式安裝
以root身份打開另一個終端窗口
--這步至關重要,不執行這步在以oracle用戶運行 # ./runInstaller時會啟動不了圖型安裝界面
(經本人驗證,不做這一步亦可,只需用oracle用戶的桌面來啟動安裝程序。)
xhost
xhost localhost
用oracle用戶登錄。如果用的是X模式,要把DISPLAY設置如下:
DISPLAY=:0.0; export DISPLAY
# export DISPLAY=192.168.1.170:0.0
如果遠程安裝,需要啟動cygwin
執行
# startx
方式一:
以root身份mount光驅
#mount /dev/cdrom /mnt
以oracle用戶登錄系統,進行Oracle的安裝
#su – oracle
unzip linux_x86_11gR1_database.zip
cd database/
./runInstaller
./runInstaller -ignoreSysprereqs #低版本檢測(可選)

方式二:
1、解壓命令:unzip 10201_database_linux32.zip
2、解壓後產生一個包含安裝文件的目錄database
注:,最好在根上建立一個文件夾,這個文件夾專門用來存放ORACLE的安裝文件。但是需要注意的是,在安裝ORACLE前,需要把這個文件夾的所有者修改成用戶oracle,文件夾權限最好是修改成777,以免在安裝過程中出現問題。
3、定制Oracle安裝文件及權限(可選)
chmod 777 /oracle
chown -R oracle.oinstall /oracle
mount /media/cdrom
/media/cdrom/runInstaller

安裝過程中:
在安裝過程中輸入合適的ORACLE_HOME和實例名。
完成後的畫面中會有管理端入口地址和sqlplus入口地址。

選擇高級安裝
在選擇安裝類型中,選擇定制
安裝過程中需要以root身份運行
#/oracle/oraInventory/orainstRoot.sh
/opt/oracle/product/OraHome/root.sh
安裝完畢後。

五.啟動腳本生成和設置:
1.補充:
開機時讓 RedHat Linux 自動啟動Oracle,需要完成以下步驟:
運行 $ORACLE_HOME 下的 root.sh,會生成一個文件 /etc/oratab 。
編輯 /etc/oratab ,把所有的 instance 的重啟動標志設置成 'Y',如:
ora10g:/home/oracle/OraHome_1:Y
做一個啟動腳本 /etc/init.d/dbora ,如下所示:
#!/bin/sh
# description: Oracle auto start-stop script.
# chkconfig: - 20 80

#
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.
ORA_HOME=/home/oracle/OraHome_1
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "{GetProperty(Content)}" in
'start')
# Start the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
;;
'stop')
# Stop the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
su - $ORA_OWNER -c $ORA_HOME/bin/dbshut
;;
'restart')
{GetProperty(Content)} stop
{GetProperty(Content)} start
;;
esac
賦予執行權限
chown root.root /etc/rc.d/init.d/dbora
chmod 750 /etc/init.d/dbora

Initialize new service:
chkconfig dbora reset
chkconfig --list dbora
dbora 0:off 1:off 2:off 3:on 4:off 5:on 6:off

注意:當系統不在 runlevels 3 and 5時,使用
service dbora start 啟動服務
service dbora stop 停止服務.
作成以下鏈接:
ln -s /etc/init.d/dbora /etc/rc0.d/K10dbora
ln -s /etc/init.d/dbora /etc/rc3.d/S99dbora
執行以下命令:
chkconfig --level 345 dbora on

2.vi $ORACLE_HOME/bin/dbstart
# Set this to bring up Oracle Net Listener
ORACLE_HOME_LISTNER=$ORACLE_HOME
如果沒有ASM(自動存儲),就把那一節內容刪除,ASM要在加載實例前,先加載.
3.重新啟動計算機 ,就可以了,啟動會比較慢,因為要自動啟動em,database,listener,agent
這樣就OK了。下次開關機的時候,Oracle也會隨之啟動/停止

Copyright © Linux教程網 All Rights Reserved