oracle9i在Red Hat Linux7.3上的安裝
2024-08-29 13:36:39
供稿:網(wǎng)友
 
             
  本文將介紹Oracle Database 9i在linux下的安裝過程,假如你是有過安裝Oracle8i的經(jīng)驗,那么以下的安裝過程對你來說是小事一樁:
                                                                                              硬件要求:硬盤空間:安裝Oracle9i數(shù)據(jù)庫至少要有2.5GB以上的剩余空間。 臨時硬盤空間:Oracle安裝程序在安裝過程中需要400M以上的臨時硬盤空間;內(nèi)存:安裝Oralce 9i軟件至少需要512M內(nèi)存(我個人安裝過程中使用的是256MB內(nèi)存)。
  
  1.Red Hat Linux 7.3:下載地點: http://www.puschitz.com/RedhatDownload.Html
  
  2. Oracle9i:下載地點:http://otn.oracle.com/software/PRod.../linuxsoft.html
  (注:1.版本號9.2.0.1
  2.解壓辦法:以Linux9i_Disk1.cpio.gz為例.
  gunzipt Linux9i_Disk1.cpio.gz
  cpio –idmv < Linux9i_Disk2.cpio
  解包后形成三個目錄:installation files:
  Disk1 Disk2 Disk3 )
  
  3. binutils:7.3 自帶有nutils-2.11.90.0.8-9,但安裝的時候易出問題,建議下載binutils-2.10.0.18-1.i386.rpm下載地址:FTP://ftp.redhat.com/pub/redhat/lin...i386.rpm,以root 用戶安裝binutils:
  rpm -Uvh --force --nodeps binutils-2.10.0.18-1.i386.rpm oracle9i安裝完成后,將其版本還原:
  rpm -Uvh --force --nodeps binutils-2.11.90.0.8-9.i386.rpm
  
  4.JDK:下載地址:http://www.blackdown.org或http://java.sun.com
  安裝:bunzip2 -dc jdk118_v3-glibc-2.1.3.tar.bz2 tar xvf jdk118_v3-glibc-2.1.3.tar
  ln -s /usr/local/jdk118_v3 /usr/local/java
  注:.bz2文件可使用WinRAR解壓。
  
  5.配置內(nèi)核參數(shù)
  oracle9i使用Linux的共享內(nèi)存、交換區(qū)等資源進行工作,假如你的內(nèi)核參數(shù)設(shè)置不能滿足oracle的要求,那在安裝oracel9i或使用過程就會頻頻出現(xiàn)問題,因此配置系統(tǒng)內(nèi)核的參數(shù)就顯得尤為重要和要害了。內(nèi)核參數(shù)的配置一般在/proc文件夾下配置:
  1). 以root用戶答應(yīng)以下命令;
  2). 進入目錄/proc/sys/kernel;用cat命令或more命令查看semaphore當前參數(shù)的值:
  cat sem
  命令運行后將會出現(xiàn)如下的結(jié)果:
  250 32000 32 128
  其中, 250 是參數(shù)SEMMSL的值,32000是參數(shù)SEMMNS的值, 32是參數(shù)SEMOPM的值,而128則是參數(shù)SEMMNI的值。
  4). 用以下的命令可以對上述參數(shù)進行修改
  echo SEMMSL_value SEMMNS_value SEMOPM_value SEMMNI_value > sem
  其中SEMMSL_value、SEMMNS_value、SEMOPM_value、SEMMNI_value分別用相應(yīng)的值進行替換,并且這些值的順序不能調(diào)換
  5). 設(shè)置共享內(nèi)存大小,共享內(nèi)存大小一般設(shè)為物理內(nèi)存的一半,在這里我們假設(shè)物理內(nèi)存為512M則共享內(nèi)存的值4294967295以此類推,假如你的物理內(nèi)存是1G則這里的值則是8589934590:
  echo 4294967295 > shmmax
  
  6 添加用戶:Oracle在安裝和使用中需要用特定用戶(非root用戶),按照oracle的標準說明是需要添加三個專門用戶和用戶組,為了簡便大家的安裝和使用我們把oracle的安裝和使用歸到一個特定用戶來完成。
  首先創(chuàng)建oracle安裝組及用戶組,我們架設(shè)兩個用戶組命名為oinstall、dba:以root用戶登陸系統(tǒng): 1)groupadd oinstall 2) groupadd dba
  添加oracle用戶:1)useradd oracle –g oinstall –G dba 2) passWord oracle
  
  7.創(chuàng)建安裝目錄:以 root用戶進行:
  mkdir /opt/oracle
  mkdir /opt/oracle/prodUCt
  mkdir /opt/oracle/product/9.0.1
  chown -R oracle.oinstall /opt/oracle
  mkdir /var/opt/oracle
  chown oracle.dba /var/opt/oracle
  chmod 755 /var/opt/oracle
  
  8.設(shè)置Oracle環(huán)境:以oracle用戶進行: vi /home/oracle/.bash_profile
  eXPort ORACLE_BASE=/opt/oracle
  export ORACLE_HOME=/opt/oracle/product/9.0.1
  export ORACLE_SID=sah
  export ORACLE_TERM=xterm
  export NLS_LANG=AMERICAN;
  export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
  export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
  export PATH=$PATH:$ORACLE_HOME/bin;
  CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
  CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
  
  9 開始安裝
  1) cd /backup/Disk1 2) ./runInstaller
  安裝中出現(xiàn)問題的解決:一般依照錯誤提示進行即可,假如是因為binutils的問題,那么一定是binutils的版本不對,建議安裝好binutils后再進行oracle9i安裝。
                         oracle9i在安裝數(shù)據(jù)庫過程中,要求輸入sys及system用戶的密碼,你可隨意設(shè)定自己的密碼了。
  10.啟動數(shù)據(jù)庫:
  注重:svrmgrl 在9i中已經(jīng)不支持,換作dgmgrl
  1) $dgmgrl 2)connect sys/xxxx as sysdba 3)startup
  (注:9i的提示和8i有所不同,僅兩行,這里就不列出了)
  至此,oracle9i安裝完畢!
  
  Redhat7.3中Oracle9.2.0的第二次啟動失敗,字符集加載出問題了,請指教,急。
  安裝比較順利。數(shù)據(jù)庫的第一次啟動是創(chuàng)建數(shù)據(jù)庫時自動啟動的。
  當順利以normal方式shutdown數(shù)據(jù)庫后(用Enterprise management console中的Instance治理界面),滿懷信心的進行第二次啟動,數(shù)據(jù)庫在順利startup后,卻在mount過程中報錯:
  ORA-12709 error while loading create database character set
  我查了oracle9i系統(tǒng)文檔,有關(guān)描述為:
  Cause: This is an internal error.
  Action: Contact Oracle Support Services.
  而我在前一段時間安裝oracle9.0.1(Redhat7.2)時也是同樣的問題,不知道是否是oracle的一個bug還是我的環(huán)境變量設(shè)置有問題。下面是我的.cshrc文件描述:
  umask 022
  setenv ORACLE_BASE /home/oracle
  setenv ORACLE_HOME $ORACLE_BASE/release/9.2.0
  setenv ORACLE_SID optim
  setenv ORACLE_TERM xterm
  setenv TNS_ADMIN $ORACLE_BASE/config/9.2.0
  setenv NLS_LANG AMERICAN_AMERICA.ZHS16GBK
  setenv ORA_NLS33 /home/oracle/release/9.2.0/ocommon/nls/admin/data
  setenv LD_LIBRARY_PATH $ORACLE_HOME/lib
  setenv PATH /bin:/usr/dt/bin:/usr/local/java/bin:/usr/ccs/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin:$ORACLE_HOME/bin:$PATH
  setenv ORACLE_PATH $PATH
  setenv CLASSPATH $ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/jre/1.1.8/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
  setenv TMPDIR /tmp
  
  我創(chuàng)建數(shù)據(jù)庫時確實指明了字符集是ZHS16GBK,并且數(shù)據(jù)庫自動啟動后,我在服務(wù)器端與客戶端都順利用sqlplus登陸數(shù)據(jù)庫,中文顯示沒有問題。
  
  請高手指點在下,不勝感激。
  下載i386-glibc-2.1-linux.tar.gz包并在根目錄下解壓,隱藏原有的gcc,ar,ld,將glibc中的相應(yīng)文件連接到/usr/bin下:
  #cd /
  #tar zxvf i386-glibc-2.1-linux.tar.gz
  #cd /usr/bin
  #mkdir saved
  #mv gcc ld ar saved
  #ln -s /usr/i386-glibc-2.1-linux/i386-glibc21-linux/bin/gcc gcc
  #ln -s /usr/i386-glibc-2.1-linux/i386-glibc21-linux/bin/ld ld
  #ln -s /usr/i386-glibc-2.1-linux/i386-glibc21-linux/bin/ar ar