`
mikixiyou
  • 浏览: 1098999 次
  • 性别: Icon_minigender_1
  • 来自: 南京
博客专栏
C3c8d188-c0ab-3396-821d-b68331e21226
Oracle管理和开发
浏览量:353156
社区版块
存档分类
最新评论

Oracle 10g RAC 在Linux下安装经验总结

阅读更多

      在Linux 系统上如red hat as 5 上安装Oracle 10g RAC 时,我们经常会碰到这样或那样的错误。有的是新环境缺少这样那样的配置,有的是老环境有这样那些的不合适设置,有时候还能碰到一些bug

(miki西游 @mikixiyou 文档,原文链接: http://mikixiyou.iteye.com/blog/1555489 )

我从2005 年开始安装10g RAC 到现在,遇见了各种各样的问题。现在将这些安装过程中注意的要点和出现的问题做一个总结。

一、安装操作系统补丁包

 

建议使用 system-config-packages命令在vnc下打开图形化安装工具,将开发包全部安装上,免得烦人。

否则,您需要检查和安装下列的补丁包。

rpm -ivh setarch-2.0-1.1.x86_64.rpm

rpm -ivh make-3.81-3.el5.x86_64.rpm

rpm -ivh glibc-2.5-24.*

rpm -ivh libaio-0.3.106-3.2.*

rpm -ivh compat-libstdc++-*

rpm -ivh compat-gcc-34-3.4.6-4.x86_64.rpm

rpm -ivh compat-gcc-34-c++-3.4.6-4.x86_64.rpm

rpm -ivh gcc-4.1.2-42.el5.x86_64.rpm

rpm -ivh libXp-1.0.0-8.1.el5.*

rpm -ivh openmotif-2.3.0-0.5.el5.*

rpm -ivh compat-db-4.2.52-5.1.*

如果没有安装完整,可能会有一面一些错误会遇到。

错误一:

  /tmp/OraInstall2007-12-30_02-16-11PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..

 

原因是:缺少支持打印的图形化动态链接库libXp.so.6

这个错误是由于缺少系统安装包,在RHEL5 以前的版本,可以安装xorg-x11-deprecated-libs 包即可,这个安装包可以在系统光盘第三张盘中找到(对于redhat as4.2 以前,redhat as4.4 是在第四张安装光盘)

xorg-x11-deprecated-libs-6.8.2-31.i386.rpm

 

错误二:

Exception :java.lang.UnsatisfiedLinkError:/usr/java/j2sdk1.4.2_06/jre/lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory

这个错误是也是由于缺少系统安装包造成的,只需安装XFree86-libs 包即可,这个安装包可以在系统光盘中找到。

  在上面两个错误如果出现在redhat as5 版本中,解决如下:

RHEL5 中上面的包被libXp 所取代了,因此rpm -ivh libXp-1.0.0-8.i386.rpm 将包打上后问题即可解决。

  错误三:

error while loading shared libraries: libstdc++-libc6.1-1.so.2

只用执行如下操作ln -s libstdc++-libc6.2-2.so.3 libstdc++-libc6.1-1.so.2

最后安装“rpm -ivh libXp-1.0.0-8.i386.rpm ”问题解决。

  错误四:在安装数据库的时候出现

uError in invoking target 'all_no_orcl ihsodbc' of  makefile'/u01/app/oracle/oracle/product/10.2.0/db_1/rdbms/lib/ins_rdbms.mk'.See '/u01/app/oracle/oraInventory/logs/installActions2006-10-16_06-41-37PM.log'for details ”的错误。

经过分析缺少一个包:compat-libstdc++-33.i386.rpm 的包

  [root@dg1 Server]# rpm -ivh compat-libstdc++-*.rpm

warning: compat-libstdc++-296-2.96-138.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

   1:compat-libstdc++-33    ########################################### [ 50%]

   2:compat-libstdc++-296   ########################################### [100%]

 

安装后,问题解决。

 

二、操作系统配置

1 /etc/hosts 配置

 

新集群配置:

192.168.100.14       rac1

192.168.100.15       rac1-vip

192.168.212.14       rac1-priv

 

192.168.100.18       rac2

192.168.100.19       rac2-vip

192.168.212.18       rac2-priv

 

2 、核心参数配置

/etc/sysctl.conf

#////////////////////////////////////////////////oracle 调优后参数

#ORACLE

#kernel.shmall = 3279547

#kernel.shmmax = 8294967295

kernel.shmmni = 4096

#semaphores: semmsl, semmns, semopm, semmni

kernel.sem = 256 32000 100 142

fs.file-max = 327679

net.ipv4.ip_local_port_range = 1024 65000

kernel.msgmni = 2878

kernel.msgmax = 8192

kernel.msgmnb = 65535

net.core.rmem_default=262144

net.core.rmem_max=262144

net.core.wmem_default=262144

net.core.wmem_max=262144

 

vm.min_free_kbytes=409600

 

3 、调整限制

  /etc/security/limits.conf

oracle    soft   nproc      4096

oracle    hard   nproc      16384

oracle    soft   nofile     16384

oracle    hard   nofile     65536

 

4

修改 /etc/selinux/config 配置文件,把 SELLINUX 参数改为:

SELINUX=disabled

 

三、创建oracle 用户和组

/usr/sbin/groupadd oinstall     -g    201 

/usr/sbin/groupadd dba          -g      202

/usr/sbin/groupadd oper         -g      203

/usr/sbin/useradd -m -u 1101 -g oinstall -G dba,oper -d /u01/home/oracle -s /bin/bash -c "Oracle Software Owner" oracle

 

设置.bash_profile

# .bash_profile

####

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db

export ORA_CRS_HOME=/u01/app/oracle/product/10.2.0/crs

export PATH=/sbin:$ORA_CRS_HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH

export ORACLE_OWNER=oracle

export ORACLE_SID=xxdb2

#export ORACLE_TERM=vt100

export THREADS_FLAG=native

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib

export LD_LIBRARY_PATH

export PATH=$PATH:$ORACLE_HOME/bin

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib

export CLASSPATH

 

export LANG=en_US

PS1="\${PWD}@`hostname`=>\${ORACLE_SID}\$"

umask 022

 

 

mkdir -p /u01/app/oracle

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01/app/oracle

 

四、配置SSH 互信

rac3 上以oracle user run:

rac3-> mkdir ~/.ssh

rac3-> chmod 700 ~/.ssh

rac3-> ssh-keygen -t rsa

rac3-> ssh-keygen -t dsa

 

rac1 上以oracle user run:

rac1-> ssh rac3 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

rac1-> ssh rac3 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

oracle@rac3'spassword:

rac1-> scp ~/.ssh/authorized_keys rac3:~/.ssh/authorized_keys

oracle@rac3'spassword:

authorized_keys                           100% 1716     1.7KB/s   00:00

rac1-> scp ~/.ssh/authorized_keys rac3:~/.ssh/authorized_keys

authorized_keys                            100% 1716     1.7KB/s   00:00

 

authorized_keys copy rac2 主机, 建立与rac2ssh 信任

rac2-> scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys

authorized_keys                           100% 1716     1.7KB/s   00:00

 

 

四、存储设置

The /dev/dm-N devices are used internally by device-mapper-multipath and are non-persistent across reboot, so should not be used. The /dev/mpath/ devices are created for multipath devices to be visible together, however, may not be available during early stages of boot, so, again, should not be used. However, /dev/mapper/ devices are persistent and created sufficiently early during boot - use only these devices to access and interact with multipathed devices.

redhat 5.4 存储设置:

[root@rac2 ~]# more /etc/udev/rules.d/60-raw.rules

# Enter raw device bindings here.

ACTION=="add", KERNEL=="/dev/mapper/mpath6", RUN+="/bin/raw /dev/raw/raw1 %N"

ACTION=="add", KERNEL=="/dev/mapper/mpath7", RUN+="/bin/raw /dev/raw/raw2 %N"

 

ACTION=="add", KERNEL=="raw1", OWNER="root", GROUP="oinstall", MODE="777"

ACTION=="add", KERNEL=="raw2", OWNER="oracle", GROUP="oinstall", MODE="777"

 

[root@rac2 ~]# more /etc/rc.d/rc.local

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

 

/bin/raw /dev/raw/raw1 /dev/mapper/mpath6

/bin/raw /dev/raw/raw2 /dev/mapper/mpath7

[root@rac2 ~]#

 

 

 

[root@rac1 ~]# chown -R oracle:oinstall /dev/mapper/mpath[1-5]

[root@rac1 ~]# chmod -R 755 /dev/mapper/mpath[1-5]

[root@rac1 ~]#

 

 

 

//////

 

ACTION=="add", KERNEL=="/dev/sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"

ACTION=="add", KERNEL=="/dev/sdb2", RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add", KERNEL=="/dev/sdb3", RUN+="/bin/raw /dev/raw/raw3 %N"

ACTION=="add", KERNEL=="/dev/sdb4", RUN+="/bin/raw /dev/raw/raw4 %N"

KERNEL=="raw1", OWNER="root",   GROUP="oinstall", MODE="640"

KERNEL=="raw2", OWNER="oracle", GROUP="oinstall", MODE="640"

KERNEL=="raw3", OWNER="oracle", GROUP="dba", MODE="660"

KERNEL=="raw4", OWNER="oracle", GROUP="dba", MODE="660"

 

/etc/udev/rule.d/60-raw.rules

这种方法的配置如下:

  [root@rac2 rules.d]# cat 60-raw.rules

# Enter raw device bindings here.

#

# An example would be:

#   ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"

# to bind /dev/raw/raw1 to /dev/sda, or

#   ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"

# to bind /dev/raw/raw2 to the device with major 8, minor 1.

ACTION=="add", KERNEL=="dm-7", RUN+="/bin/raw /dev/raw/raw1 %N"

ACTION=="add", KERNEL=="dm-8", RUN+="/bin/raw /dev/raw/raw2 %N"

 

ACTION=="add", KERNEL=="raw1", OWNER="root", GROUP="oinstall", MODE="660"

ACTION=="add", KERNEL=="raw2", OWNER="oracle", GROUP="oinstall", MODE="660"

  -- 这个是对raw 设备进行权限设置的

  [root@rac2 rules.d]# cat /etc/rc.d/rc.local

#!/bin/sh

#

# This script will be executed *after* all the other init scripts.

# You can put your own initialization stuff in here if you don't

# want to do the full Sys V style init stuff.

 

touch /var/lock/subsys/local

 

/bin/raw /dev/raw/raw1 /dev/dm-7

/bin/raw /dev/raw/raw2 /dev/dm-8

 

-- 系统启动时挂载raw 设备

 

五、安装CRS

/runInstaller -ignoreSysPrereqs &

 

 

执行root.sh 失败,报错如下:

Failed to upgrade Oracle Cluster Registry configuration

原因是未删除干净,原来已安装有 Oracle RAC 软件,

如果你在装crs 的时候运行了root.sh 后提示上面的英文错误,再也无法运行了,可以尝试清理crs 残留信息,删除执行crs 目录结构后的最重要一步,执行下面的命令。

dd if=/dev/zero of=/dev/sdb1 bs=8192 count=2000

dd if=/dev/zero of=/dev/sdc1 bs=8192 count=2000

/dev/raw/raw1-->/dev/sdb1 的设备清空 orc disk

/dev/raw/raw2-->/dev/sdc1 的设备清空 vote disk

 

Oracle 10g RAC Linux 上手工清理的方法如下:

      rm -f /etc/init.d/init.cssd

      rm -f /etc/init.d/init.crs

      rm -f /etc/init.d/init.crsd

      rm -f /etc/init.d/init.evmd

      rm -f /etc/rc2.d/K96init.crs

      rm -f /etc/rc2.d/S96init.crs

      rm -f /etc/rc3.d/K96init.crs

      rm -f /etc/rc3.d/S96init.crs

      rm -f /etc/rc5.d/K96init.crs

      rm -f /etc/rc5.d/S96init.crs

      rm -Rf /etc/oracle/scls_scr

      rm -f /etc/inittab.crs

      cp /etc/inittab.orig /etc/inittab

 

dd if=/dev/zero of=/dev/raw/raw1 bs=8192K count=100

dd if=/dev/zero of=/dev/raw/raw2 bs=8192K count=100

 

 

如果root.sh 报错如下:

Oracle Database 10g CRS Release 10.2.0.1.0 Production Copyright 1996, 2005 Oracle.  All rights reserved.

2010-12-28 00:35:36.935: [ OCRCONF][1325856320]ocrconfig starts...

2010-12-28 00:35:36.935: [ OCRCONF][1325856320]Upgrading OCR data

2010-12-28 00:35:36.941: [ OCRCONF][1325856320]OCR already in current version.

2010-12-28 00:35:36.947: [ OCRCONF][1325856320]Failed to call clsssinit (21)

2010-12-28 00:35:36.947: [ OCRCONF][1325856320]Failed to make a backup copy of OCR

2010-12-28 00:35:36.947: [ OCRCONF][1325856320]Exiting [status=failed]...

[root@rac1 lost+found]#

这是Bug.4679769 FAILED TO FORMAT OCR DISK USING CLSFMT

 

综上,在oracle rac中使用raw device还是asmlib看情况而定,我一直使用raw device。在重装时,务必清理干净。bash_profile的配置大家可以参考。

这是10gRAC的,我还有一个关于11g RAC的安装总结,等有空整理出来,再放上来。希望得到您的支持。(虚荣心啊,人性的弱点吗?)

分享到:
评论
1 楼 mikixiyou 2012-06-08  
这是10gRAC的,我还有一个关于11g RAC的安装总结,等有空整理出来,再放上来。希望得到您的支持。(虚荣心啊,人性的弱点吗?)

相关推荐

    Oracle 11g RAC for Linux 安装步骤

    总结来说,Oracle 11g RAC的Linux安装涉及硬件配置、操作系统准备、软件包下载、系统参数配置、安装预处理、集群件安装和数据库配置等多个步骤。这不仅需要对Linux系统有深入了解,还需要对Oracle数据库的安装和配置...

    vmware+linux+oracle10g rac全过程(7)

    本文将深入讲解如何在 VMware 虚拟环境中使用 Linux 操作系统来搭建 Oracle 10g RAC 环境。这一过程涉及多个步骤,包括虚拟机配置、Linux 安装、Oracle RAC 相关软件的安装和配置,以及故障排查。 首先,虚拟机的...

    vmware+linux+oracle10gRAC全过程.doc

    7.Oracle RAC 的实验环境搭建:文章中提到使用 VMware Server 1.0.6 创建虚拟机,安装 Linux Enterprise 5.1 操作系统,并安装 Oracle 10g RAC 软件,进行了详细的实验环境搭建。 8. 实验过程中的经验教训:文章中...

    vmware安装oracle10grac

    通过以上步骤,您应该能够在VMware环境下成功安装并配置Oracle 10g RAC。尽管整个过程较为复杂,但随着经验的积累,未来再次部署同类环境时将会更加得心应手。希望本指南能帮助您顺利完成Oracle 10g RAC的安装配置...

    Pro Oracle Database 11g RAC on Linux.pdf

    本书《Pro Oracle Database 11g RAC on Linux》由Steve Shaw和Martin Bach编写,旨在为读者提供Oracle Database 11g RAC在Linux环境下的安装、管理和性能优化等方面的深入指导。以下是对该书中关键知识点的详细说明...

    基于LINUX的Oracle10GRAC管理维护.doc

    【基于LINUX的Oracle10GRAC...总结,Oracle10g RAC在Linux环境下的管理维护是一个综合性的任务,涉及网络、存储、进程、数据库等多个方面,要求管理员具备深厚的Oracle知识和实践经验,以确保系统的稳定性和高可用性。

    vmware+linux+oracle10g_rac全过程.doc

    【描述】:本文档详细记录了一位专家在安装Oracle 10g RAC(Real Application Clusters)过程中的每一步,包括在vmware环境中设置Linux服务器以及解决问题的经验总结,适合初学者跟随操作。 【标签】:vmware、...

    Installing Oracle RAC 10g Release 2 on Linux x86(中)

    Oracle Database 10g Release 2 RAC(Real Application Clusters)的安装流程旨在指导新手及有经验的用户在Linux环境下部署RAC数据库。本文档详细阐述了安装过程的每一步骤,特别强调了它适用于学习和研究场景,而非...

    三思笔记]-手把手教你用vmware安装oracle10g RAC

    ### Oracle 10g RAC在VMware下的安装教程 #### 一、引言与准备工作 在当前数字化转型的大背景下,企业对数据处理能力的要求日益提高,Oracle 10g RAC(Real Application Clusters)作为一款高性能的数据库集群解决...

    vmware+linux+oracle10g_rac全过程

    在本实验中,我们将详细介绍如何使用VMware Server、Linux Enterprise 5.1以及Oracle 10g for Linux (10.2.0.1)来搭建一个完整的Oracle Real Application Clusters (RAC)环境。此实验旨在模拟企业级数据库集群的应用...

    VM下搭建ORACLE10G RAC for ASM

    在本教程中,我们将深入探讨如何在VMware Workstation环境下搭建Oracle 10g RAC (Real Application Clusters) 集群,并结合Automatic Storage Management (ASM)进行存储管理。Oracle RAC是一种高可用性解决方案,它...

    Oracle.Database.10g.RAC.on.Linux

    《Pro Oracle Database 10g RAC on Linux: Installation, Administration, and Performance》是一本针对Oracle Database 10g RAC在Linux环境下部署、管理和性能优化的专业指南。通过对本书的学习,读者不仅可以掌握...

    Oracle Database 11g RAC手册 原书第2版

    根据提供的信息,《Oracle Database 11g RAC手册 原书第2版》是一部针对Oracle Database 11g Real Application Clusters (RAC) 的专业指导书籍。尽管部分内容重复提及了一个与本书主题无关的Linux系统门户网站,我们...

    oracleRAC9 单节点安装文档

    - 在安装过程中,请确保安装 Development Packages,这包括编译工具等必需的软件包。 2. **配置内核参数** - 可以通过两种方式来调整内核参数: - 动态调整:适用于临时测试,但在系统重启后会丢失设置。 - 静态...

    ORACLE中安装RAC指导书(初学者总结).

    下面将详细介绍在Oracle中安装RAC的基本步骤和相关知识点。 一、环境准备 在开始安装前,确保操作系统(如Linux或Solaris)已经进行了适当的配置,包括设置正确的硬件资源、网络环境和权限。你需要至少两台服务器,...

    Oracle 11g RAC 实施文档

    总结来说,Oracle 11g RAC的实施是一个综合性的工程,涉及到多方面的技术和规划。从理解RAC的基本原理,到设计满足需求的系统架构,再到细致的网络配置,每一个环节都至关重要,需要专业知识和经验来确保实施的成功...

    rac_linux_install

    根据给定文件的信息,本文将深入探讨在Linux环境下安装Oracle RAC(Real Application Clusters)的详细步骤与关键配置要点。Oracle RAC是Oracle数据库的一种集群解决方案,它允许多个数据库实例同时访问同一组数据...

    实战完美搭建Oracle 11gR2_RAC+ASM+DG(最新精编版)

    本文档旨在提供一个详尽的指南,帮助读者在虚拟环境中搭建Oracle 11gR2_RAC(Real Application Clusters)、ASM(Automatic Storage Management)以及DG(Data Guard)集群。通过本实验,读者不仅能够了解和掌握...

Global site tag (gtag.js) - Google Analytics