Linux (RHEL 5.4)下安裝 Oracle 10g R2

beatony發表於2011-07-29
Linux (RHEL 5.4)下安裝 Oracle 10g R2
分類: Oracle 安裝解除安裝 2200人閱讀 評論(0) 舉報

如轉載,請註明出處:http://blog.csdn.net/robinson_0612/archive/2010/03/30/5431428.aspx
    
     雖然 Oracle 10g Database Release 2 已經推出幾年了,但這個版本仍然為很多初學者學習的版本,下面詳細講述了安裝 Oracle 10g 的步驟。

一、 linux 的版本選用

    目前 linux(RHEL) 使用的主要版本為 5.4 版,可以到下面的地址下載其安裝檔案。   
    RHEL5.4 下載  

二、關於 linux 的安裝

    很多初學者使用的是 XP 系統上的虛擬機器來安裝 Linux ,因此本文也是在虛擬機器上安裝 Linux 然後再安裝 Oracle 10g.
至於虛擬機器可以使用 VMware 6.5 Workstation 版,這個可以到百度 ,Google 找一下,比較多。安裝了 linux 時,我們需要特殊的配置一下 Oracle 的安裝環境,關於這個配置 Oracle 安裝環境,請參考: VmWare6.5.2下安裝 RHEL 5.4(配置 Oracle安裝環境)

三、安裝 Oracle 前的環境檢查

    1. 下載 Oracle 10g R2
       Oracle 10g for Linux  
    2. 檢視 Linux 核心引數,有點多餘,作為初學者,還是可以練習一下。請確保高於 2.6.9 -5.0.5.EL 以上核心      
       強烈建議大家安裝 SecureCRT 或 VNC 工具,這樣不必來回在 XP 和 Linux 下切換。
       uname –r
      
       [root@localhost ~]# uname -r
       2.6.18 -164.el5xen

    3. 檢視 CPU 、記憶體、 Swap 及磁碟可用空間
       記憶體:至少 1GB ,下圖中我的記憶體僅 900MB
       Swap :一般為可用實體記憶體的 2 倍,比如設定為 2GB
       /Temp 分割槽:至少 400MB
       Oracle 安裝目錄所在的分割槽:至少 4GB

       [root@localhost ~]# free -m
      
                    total       used       free     shared    buffers     cached
       Mem:           900        568        331          0         56        356
       -/+ buffers/cache:        154        745
       Swap:         2251          0       2251
      
       [root@localhost ~]# df -h
      
       Filesystem            Size  Used Avail Use% Mounted on
       /dev/sda2             6.4G  3.8G  2.3G  63% /
       /dev/sdd1             6.8G  144M  6.3G   3% /u01
       /dev/sdc2             1.2G   34M  1.1G   3% /home
       /dev/sdc1             760M   17M  704M   3% /tmp
       /dev/sda1             456M   18M  415M   5% /boot
       tmpfs                    450M     0  450M   0% /dev/shm
       none                     450M   104K  450M   1% /var/lib/xenstored
       /dev/hdc               2.8G  2.8G     0 100% /media/RHEL_5.4 i386 DVD

四、配置安裝環境

    1. 安裝補丁包
       關於確認補丁包的是否已安裝,可以使用下述方式來檢視
       rpm -q gcc make binutils openmotif setarch compat-db compat-gcc /
       compat-gcc-c compat-libstdc compat-libstdc -devel

       關於rpm工具的使用,請參照:RPM使用簡介
       我提供的下載地址中 RHEL 5.4 為 ISO 檔案,我們可以將其掛載到某一個目錄來安裝補丁。
       使用 root 帳戶建立一個掛載目錄
       mkdir /mnt/cdrom
       mount /dev/cdrom /mnt/cdrom


       安裝以下所需的包
       cd /mnt/cdrom/Server
       rpm -Uvh setarch-2*
       rpm -Uvh make-3*
       rpm -Uvh glibc-2*
       rpm -Uvh libaio-0*
       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*
       rpm -Uvh openmotif-2*
       rpm -Uvh compat-db-4*

    2. 主機及網路設定
       如果將該機作為伺服器,建議使用固定的 IP ,測試環境可以使用動態 IP

       vim /etc/sysconfig/network
      
       NETWORKING=yes
       NETWORKING_IPV6=no
       HOSTNAME=robinson.com
      
       vim /etc/sysconfig/network-scripts/ifcfg-eth0

       以下內容使用動態 IP ,則不需要更改
       # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
       DEVICE=eth0
       BOOTPROTO=dhcp
       HWADDR=00:0C:29:59:52:BB
       NBOOT=yes
      
       vim /etc/hosts
      
       # Do not remove the following line, or various programs
       # that require network functionality will fail.
       127.0.0.1               localhost.localdomain localhost
       ::1                       localhost6.localdomain6 localhost6
       192.168.1.101          robinson.com robinson

    3. 設定核心引數
       在 sysctl.conf 檔案末尾新增如下行
       vim /etc/sysctl.conf
      
       kernel.shmall = 2097152
       kernel.shmmax = 2147483648
       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=262144
       net.core.rmem_max=262144
       net.core.wmem_default=262144
       net.core.wmem_max=262144

       執行下面的命令使設定生效: /sbin/sysctl –p

       在 limit.conf 檔案末尾新增如下行
       vim /etc/security/limits.conf
      
       * soft nproc 2047
       * hard nproc 16384
       * soft nofile 1024
       * hard nofile 65536

       在 login 檔案末尾新增如下行
       vim /etc/pam.d/login
       
       session    required     pam_limits.so
      
       修改 config 檔案,使得 SELINUX =disabled
       vim /etc/selinux/config
      
       SELINUX =disabled

    4. 建立帳戶及安裝目錄
       groupadd oinstall
       groupadd dba
       groupadd oper
       useradd -g oinstall -G dba oracle
       passwd oracle
       id oracle

       建立成功後如下 :
       [root@localhost ~]# id oracle
       uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)
       mkdir -p /u01/app/oracle/
       chown -R oracle:oinstall /u01/app/oracle
       chmod -R 775 /u01/app/oracle


    5. 為 oracle 帳戶建立環境變數
       su – oracle
       vim ~/.bash_profile

      
       export ORACLE_BASE=/u01/app/oracle;
       export ORACLE_HOME=$ORACLE_BASE/10g
       export ORACLE_SID=orcl
       PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
       export PATH
       export LANG=en
 
    6. 修改 linux 的版本號(因該版本為 5.4 ,為避免檢查無法透過,修改版本號)
       [root@robinson ~]# cat /etc/issue
      
       Red Hat Enterprise Linux Server release 5.4 (Tikanga)
       Kernel /r on an /m
       使用 vim 修改版本號
       vim /etc/issue 
       
       [root@robinson ~]# cat /etc/issue
       Red Hat Enterprise Linux Server release 4.4 (Tikanga)
       Kernel /r on an /m

     7. 執行完上述步驟後建議重新啟動 Linux
    
     8. 使用 root 執行 hostx +
       [root@robinson ~]# xhost +
       access control disabled,clients can connect from any host

     9. 如果 oracle 10g 安裝檔案已下載到 linux 系統中,則使用 unzip 10201_database_linux32.zip 解壓到指定資料夾。
本人的安裝檔案在 windows 系統中,故將其轉換成了 ISO 檔案,並將其載入到光碟機。
      [root@robinson ~]#mount /dev/cdrom /mnt/cdrom
      [oracle@robinson ~]/mnt/cdrom/runInstaller


五、執行安裝

       安裝結束前執行兩個指令碼:
       [root@robinson ~]# /u01/app/oracle/oraInventory/orainstRoot.sh
      
       Changing permissions of /u01/app/oracle/oraInventory to 770.
       Changing groupname of /u01/app/oracle/oraInventory to oinstall.
       The execution of the script. is complete
      
       [root@robinson ~]# /u01/app/oracle/10g/root.sh
       Running Oracle10 root.sh script...
       The following environment variables are set as:
           ORACLE_OWNER= oracle
           ORACLE_HOME=  /u01/app/oracle/10g
       Enter the full pathname of the local bin directory: [/usr/local/bin]:
          Copying dbhome to /usr/local/bin ...
          Copying oraenv to /usr/local/bin ...
          Copying coraenv to /usr/local/bin ...
       Creating /etc/oratab file...
       Entries will be added to the /etc/oratab file as needed by
       Database Configuration Assistant when a database is created
       Finished running generic part of root.sh script.
       Now product-specific root actions will be performed.

六、其它

    1.有些操作沒有註明,比如建立使用者或組,是在root使用者#提示符下完成

    2.可以將linux的版本號改回到5.4版

說明:

(2011-12-22 11:22)

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 # 套接字傳送緩衝區大小的最大值

fs.aio-max-nr = 1048576 檔案系統最大非同步io

這裡,對每個引數值做個簡要的解釋和說明。
(1)shmmax:該引數定義了共享記憶體段的最大尺寸(以位元組為單位)。預設為32M,對於oracle來說,該預設值太低了,通常將其設定為2G。
(2)shmmni:這個核心引數用於設定系統範圍內共享記憶體段的最大數量。該引數的預設值是 4096 。通常不需要更改。
(3)shmall:該參數列示系統一次可以使用的共享記憶體總量(以頁為單位)。預設值就是2097152,通常不需要修改。
(4)sem:該參數列示設定的訊號量。
(5)file-max:該參數列示檔案控制程式碼的最大數量。檔案控制程式碼設定表示在linux系統中可以開啟的檔案數量。
修改好核心以後,執行下面的命令使新的配置生效。

kernel.shmmax:表示單個共享記憶體段的最大值,以位元組為單位,此值一般為實體記憶體的一半,不過大一點也沒關係,這裡設定的為4GB,即"4294967295/1024/1024/1024=4G"。

  kernel.shmmni:表示單個共享記憶體段的最小值,一般為4kB,即4096bit。

  kernel.shmall:表示可用共享記憶體的總量,單位是頁,在32位系統上一頁等於4kB,也就是4096位元組。

  fs.file-max:表示檔案控制程式碼的最大數量。檔案控制程式碼表示在Linux系統中可以開啟的檔案數量。

  ip_local_port_range:表示埠的範圍,為指定的內容。

  kernel.sem:表示設定的訊號量,這4個引數內容大小固定。

  net.core.rmem_default:表示接收套接字緩衝區大小的預設值(以位元組為單位)。

  net.core.rmem_max :表示接收套接字緩衝區大小的最大值(以位元組為單位)

  net.core.wmem_default:表示傳送套接字緩衝區大小的預設值(以位元組為單位)。

  net.core.wmem_max:表示傳送套接字緩衝區大小的最大值(以位元組為單位)。

 

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

相關文章