為Linux配備Oracle 8(轉)

subid發表於2007-08-12
為Linux配備Oracle 8[@more@]在Linux下使用Oracle 8以前,應當安裝Oracle 8,但Oracle公司提供的安裝文件較為簡單。筆者借鑑其在Unix作業系統下的安裝方法,得出了在Linux上安裝Oracle 8的方法,此方法並不一定是最好的,使各位讀者用上Oracle 8才是本文的目的。

  前期準備

  假定安裝環境是Red Hat Linux,請在安裝前確認Linux的核心版本為2.0.36及以上。

  1.以Root使用者登入進入系統,建立使用者oracle和組dba,這是Oracle預設的安裝使用者。建立安裝使用者後,用tar -xvzf 將壓縮檔案解壓到一個指定的目錄,本文假定為/oracle,因為tar進行資料歸檔與使用者本機的使用者ID、組ID不同,所以要執行chown -R oracle:dba ?以更改檔案屬性。

  2.由於Oracle本身對共享段的要求,使用者必須重新手工生成核心,以便共享段的設定滿足安裝要求。為生成核心,使用者應當安裝Linux作業系統的原始碼,編輯/usr/src/linux/include/shmparam.h,將#define SHMMAX 0x002000000一行的0x002000000(32MB)改為256MB以上,然後在/usr/src/linux下執行make dep、make clean、make bzImage生成核心,使用linuxconf命令將新核心設為啟動核心。這一步一定要做,如果生成的新核心有錯,可以用原來的核心啟動計算機。可用ipc -ml檢視共享段的設定是否滿足要求。當共享段大於2GB時,檢視到的值是負數。

  3.安裝相應的egc包。假定安裝光碟mount在/mnt/cdrom上,用命令modprobe isofs使作業系統能處理光碟的檔案系統,然後執行mount -t iso9660 /dev/cdrom /mnt/cdrom,如在安裝後修改了/etc/fstab,可不進行這一步操作。進入相應的RPMS目錄,安裝以egc開始的包,採用的安裝命令為rpm -ivh 。

  設定安裝的環境變數

  安裝前,應該設定相應的環境變數。修改使用者Oracle的.bash—profile檔案,設定相應的環境變數。由於安裝系統時需要Root使用者,也要有這些環境變數,故將其放在/etc/profile內,加*號為Oracle專有的環境變數,示例如下:

  # /etc/profile

  # System wide environment and startup programs

  # Functions and aliases go in /etc/bashrc

  JAVA—HOME=/usr/local/jdk1.1.3

  SYBASE=/opt/sybase-11.9.2

  DSQUERY=SYBASERDBMS

  *PATH=$PATH:$JAVA—HOME/bin:/usr/X11R6/bin:/home/oracle/product/8.0.5/bin

  PS1=″u@h:w$″

  ulimit -c 1000000

  if [ ′id -gn′ = ′id -un′ -a ′id -u′ -gt 14 ]; then umask 002

  else umask 022

  fi

  USER=′id -un′

  LOGNAME=$USER

  MAIL=″/var/spool/mail/$USER″

  CLASSPATH=/usr/local/jdk1.1.3/lib:$HOME/bin

  HOSTNAME=′/bin/hostname′

  HISTSIZE=1000

  HISTFILESIZE=1000

  export JAVA—HOME CLASSPATH SYBASE DSQUERY

  export PATH PS1 HOSTNAME HISTSIZE HISTFILESIZE USER LOGNAME MAIL

  *ORACLE—HOME=/home/oracle/product/8.0.5

  *ORACLE—BASE=/home/oracle

  *ORACLE—OWNER=oracle

  *ORACLE—SID=oracle8

  *ORACLE—TERM=386

  *LD—LIBRARY—PATH=/home/oracle/product/8.0.5/lib

  *TMPDIR=/var/tmp

  *export ORACLE—HOME ORACLE—BASE ORACLE—OWNER ORACLE—SID ORACLE—TERM

  export LD—LIBRARY—PATH TMPDIR

  for i in /etc/profile.d/?.sh ; do

   if [ -x $i ]; then . $i

   fi

  done

  unset i

  安裝並啟動資料庫

  1.以使用者Root登入系統,然後到相應目錄執行/oracle/orainst/oratab.sh可生成/etc/oratab檔案。用su - oracle切換到使用者Oracle,執行/oracle/orainst/orainst就可啟動安裝命令,安裝時注意在這一步不要安裝Oracle文件、JDK和智慧代理,並且不要建立資料庫物件。重新啟動/oracle/orainst/orainst安裝的RDBMS部份,一般情況下除了輸入幾個使用者定製的口令其餘按預設值就可以了。Oracle安裝程式開始複製檔案,複製檔案過程中,當安裝到資料庫管理系統(RDBMS)時,使用者可從另一終端登入,用ps -ef | grep oracle見到一些Oracle程式已啟動。

  2.資料庫伺服器安裝完成後,就可以手工啟動了。以使用者Oracle登入,進入$ORACLE—HOME/bin,執行DBStart就可以啟動資料庫伺服器。執行DBShut就可停止資料庫伺服器。

  如果使用者不太熟悉Oracle的網路部份,可將$ORACLE—HOME/network/admin/?ora複製到/etc目錄,在$ORACLE—HOME/bin下執行lsnrctl start就可以啟動網路監視程式。

  3.為了每一次啟動系統時自動啟動Oracle或管理員手工指定是否每一次啟動時自動啟動Oracle,可採用如下方法。以Root登入,進入/etc/rc.d/init.d,手工生成檔案Oracle,至於檔案的書寫格式可參見其餘相應檔案,示例如下:

  #!/bin/sh

  # oracle   This shell script takes care of starting and stopping

  #       oracle.

  # chkconfig: 2345 80 30

  # description: oracle is a RDBMS Server.

  # processname: oracle

  # Source function library.

  . /etc/rc.d/init.d/functions

  # Source networking configuration.

  . /etc/sysconfig/network

  # Check that networking is up.

  [${NETWORKING}= ″no″ ] && exit 0

  # See how we were called.

  case ″$1″ in

   start)

   # Start daemons.

   echo -n ″Starting oracle: ″

   su - oracle /home/oracle/product/8.0.5/bin/dbstart > /dev/null 2>&1

    sleep 60

   su - oracle/home/oracle/product/8.0.5/bin/lsnrctl start > /dev/null 2>&1

   echo

   touch /var/lock/subsys/oracle

   ;;

   stop)

   # Stop daemons.

   echo -n ″Shutting down oracle: ″

   su - oracle/home/oracle/product/8.0.5/bin/lsnrctl stop > /dev/null 2>&1

   su - oracle /home/oracle/product/8.0.5/bin/dbshut > /dev/null 2>&1

   echo

   rm -f /var/lock/subsys/oracle

   ;;

   restart)

   $0 stop

   $0 start

   ;;

   status)

   status oracle

   ;;

   ?)

   echo ″Usage: oracle {start|stop|restart|status}″

   exit 1

  esac

  exit 0

  客戶端配置

  為了能使用Windows下的一些開發工具,可以按如下方法進行:

  1.在Windows下安裝Oracle客戶端軟體(可以採用Oracle 7.xx的Windows客戶端軟體),安裝完成後,將Linux下的/etc/tnsnames.ora拷到Windows下的$ORACLE etworkadmin目錄下,在開始選單中執行net easy configure並指明ODBC連線的字串名和執行SQLPLUS需要的主機字串(Host String),就可以從客戶端連上伺服器,透過ODBC進行資料庫的開發。

  2.如果使用者使用Delphi為開發工具,可在BDE設定中指明有遠端Oracle伺服器,設定時僅指明資料庫系統的網路協議為TNS(Transparent Network Substrate,請不要使用TCP),然後進入資料庫桌面,就可以訪問遠端Oracle資料庫上的資料了。

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

相關文章