Install Oracle 9i/10g On RHEL AS 3

來源:互聯網
上載者:User
oracle
Install Oracle 9i/10g On RHEL AS 3 

作者:ern (yaoyongping@gmail.com)

本文描述了在Red Hat Enterprise Linux Advanced Server 3 (RHEL AS 3)上安裝Oracle 9i/10g 必要的步驟和相關知識。相關文章很多,本文主要著重於整理和總結了網友(特別是Fenng)的文檔、Red Hat公司的RHEL相關白皮書、Oracle公司的技術文檔和白皮書等,比較兩個版本在AS 3上的共同點和不同點,儘可能給出完整的安裝說明。OS的安裝將不再贅述。總體論述以10g的流程為主,但是方框中將插入9i的不同點。

硬體要求:

檢查內容最小值檢查命令參考實體記憶體512M# grep MemTotal /proc/meminfo 交換空間1.0 GB或2倍記憶體# grep SwapTotal /proc/meminfo /tmp 空間400 MB # df -k /tmp 軟體所需空間2.5 GB # df -k  資料庫檔案1.2 GB # df -k 




軟體要求與配置


作業系統版本:Red Hat Enterprise Linux AS release 3 (Taroon) Update 3
對於9i,需要核心2.4.21-4EL(一般AS 3均已滿足),對於10g需要核心2.4.21-15EL。

確認以下 rpm包都已經安裝:

make-3.79.1gcc-3.2.3-34glibc-2.3.2-95.20
compat-db-4.0.14.5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128openmotif21-2.1.30-8setarch-1.3-1
可以通過以下指令察看本機當前的rpm包情況   rpm -qa | grep compat 
  rpm -qa | grep openmotif 
  rpm -qa | grep setarch  gcc -v
  rpm -q glibc
如果個別包沒有安裝,請在系統安裝光碟片中找到具體的軟體包(大多數在第三張光碟片上),然後利用如下的命令來安裝相應的包:

  rpm -ivh compat.....rpm

注意:這些軟體包之間是有依賴性的,先後的順序要找好,否則會報告不能安裝的錯誤。

以上對硬體和軟體的檢查是針對10g,一般AS 3 U3均可達到,9i的要求會更寬鬆,但在9i中請注意:

gcc應使用2.96版本,因此在安裝前執行:

  mv /usr/bin/gcc /usr/bin/gcc323
  ln -s /usr/bin/gcc296 /usr/bin/gcc
  mv /usr/bin/g++ /usr/bin/g++323
  ln -s /usr/bin/g++296 /usr/bin/g++

安裝完成後:

  rm /usr/bin/gcc
  mv /usr/bin/gcc32 /usr/bin/gcc

設定核心參數

  vi /etc/sysctl.conf

在該檔案末尾加入如下內容:


#----------------------------------------
# Parameters for Oracle10g
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
#----------------------------------------


編輯完之後,儲存,執行 /sbin/sysctl -p 命令使變更生效。

注意:上面kernel.shmmax/kernel.sem等是典型的核心參數配置,可能需要根據實際環境進行適當的變動。可參考以下表格擷取當前設定值,若設定值較上例大,則保留設定值,而kernel.shmmax應設為系統記憶體的一半,該值即指定了核心允許的最大共用記憶體段(Segment)的大小,一般安裝Oracle後,Oracle將為SGA申請一個段。若系統記憶體超過8G時安裝出錯,請參考附錄大記憶體的處理。
參數命令semmsl,semmns,semom & semmni/sbin/sysctl -a | grep semshmall,shmmax & shmmni/sbin/sysctl -a | grep shmfile-max/sbin/sysctl -a | grep file-maxip_local_port_range/sbin/sysctl -a | grep ip_local_port_range 
9i中,還應當在檔案末尾增加:# Disables packet forwarding
net.ipv4.ip_forward = 0
# Enables source route verification
net.ipv4.conf.default.rp_filter = 1
# Disables the magic-sysrq key
kernel.sysrq = 0

建立使用者和相關的組

  /usr/sbin/groupadd dba
  /usr/sbin/groupadd oper
  /usr/sbin/groupadd oinstall
  /usr/sbin/useradd -g oinstall -G dba,oper oracle
  /usr/sbin/passwd oracle

設定Shell限制

出於效能上的考慮,還需要增大oracle使用者的限制,即增加nofile(可開啟的檔案描述符的最大數)和nproc(單個使用者可用的最大進程數量)。

  vi /etc/security/limits.conf 
添加如下的行:

oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536
添加如下的行到/etc/pam.d/login 檔案:
session required /lib/security/pam_limits.so



編輯 /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
之後,執行$ unlimit 驗證一下.

檢查並調整環境變數

登入狀態oracle使用者 
  su – oracle 
  cd 
  vi .bash_profile

添加如下參數,具體值和現實環境有關。

export ORACLE_BASE=/u/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
export ORACLE_SID=TEST
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export LC_CTYPE=en_US.UTF-8

然後執行 
  source .bash_profile
使環境變數生效。/u/app/oracle等相關目錄應該建立好並做合適的授權。


開始安裝

mount安裝盤,一般網上下載是壓縮檔,執行

cp /mnt/cdrom/ship.db.cpio.gz /u/install

gunzip ship.db.cpio.gz
cpio -idmv < ship.db.cpio
sh /u/install/Disk1/unInstaller

如果不能出現安裝畫面,查看本文後面的FAQ。

10g的安裝相比以前的多了一個 Checking operating system certification 的步驟。安裝檔案會自動檢測所需的條件。如果有不符合的地方,安裝程式會報告給你,並會給出具體原因,大大減少了出錯的可能。
下面是檢查成功輸出的內容:

Checking operating system certification
Expected result: One of redhat-2.1,redhat-3,UnitedLinux-1.0
Actual Result: redhat-3
Check complete. The overall result of this check is: Passed
=======================================================================

Checking kernel parameters
Checking for VERSION=2.4.9.25; found VERSION=2.4.21. Passed
Checking for shmall=2097152; found shmall=2097152. Passed
Checking for shmseg=10; found shmseg=4096. Passed
Checking for semmsl=250; found semmsl=250. Passed
Checking for semmni=128; found semmni=128. Passed
Checking for filemax=65536; found filemax=65536. Passed
Checking for shmmni=4096; found shmmni=4096. Passed
Checking for semmns=32000; found semmns=32000. Passed
Checking for semopm=100; found semopm=100.Passed
Checking for shmmin=1; found shmmin=1. Passed
Checking for shmmax=2147483648; found shmmax=2147483648. Passed
Check complete. The overall result of this check is: Passed
=======================================================================

Checking recommended operating system packages
Checking for make-3.79; found make-3.79.1-17. Passed
Checking for binutils-2.11.90.0.8-12; found binutils-2.14.90.0.4-26. Passed
Checking for gcc-2.96; found gcc-3.2.3-20. Passed
Checking for openmotif-2.1.30-11; found openmotif-2.2.2-16. Passed
Check complete. The overall result of this check is: Passed
=======================================================================

Checking recommended glibc version
Expected result: 2.2.4.31.7
Actual Result: 2.3.2.95.3
Check complete. The overall result of this check is: Passed
=======================================================================

Validating ORACLE_BASE location (if set)
Check complete. The overall result of this check is: Passed
=======================================================================

其他的步驟比較清晰,不再贅述。

最後系統會提示你運行root.sh檔案,按照提示做即可。
9i的安裝過程與10g基本一致,除缺少檢查OS要求的步驟外,還要注意處理以下錯誤。1. 啟動OUI時libcwait.so錯誤  用oracle使用者登入,並在其家目錄下建立檔案libcwait.c如下  /*
  gcc -O2 -shared -o $HOME/libcwait.so -fpic
  $HOME/libcwait.c
  */
  #include
  #include
  #include
  #include
  pid_t
  __libc_wait (int *status)
  {
  int res;  asm volatile ("pushl %%ebx\n\t"
    "movl %2, %%ebx\n\t"
    "movl %1, %%eax\n\t"
    "int $0x80\n\t"
    "popl %%ebx"
    : "=a" (res)
    : "i" (__NR_wait4), "0" (WAIT_ANY), "c" (status), "d" (0), "S"
    (0));
  return res;
  }  使用gcc -02 -shared -o $HOME/libcwait.so -fpic $HOME/libwait.c編譯。設定相關環境變數:  export LD_ASSUME_KERNEL=2.4.19
  export LD_PRELOAD=$HOME/libcwait.so  另一個解決方案是到metalink.oracle.com下載p3006854_9204_LINUX.zip。2. 安裝時連結錯誤  第一個與$ORACLE_HOME/network/lib/ins_oemagent.mk有關,只需將該檔案如下行注釋即可:  # LDFLAGS = $(STDMODE) -L$(LIBHOME) -L$(ORACLE_HOME)/rdbms/lib -L $(ORACLE_HOME)/network/lib  隨後即可點擊“重試”繼續安裝。  第二個錯誤為$ORACLE_HOME/ctx/lib/ins_ctx.mk because / usr/bin/ld: ctxhx: hidden symbol `stat' in /usr/lib/libc_nonshared.a(stat.oS),可以直接忽略。  以上連結錯誤也可通過在Oracle Metalink網站下載binutils-2.11.90.8.8-13.i386.rpm解決,但建議在用該包替換並完成資料庫安裝後替換回原RHEL的版本。
附錄:

A. FAQ

1. 不能啟動安裝介面

運行runInstaller提示資訊類似如下:

xlib:connection to "localhost:0.0" refused by server
xlib:client is not authorized to connect to server

Exception in thread "main" java.lang.InternalError:can't connect to x11 window server using "localhost:0.0"
at .......

解決辦法:設定你的DISPLAY環境參數。

  export DISPLAY= your_IPaddress :0.0

或者用root簡單的執行一下# xhost + (要注意這樣會有安全上的隱患) 。


2.安裝介面顯示很多"口口"樣子的亂碼

解決辦法:查看locale輸出
# locale
LANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB18030
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=


執行#export LC_CTYPE=en_US.UTF-8 然後重新調用安裝程式.


3. 用IE登入Linux伺服器上的em出現亂碼

 在Linux(Unix) 環境下成功安裝了Oracle 10g,從windows下用IE瀏覽器登入 10g 的em, 按鈕是"口口"這樣的方框.

解決辦法: 參考 http://www.dbanotes.net/Oracle/Oracle-10g-font.properties.htm 或者是參考這個 http://www.linuxsir.org/bbs/showthread.php?s=&threadid=98591 後者比較徹底,前者比較"Quick & Dirty ".


4.建立資料庫的時候出現ORA-03113的錯誤

解決辦法: 查看核心參數是否調整正確.參考http://www.dbanotes.net/Oracle/ORA-03113.htm


5. RedHat 9 / FC1等系統10g不支援如何安裝?

解決辦法:在10g不支援的Linux發行版上安裝10g的解決方案

1) 運行runInstaller -ignoreSysPrereqs,這樣會跳過檢查

2) 摘自 www.puschitz.com 修改/etc/redhat-release檔案:

#su - root
#cp /etc/redhat-release /etc/redhat-release.backup
#cat > /etc/redhat-release << EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF

安裝完畢,執行如下操作:
#su - root
#cp /etc/redhat-release.backup /etc/redhat-release

3). http://www.dbanotes.net/Oracle/10G-Beta-Install-Bug.htm

同樣的思路,我們可以修改Oracle 的install/oraparam.ini檔案達到目的


6 如何關掉那些 ocssd.bin 進程?

解決辦法:編輯/etc/inittab檔案(做好備份)

注釋掉這一行:

h1:3:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1 </dev/null

B. 大記憶體的配置

首先說明,以下材料來自Install Oracle on RHEL AS 2.1的白皮書,可能AS 3對大記憶體的支援已經很好了,但是筆者此文主要來自查閱和編輯多篇文檔,具體的安裝限於硬體也沒能測試。所以,如果在AS 3上出現了錯誤,不妨參考下文。

shmmax最大值為4GB-1。為了建立大於1.7GB的SGA,必須使用共用記憶體檔案系統(shmfs)。指令如下,並可添加到/etc/rc.local中,也可以使用/etc/fstab來建立shmfs,在增加/dev/shm前先注釋掉已有的/dev/shm條目。

  mount -t shm shmfs -o size=32g /dev/shm



  mount -t shm shmfs -o nr_blocks=8388608 /dev/shm

在8GB系統上使用shmfs,SGA可以最大調整到7GB。需要調整init.ora,增加:

  use_indirect_data_buffers=true

另一種使用大SGA的方法是使用Lower Mapped Base,可以從1.7GB增長到2.7GB。具體方法可參考Oracle白皮書。

C.大頁面的配置

AS支援4MB的大頁面(而不是一般的4KB),這樣可以減少頁表中的條目,將SGA鎖定在記憶體中,多用於大SGA或多使用者時。這一特性存在於Enterprise Kernel中。

大頁面的數量可用cat /proc/meminfo查看。

配置步驟如下:

1. 在/etc/rc.local中

  echo 2 > /proc/sys/kernel/shm-use-bigpages (shmfs中使用大頁面)

  echo 1 > /proc/sys/kernel/shm-use-bigpages (SYSV中使用大頁面)

  echo 0 > /proc/sys/kernel/shm-use-bigpages (不使用大頁面)

2. 在/etc/lilo.conf的boot段中增加如下參數,重新設定LILO並重啟系統

  append="bigpages=xxxxMB"

  對4GB的SGA,可以設為4100MB;對2GB的,可以設為2100MB。

在8GB的機器上SGA最大為5.4GB。


參考資訊


Installing Oracle 10g on RHEL AS 3 Step-by-Step by Fenng
http://www.dbanotes.net/Oracle/Install-Oracle10g-RHEL3.htm

Tips & Techniques - Install & Configure Oracle9i & RHEL AS

Deploying Oracle9i Database on Red Hat Enterprise Linux v.3

以上兩篇可在http://www.redhat.com/solutions/info/whitepapers/#rhel找到

Oracle Database Quick Installation Guide 10 g Release 1 (10.1) for Linux x86
http://download-west.oracle.com/docs/html/B10813_01/toc.htm

Oracle Database Installation Guide 10 g Release 1 (10.1) for UNIX Systems
http://download-west.oracle.com/docs/html/B10811_02/toc.htm






相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。