熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

redhat9,redhatELAS3/1,redatFC1上安裝oracle10g

2013-11-13 22:14:32  來源: Oracle 

  本文將指導大家安裝以下內容:
Oracle g () on Red Hat Enterprise Linux Advanced Server (RHELAS)
Oracle g () on Red Hat Enterprise Linux Advanced Server (RHELAS)
Oracle g () on Red Hat (RH)
Oracle g () on Red Hat Fedora Core (FC)

  從OTN上下載Oracleg for Linux 版
l

  下載的文件shipdbcpiogz作如下處理:

  如果你是在windows os下載的文件可以通過linux的samba功能直接拷貝shipdbcpiogz至你的linux目錄下

  做一下CRC (cyclic redundancy check)檢查:

  $cksum shipdbcpiogz

  將shipdbcpiogz放在/tmp下解壓shipdbcpiogz

  $gunzip shipdbcpiogz

  得到Disk這樣的目錄這就是oracleg For Linux的安裝文件

  ===========

  再做以下檢查:

  $grep MemTotal /proc/meminfo

  檢查swap空間的大小

  $grep SwapTotal /proc/meminfo

  請確保你的swap大小為內存的倍左右這樣對於oracle的安裝和使用有好處否則在建立資料庫時會出問題我的內存為g 我的swap設為G

  如果你安裝linux時預先沒有設定swap至足夠大請照如下設定執行

  $su root

  #dd if=/dev/zero of=tmpswap bs=k count=

  #chmod tmpswap

  #mkswap tmpswap

  #swapon tmpswap

  =======

  安裝Oracle Universal Installer 需要在/tmp下至少 MB 的自由空間
檢查/tmp:

  $df /tmp

  如果你在/tmp下沒有足夠空間 你可以在另一個分區中臨時的建立一個tmp目錄請看如下做法:

  $su root

  #mkdir /<AnotherFilesystem>/tmp

  #chown rootroot /<AnotherFilesystem>/tmp

  #chmod /<AnotherFilesystem>/tmp

  #export TEMP=/<AnotherFilesystem> # 被oracle使用

  #export TMPDIR=/<AnotherFilesystem> # 用於linux應用程序

  當你安裝完Oracleg 關閉Oracle並移除臨時性的tmp目錄如下作法:

  $su root

  #rmdir /<AnotherFilesystem>/tmp

  #unset TEMP

  #unset TMPDIR

  =====
檢查linux上的安裝包(RPMS)主要檢查與compatgcc compatlibstdc++等等兼容性因為在XWINDOWS下安裝ORACLEg需要用到窗口api函數接口

  檢查linux核心RPMS

  $uname –a

  結果應該是以上的版本才行

  檢查glibc RPMs

  對於RedHat ELAS 需要如下變更

  $su – root

  #rpm Uvh glibcirpm glibccommonirpm

  檢查gcc make and binutils RPMs

  #rpm q gcc make binutils

  查出以下RPMs是否被安裝:
對於RHELAS 和RHELAS: make 或以上版本
對於RHELAS and RHELAS: binutils 或以上版本
對於RHELAS: gcc或以上版本
對於RHELAS: gcc或以上版本

  RHELAS 系統中 make和binutils RPMs 已經被安裝然而 還有以下一些RPMs 需要安裝你能在RHELAS安裝碟中的第個找到這些RPMs當然也可以下載新版的來裝

  $su root

  #rpm Uvh gccirpm

  glibcdevelirpm

  glibcheadersirpm

  glibckernheadersirpm

  RHELAS系統中RedHat Advanced Server安裝中如果你沒有選擇Software Development 將不會安裝binutils 和gcc的RPMs為了滿足oracle安裝對於xwindows的需要相依性需要執行以下指令

  $su root

  #rpm ivh gccirpm

  binutilsirpm

  cppirpm

  glibcdevelirpm

  kernelheaderseirpm

  RH系統中 make RPM 已經被安裝 還有以下包需要再裝請注意oracle不支持在RH上安裝你應該努力去找到一些合適的RPM 以下需安裝的包請先在你的RH的CD中找找如沒有可以在中搜索到

  $su root

  #rpm Uvh gccirpm

  glibcdevelirpm

  cppirpm

  glibckernheadersirpm

  binutilsirpm

  FC系統中 make RPM 已經被安裝 還有以下包需要再裝 注意FC的情況與RH類似都不被ORACLE支持 你應該努力去找到一些合適的RPM 以下需安裝的包請先在你的RH的CD中找找如沒有可以在中搜索到

  $su root

  #rpm Uvh gccirpm

  glibcdevelirpm

  cppirpm

  glibcheadersirpm

  glibckernheadersirpm

  binutilsirpm

  檢查openmotif RPM

  $rpm q openmotif (開放軟體基金會的圖形介面相關於linux下的Directx)

  (以下各個文件請在RH的安裝CD中找或去搜索我試過基本都能找到)

  RHELAS 如果沒有安裝openmotif 請執行

  $su root

  #rpm ivh openmotifirpm (或更新版本)

  RHELAS 如果沒有安裝openmotif 請執行

  $su root

  #rpm ivh openmotifirpm

  RH 請執行

  $su root

  #rpm Uvh openmotifirpm

  FC 請執行

  $su root

  #rpm Uvh openmotifirpm

  檢查setarch RPM

  RHELAS 執行以下指令查核是否為setarch RPM 或更新版本:

  #rpm q setarch

  setarch是RHEL的一個新功能 用於模擬一個GB 的虛擬地址空間以允許如此的應用程式能夠正常運作假如沒有安裝請執行:

  $su root

  #rpm Uvh setarchirpm

  RHELAS 和RH 不需要setarch RPM

  對於FC 雖然用不到它也請執行:

  $su root

  #rpm Uvh setarchirpm

  檢查redhatrelease RPM

  查出redhatrelease RPM 是否被安裝:

  $rpm q redhatrelease

  這個RPM對於RHEL系列的LINUX很重要因為它將用於ORACLE的安裝認證 沒有這個包 Oracleg 將會認定該OS不被支持
對RHELAS 請執行(在RHELAS disk 中可找到此RPM):

  $su root

  #rpm ivh redhatreleaseASirpm

   對 RHELAS 請執行(在RHELAS disk 中可找到此RPM):

  $su root

  #rpm ivh redhatreleaseasASnoarchrpm

  但是對於RH 和FC 你只要編輯一下/etc/redhatrelease 這個文件就行了

  $su root

  #cp /etc/redhatrelease /etc/redhatreleasebackup

  #cat > /etc/redhatrelease << EOF

  #Red Hat Enterprise Linux AS release (Taroon)

  #EOF

  記得安裝完Oracleg要還原該文件內容:

  $su root

  #cp /etc/redhatreleasebackup /etc/redhatrelease

  好了做完以上的準備工作我們該開始令人激動的Oracelg安裝! 安裝前我們還需設定一下與Oracle相關的內核參數

  先看看所有內核參數:

  $su root

  #sysctl a

  安裝執行指令在/tmp/Disk我們不建議直接執行
runInstaller ignoreSysPrereqs

  對於Oracleg 需要設定為以下參數值可以設定更大一點的值:

  查核結果可執行右邊括號中內容

  shmmax = (cat /proc/sys/kernel/shmmax)

  這意味著系統的共享內存達到G這是不合適的一般SHMMAX的設置可略大於本機內存配置
事實上缺省安裝的RedHat 核心運行Oracle 是沒有問題的一般情況下可不對這些參數作出調整
如確需調整在完成修改後要按文檔要求重生成核心並用lilo命令指定用新的核心進行引導

  shmmni = (cat /proc/sys/kernel/shmmni)

  shmall = (cat /proc/sys/kernel/shmall)

  shmmin = (ipcs lm |grep min seg size)

  shmseg = (被硬編碼在kernel中缺省值更高)

  semmsl = (cat /proc/sys/kernel/sem | awk {print $})

  semmns = (cat /proc/sys/kernel/sem | awk {print $})

  semopm = (cat /proc/sys/kernel/sem | awk {print $})

  semmni = (cat /proc/sys/kernel/sem | awk {print $})

  filemax = (cat /proc/sys/fs/filemax)

  ip_local_port_range =

  (cat /proc/sys/net/ipv/ip_local_port_range)

  NOTE: Do not change the value of any kernel parameter on a system where it is already higher than listed as minimum requirement

  On RHELAS RHELAS RH and on FC I had to increase the kernel parameters shmmax semopm and filemax to meet the minimum requirement

  Oracle also recommends to set the local port range ip_local_port_range for outgoing messages to which is needed for highusage systems This kernel parameter defines the local port range for TCP and UDP traffic to choose from

  I added the following lines to the /etc/nf file which is used during the boot process:

  kernelshmmax=

  kernelsem=

  fsfilemax=

  netipvip_local_port_range=

  Adding these lines to the /etc/nf file will cause the system to change these kernel parameters after each boot using the /etc/rcd/rcsysinit script which is invoked by /etc/inittab But in order that these new added lines or settings in /etc/nf become effective immediately execute the following command:

  su root

  sysctl p

  For more information on shmmax shmmni shmmin shmseg and shmall see Setting Shared Memory
For more information on semmsl semmni semmns and semopm see Setting Semaphores
For more information on filemax see Setting File Handles

  

  <在/oracle//bin/dbshut 加入>

  ##自動關閉Listner

  if [ f $ORACLE_HOME/bin/lsnrctl ] ; then

  $ORACLE_HOME/bin/lsnrctl stop

  fi

  ##自動關閉Oracle Apache Jserv

  if [ f $ORACLE_HOME/Apache/Apache/bin/httpdsctl ] ; then

  $ORACLE_HOME/Apache/Apache/bin/httpdsctl stop

  fi

  完成後請測試

  $/oracle//bin/dbstart

  $/oracle//bin/dbshut

  開機自動啟動 Oracle

  請將oracleg這個script cp至/etc/rcd/initd

  $cp oracleg /etc/rcd/initd

  再加入開機服務程序中

  #chkconfig add oracleg

  #linuxconf

  用linuxconf即可控制啟動的層次

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

  ***oracleg 執行檔

  #!/bin/sh

  #

  # chkconfig:

  # description: starts the oracle dabase de

  #

  echo Oracle g auto start/stop

  ORA_OWNER=oracle

  ORA_HOME=/oracle//db

  case $ in

  start)

  echo n Starting Oracleg:

  su $ORA_OWNER c $ORA_HOME/bin/dbstart

  touch /var/lock/subsys/oracleg

  echo

  ;;

  stop)

  echo n Shutting Oracleg:

  su $ORA_OWNER c $ORA_HOME/bin/dbshut

  rm f /var/lock/subsys/oracleg

  echo

  restart)

  echo n Restarting Oracleg:

  $ stop

  $ start

  echo

  ;;

  *)

  echo Usage: oracleg {start | stop | restart }

  exit

  esac

  exit


From:http://tw.wingwit.com/Article/program/Oracle/201311/18579.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.