程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> redhat as5 安裝oracle 10g 並自啟動詳細安裝過程

redhat as5 安裝oracle 10g 並自啟動詳細安裝過程

編輯:Oracle數據庫基礎

系統組件

GNOME Desktop Environment
Editors
Graphical Internet
Text-based Internet
Development LibrarIEs
Development Tools
Legacy Software Development
Server Configuration Tools
Administration Tools
Base
Legacy Software Support
System Tools
X Window System

硬件要求
1.1 內存至少512M,使用下面的命令檢查
      grep MemTotal /proc/meminfo
1.2 交換分區 至少1G
    grep SwapTotal /proc/meminfo
   1.3 /tmp 目錄空閒區 至少400M
    df -k /tmp 400M
1.4 硬盤空閒區 至少4G
    df -k
2. 由於orcale10不支持 RHEL5 所以需要修改/etc/redhat-release 將 Red Hat Enterprise Linux

Server release 5 (Tikanga) 改為Red Hat Enterprise Linux Server release 4 (Tikanga)
3. 修改/etc/hosts 文件將127.0.0.1改為你的ip 否則網絡檢查通不過
4. 依次安裝下面的包

   rpm -q libXp openmotif compat libaio ---檢查是否有安裝

rpm –ivh libXp-1.0.0-8.i386.rpm

   …

引用:

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
5. 以root的身份完成下面的工作:

修改內核參數

增加下面的內容到文件 /etc/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
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144

附加說明:

編輯文件 /etc/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 # 應用程序可使用的IPv4端口范圍。
net.core.rmem_default = 1048576 # 套接字接收緩沖區大小的缺省值
net.core.rmem_max = 1048576 # 套接字接收緩沖區大小的最大值
net.core.wmem_default = 262144 # 套接字發送緩沖區大小的缺省值
net.core.wmem_max = 262144 # 套接字發送緩沖區大小的最大值

注:內核參數並非必須修改,可以根據自己實際情況而定。

運行下面的命令使得內核參數生效:

引用:

/sbin/sysctl –p

然後,應該檢查一下上面的操作是否正確:

# /sbin/sysctl -a | grep sem
# /sbin/sysctl -a | grep shm
# /sbin/sysctl -a | grep file-max
# /sbin/sysctl -a | grep ip_local_port_range

6.增加下面的內容到文件 /etc/security/limits.conf 文件中:

* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536

7.增加下面的內容到文件 /etc/pam.d/login 中

session required /lib/security/pam_limits.so
session required pam_limits.so

8.因為SELinux對Oracle有影響,所以把secure linux設成無效,編輯文件 /etc/seLinux/config :

引用:

SELinux=disabled

9.防火牆對與web manager 的 em有影響,建議也關了。

10.新增組和用戶:

引用:

groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba Oracle
passwd Oracle

創建Oracle的安裝目錄,並把權限付給Oracle用戶:

引用:

mkdir -p /u01/app/Oracle/product/10.2.0/db_1
chown -R Oracle.oinstall /u01

11.登錄到Oracle 用戶並且配置環境變量(增加下面的內容到文件 .bash_profile
# Oracle Settings

引用:

ORACLE_BASE=/u01/app/oracle; export Oracle_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export Oracle_HOME
ORACLE_SID=orcl; export Oracle_SID
PATH=$PATH: $Oracle_HOME/bin ; export PATH
LD_LIBRARY_PATH=$Oracle_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$Oracle_HOME/rdbms/jlib; export CLASSPATH
export LC_ALL=en_US

配置好後用 source .bash_profile 命令使配置生效

12.之後就可以安裝了
選擇高級安裝,語言選擇english和simple chinese
字符集選擇ZHS16GBK 之後一路默認安裝就可以

13.用root執行兩條腳本文件

14.安裝完後,控制網址是(你的機器名):1158/em
isql*plus url http://comLinux:5560/isqlplus
isql*plus dba url http://comLinux:5560/isqlplus/dba

15. 修改$ORACLE_HOME/bin/dbstart文件 ORACLE_HOME_LISTNER=$Oracle_HOME
16.修改/etc/oratab文件
為orcl:/u01/app/Oracle/product/10.2.0/db_1:Y

這時 就可以通過Oracle用戶 命令dbstart dbshut打開和關閉數據庫

17.rc.local自啟動
修改etc/rc.local

ORACLE_BASE=/u01/app/oracle; export Oracle_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export Oracle_HOME
ORACLE_SID=orcl; export Oracle_SID
PATH=$PATH: $Oracle_HOME/bin ; export PATH
LD_LIBRARY_PATH=$Oracle_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$Oracle_HOME/rdbms/jlib; export CLASSPATH
export LC_ALL=en_US

su - oracle -c "$Oracle_HOME/bin/dbstart"
su - oracle -c "$Oracle_HOME/bin/emctl start dbconsole"
su - oracle -c "$Oracle_HOME/bin/isqlplusctl start"

這裡/u01/product/10.2.0/db_1需要替換成實際的Oracle_HOME

保存並退出後,reboot服務器測試一下,可以看到,當系統啟動以後Oracle監聽、實例和em都已經起來了

18.以守護進程的方式啟動
如果我們不用rc.local,也可以加到redhat服務中。在/etc/rc.d/init.d中添加如下腳本文件,命名為

Oracle:修改完後記著賦予執行權限。

#!/bin/sh
#chkconfig: 2345 99 01
#description: Oracle 10g Server

ORACLE_BASE=/u01/app/oracle; export Oracle_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export Oracle_HOME
ORACLE_SID=orcl; export Oracle_SID
PATH=$PATH: $Oracle_HOME/bin ; export PATH
LD_LIBRARY_PATH=$Oracle_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$Oracle_HOME/rdbms/jlib; export CLASSPATH

if [ ! -f $Oracle_HOME/bin/dbstart ]
then
echo "Oracle cannot start"
exit
fi

case "$1" in
'start')
echo "Starting Oracle Database..."
su - oracle -c "$Oracle_HOME/bin/dbstart"
su - oracle -c "$Oracle_HOME/bin/emctl start dbconsole"
su - oracle -c "$Oracle_HOME/bin/isqlplusctl start" 'stop')
echo "Stoping Oracle Database"
su - oracle -c "$Oracle_HOME/bin/emctl stop dbconsole"
su - oracle -c "$Oracle_HOME/bin/isqlplusctl stop"
su - oracle -c "$Oracle_HOME/bin/dbshut" esac

一定要有這兩句話

#chkconfig: 2345 99 01
#description: Oracle 10g Server

然後建鏈接

其中chkconfig:2345 99 01 是指腳本將為運行級2、3、4、5啟動Oracle 10g服務,啟動優先級為99,關閉優先級為01。然後以root權限:

# cd /etc/rc2.d
# ln -s /etc/rc.d/init.d/oracle S99Oracle

# chkconfig --list Oracle
# chkconfig --Oracle on

重啟系統,就可以在啟動的過程中看到 Starting Oracle,因為我們設置的優先級為99,一般是最後啟動。[OK]以後就可以了。因為要啟動emctl,可能有點慢,等待的時間要稍微長一點。啟動以後可以以root執行service oracle start或者service Oracle stop來啟動或停止服務。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved