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

转载 2015年11月18日 18:18:32

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 主机, 建立与rac2 的ssh 信任

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的安装总结,等有空整理出来,再放上来。希望得到您的支持。(虚荣心啊,人性的弱点吗?)

举报

相关文章推荐

在 Linux x86 上安装 Oracle RAC 10g

DBA:Linux在 Linux x86 上安装 Oracle RAC 10g作者:John Smiley了解在 Red Hat Enterprise Linux 或 Novell SUSE Ente...

Oracle 10g ASM RAC安装

1.基本配置  机器A:一块主磁盘15G,6块共享磁盘。2.安装RPM包binutils-2.15.92.0.2-13.EL4 compat-db-4.1.25-9 compat-libstdc+...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

oracle 10g rac 安装图解

规划:所用linux系统以虚拟化方式安装在esx上,配置有内网的yum源,各分配有16G存储,下面为简单拓扑图 一,下载软件 1,地址:http://www.oracle.com/...

oracle 10g rac安装报错汇总

删除crs Oracle CRS stack is already configured and will berunning under init(1M) Failure at final chec...

基于Linux (RHEL 5.5) 安装Oracle 10g RAC

本文所描述的是在Red Hat 5.5下使用vmware server 来安装Oracle 10g RAC(OCFS + ASM),本文假定你的RHEL5已经安装完毕,下面列出的是对Linux的具体配...

Oracle rac 10g for linux vmware安装笔记

一、安装主机网卡 主机为dell Optiplex 780,预装版为ubuntu,将其格式为windows 2003 server版之后,发现不能识别网卡,下载网卡驱动将其打上,驱动地址为 ...

在rhel5.5下安装oracle 10g

在rhel5.5下安装oracle 10g 第一步 rpm -q gcc gcc-c++ glibc make binutils openmotif setarch compa...

在Linux enterprise 5下安装Oracle 10g

在Linux enterprise 5下安装Oracle 10g 一、安装系统 首先安装Linux系统,根据Oracle官方文档的建议,在机器内存小于1G的情况下,swap分区大小应该设置为内存的...

LINUX 5.5 下安装ORACLE 10g

1.查看各种硬件环境 1.1 物理内存需要2G      grep MemTotal /proc/meminfo 1.2 交换分区:至少1G,最好是物理内存的2倍       grep Swa...

Oracle 10g 在linux下的安装

安装准备: l         Oracle Database 10g Release 2(10.2.0.1) Software 解压文件命令: unzip 10201_database_...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)