安裝Oracle 10g 的艱難之旅(轉)

PigBaby2007發表於2007-08-08
 在linux下安裝oracle是一件令人生畏的事情,其複雜程度遠遠超過安裝linux作業系統本身。如果能夠進行成功的安裝oracle,那麼同時也就順便掌握了linux一些技術。本文介紹在redhat linux 下安裝oracle 10g 的方法。在這裡說明一下,Oracle 10g的g是grid 的縮寫,意為網格,目前較為前沿的網路計算技術。
  
  Oracle 10g 對軟硬體的要求都非常的高,所以要玩轉的話的花不少銀子。首先來看看它對硬體的要求:記憶體512兆(建議1G),cpu 主頻2.0G以上,硬碟轉速7200轉以上(建議使用scsi硬碟),依此條件,我看買臺伺服器才行。其次是軟體要求:在oracle 官方的文件裡,對於x86系列支援的作業系統只有3種(radhat ES/AS 2.1(x86),redhat ES/AS 3(x86),unitedlinux1.0(x86) ),如果只有redhat 9也是可以安裝的,不過要麻煩一點點。當然oracle 10g需要更多的軟體模組才能進行安裝,這些軟體模組我將在後面逐一說明。在本例中,使用RedHat ES 3(x86)作為操作平臺,並且安裝了xwindow。[@more@]


  
  接下來,我們檢查是否符合oracle 10g 的安裝要求,以表格的形式列出。首先是硬體情況。以root登入系統,並且啟動x-window.如果用下表命令輸出的值大於或等於建議值,請
  
  檢查專案 命令/方法 建議值
  記憶體 #grep MemTotal /proc/meminfo 512MB
  交換分割槽 #grep SwapTotal /proc/meminfo 1GB
  /tmp目錄空閒區 #df –k /tmp 400MB
  硬碟空閒空間 #df -k 4GB
  
  繼續往下,檢查軟體需求。對redhat ES 3(x86),需要如下的軟體包:
  
  · Gnu gcc package, gcc-3.2.3-2 or 更高
  下面的包也必須被安裝:· make-3.79· binutils-2.11· openmotif-2.2.2-16· setarch-1.3-1 · compat-db-4.0.14.5· compat-gcc-7.3-2.96.122· compat-gcc-c++-7.3-2.96.122· compat-libstdc++-7.3-2.96.122· compat-libstdc++-devel-7.3-2.96.122
  
  為了保證系統滿足需求,執行下面的步驟檢查安裝的linux版本和安裝的套件。
  檢查專案 命令/方法 建議值
  Linux 版本 #cat /etc/issue ES 3
  已安裝的包 #rpm -q package_name 安裝所需包(上表所列)
  
  到這裡我們已經全面的檢查了安裝oracle 10g所要求的軟硬體環境,接著我們就要為安裝建立組和使用者。
  下面的組和使用者必須存在
  The oinstall group (the oracle inventory group)
  The dba group (the OSDBA group)
  The oracle user (the oracle owner)
  如果上面的組和使用者不存在,用下面的步驟建立它們。(1)先檢視這些組和使用者是否存在:
  #grep oinstall /etc/group
  #grep dba /etc/group
  (2)建立安裝oracle 所需的組和使用者
  #groupadd osintall
  #groupadd dba
  #useradd –g oinstall –G dba oracle 檢查一下oracle 是否屬於組 oinstall 和 dba (#id oracle) 再給oracle 設定一個使用者口令 #passwd oracle 輸入兩次密碼。
  
  建立安裝所需的目錄 /u01/app/oracle (the oracle base directory), /u02/oradata (an optional default directory ),用下表的命令形式建立它.然後改變它的目錄許可權。
  建立目錄 更改許可權
  #mkdir –p /u01/app/oracle #chown –R oracle:Oinstall /u01/app/oracle /u02/oradata
  #mkdir –p /u02/oradata #chmod –R 755 /u01/app/oracle /u02/oradata
  
  配置核心引數,下表是oracle 推薦的核心引數值,請參考。
  
  Parameter Value File
  semmslsemmnssemopmsemmni 25032000100128 /proc/sys/kernel/sem
  shmall 2097152 /proc/sys/kernel/shmall
  shmmax Half the size of physical memory /proc/sys/kernel/shmmax
  shmmni 4096 /proc/sys/kernel/shmmni
  file-max 65536 /proc/sys/fs/file-max
  ip_local_port_range 1024 65000 /proc/sys/net/ipv4/ip_local_port_range
  確保當前的引數值大於或等於上表所列。那麼怎樣檢視這些引數值呢?用命令 #/sbin/sysctl –a | grep ,例如檢視semmsl,用 #/sbin/sysctl -a | grep sem,餘下的與此類似。逐個察看這些引數值,如果引數值不滿足要求,就需要修改它們。請完成下面這些步驟
  a.用文字編輯器,建立或者編輯/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
  b.改變當前核心引數的值,用命令 #/sbin/sysctl –p 來實現。
  
  為了提高在linux系統上執行軟體的效能,必須對oracle使用者設定下列shell 限定。
  Shell Limit Item in limits.conf Hard Limit
  Maximum number of open file descriptors nofile 65536
  Maximum number of processes available to a single user nproc 16384
  現在建立這些限定:
  1. 加入下面的行到檔案/etc/security/limits.conf
  * soft nproc 2047
  * hard nproc 16384
  * soft nofile 1024
  * hard nofile 65536
  
  2. 加入下面的行到檔案/etc/pam.d/login ,假如它不存在的話
  session required /lib/security/pam_limits.so
  3.根據oracle 使用者的預設shell,對預設 shell start-up檔案作如下改變,如果是Bourne, Bash, or Korn shell,修改環境變數/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
  如果是c shell,則環境變數檔案 /etc/csh.login的修改值如下:
  if ( $USER == "oracle" ) then
  limit maxproc 16384
  limit descriptors 65536
  endif
  
  接下來掛接光碟,#mount /dev/cdrom /mnt/cdrom 。
  
  以oracle 使用者名稱登入系統,配置oracle 使用者的環境。以oracle 帳號用安裝器來安裝oracle,但是開始執行安裝器之前,還得設定oracle使用者的環境變數,因此必須:
  ● 設定shell startup檔案的umask 為022
  ● 設定DISPLAY, ORACLE_BASE, and ORACLE_SID 的環境變數。下面這些步驟是對這些環境變數進行設定的方法:
  1、 開啟一個終端會話
  2、 確認xwindow 能正常顯示。#xhost +
  3、 改變使用者為oracle. $ su – oracle
  4、 檢查oracle使用者的預設shell. $echo $SHELL
  5、 用文字編輯器修改oracle使用者的環境變數
  ●bash shell on redhat
  $vi .bash_profile
  ●c shell
  %vi .login
  6、 把下面的行插入上面編輯的檔案中
  umask 022
  7、 儲存檔案並退出
  8、 執行shell開始指令碼:
  ●Bash shell on Red Hat $ . ./.profile
  ●C shell % source ./.login
  9、設定環境變數
  
  ●Bash shell
  $ ORACLE_BASE=/u01/app/oracle
  $ ORACLE_SID=sales
  $ export ORACLE_BASE ORACLE_SID
  ●c shell
  % setenv ORACLE_BASE /u01/app/oracle
  % setenv ORACLE_SID sales
  10、確認ORACLE_HOME and TNS_ADMIN 的環境變數不被使用者設定
  ●Bash shell
  $ unset ORACLE_HOME
  $ unset TNS_ADMIN
  ●c shell
  % unsetenv ORACLE_HOME
  % unsetenv TNS_ADMIN
  11、再檢驗一下上面設定的環境變數是否正確。
  $ umask
  $ env | more
  
  進入安裝器(runInstaller)所在的目錄 $ cd /tmp 執行安裝 $ /mnt/cdrom/runInstaller ,依照提示完成整個安裝。

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

相關文章