linux_5.5_x64 安装 oracle 10g rac for OCFS or ASM

安装顺序:

1、配置环境

2、安装cluster

3、安装dbms

4、升级cluster

5、升级dbms

6、安装db

 

 

 

 

准备共享存储:

Ocfs集群文件系统:准备一块很大的共享存储即可;

asm管理的集群文件系统:准备两块最好是200m大小的裸盘共享存储用于vote,ocr,准备一块很大的共享存储用于存放数据

高级存储可在aix系统上进行二次条带化,每个lun都要一样.最好是每个lun都只分一个使用。

 

 

注意:

如果没有配置时间同步协议,那么安装的那台机器时间一定要比另外一台机器时间落后才行(使用date -s "20130817 15:44:00"方式修改);

 两边的目录,用户ID,都有一样。

注意小的细节。

 

环境准备:两个节点都需要配置

1.安装系统,把所有的开发包全部安装上

Red Hat Enterprise Linux 4.0:

binutils-2.15.92.0.2-10.EL4

compat-db-4.1.25-9

control-center-2.8.0-12

gcc-3.4.3-9.EL4

gcc-c++-3.4.3-9.EL4

glibc-2.3.4-2

glibc-common-2.3.4-2

gnome-libs-1.4.1.2.90-44.1

libstdc++-3.4.3-9.EL4

libstdc++-devel-3.4.3-9.EL4

make-3.80-5

pdksh-5.2.14-30

sysstat-5.0.5-1

xscreensaver-4.18-5.rhel4.2

libXp-devel      也需要安装

 

 

--使用rpm -q 命令进行检测:

# rpm -q binutils compat-db control-center gcc gcc-c++ glibc glibc-common gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver

# rpm -ivh *.rpm

 

 

2.配置/etc/hosts文件及配置网卡


配置网卡:

setup

Service network restart

每个节点需要配置两个网卡 不能在同一网段 eth1不要配网关


配置主机名:

主机名必须要小写,不能是大写

最好不要有' -''_' (中划线,下划线

/etc/hosts文件中也不再加别名;

127.0.0.1 必须要有,后面不能加主机名,保持原来的localhost.localdoma

 

# /etc/sysconfig/network

# hostname node1

 

关闭iptables

关闭selinux




修改两个节点的host文件:

127.0.0.1     localhost.localdomain localhost

 


192.168.56.20 node1

10.10.10.20 node1priv

192.168.56.101 node1vip


192.168.56.30 node2

10.10.10.30 node2priv

192.168.56.201 node2vip


 

注:

127.0.0.1     linux1 localhost.localdomain localhost

需要将 linux1删除如下:

127.0.0.1     localhost.localdomain localhost

如果 RAC 节点名出现在回送地址中,您在 RAC 安装期间将接收到以下错误信息:

ORA-00603:ORACLE server session terminated by fatal error

ORA-29702:error occurred in Cluster Group Service operation

 

public ip:最好有2块,冗余

          vip:最好有2块,冗余

   私有ip:最好有2块,冗余

Public ipvip最好的状态是都使用两块网卡,防止单单点故障;

vip public 必须要在同一网段;

 

 

 


 

3.配置核心参数

fs.aio-max-nr   不能太小

Kernerl.Shmmax       最好大,不能小,否则会出现在多个内存段(Ipcs -m查看)。设置和物理内存大小一样,或比内存大

如:kernel.shmmax = 68719476736

/etc/sysctl.conf

kernel.core_uses_pid = 1

fs.file-max = 65536

fs.aio-max-nr = 1048576

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 1048576

net.core.rmem_max = 1048576

net.core.wmem_default = 262144

net.core.wmem_max = 262144

kernel.shmmni = 4096

kernel.sem = 500 64000 100 128

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

 

# sysctl -p

/etc/security/limits.conf

oracle  soft     nofile 655360

oracle  hard     nofile 635360

oracle  soft    nproc   10240

oracle  hard    nproc   16384

 

4.创建用户oracle 和dba组(两个节点执行)

#groupadd -g 500 dba

#useradd -u 501 -g dba oracle

 

配置环境变量:

/home/oracle/.bash_profile

 


export PATH

export ORACLE_BASE=/oracle/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2/db_1

export ORACLE_SID=orcl1

export ORA_CRS_HOME=$ORACLE_BASE/product/10.2/crs_1

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

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export ORACLE_TERM=xterm

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

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

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

export LD_LIBRARY_PATH


 

注意:ORACLE_SID在各节点的名称不一样(两个节点 执行)

创建目录和权限


[root@localhost Server]# mkdir /oracle/app/oracle -p

[root@localhost Server]# chown -R oracle:dba  /oracle/


 

 

5 . 配置互相信任(oracle用户配置)

两节点都需要有/home/oracle/.ssh/authorized_keys文件,oracle用户能互相信任

$ /usr/bin/ssh-keygen -t rsa

$ /usr/bin/ssh-keygen -t dsa


 

在节点1上:

$ cd /home/oracle/.ssh/

$ scp id_dsa.pub node2:/home/oracle/.ssh/id_dsa.pub2

$ scp id_rsa.pub node2:/home/oracle/.ssh/id_rsa.pub2

在节点2上:

$ cat id_rsa.pub* id_dsa.pub* >>authorized_keys

$ chmod 644 authorized_keys

$ scp authorized_keys node1:/home/oracle/.ssh/

 

节点1,节点2上都要测试:

$ ssh node1 date

$ ssh node1priv date

$ ssh node2 date

$ ssh node2priv date

 

 

6.配置raw或 ocfs2

配置ocfs:

如果是ocfs:

从oss.oracle.com下载ocfs2软件

两个节点都需要安装ocfs

# uname -a 根据内核版本来下载软件

ocfs2-2.x.x-x.ELsmp-1.0.7-1.x86_64.rpm

还将需要下载以下两个支持文件:

ocfs2console-1.0.2-1.x86_64.rpm

ocfs2-tools-1.0.2-1.x86_64.rpm

ocfs2toolocfs2console下载最新,不需要与内核匹配了

 用root用户安装


使用root用户配置ocfs2

/etc/init.d/o2cb configure(在两个节点都执行)

Load O2CB driver on boot (y/n) [n]: y   其它的都是默认

/etc/init.d/o2cb enable(在两个节点都执行)

使用root用户调出图形界面添加节点信息

/usr/sbin/ocfs2console(在1节点执行)

 

cluster->configure node 添加节点的私有地址

cluster->propagate configuration 传送cluster文件到其它节点

 

 

创建oradata目录

mkdir /oradata

chown -R oracle:dba /oradata


使用root用户格式化磁盘为ocfs2格式

mkfs.ocfs2 -L "clusterfiles" /dev/sdb(在节点1执行)

mount -o datavolume,nointr -t ocfs2 /dev/sdb /oradata

OCFS2 must be mounted with the "datavolume" and "nointr" mount options. The

datavolume option ensures that the Oracle processes open these files

with the o_direct flag. The "nointr" option ensures that the ios

are not interrupted by signals.

 

 

将 OCFS 配置为在启动时自动载入

我们需要在集群中的所有节点上以 root 用户帐户的身份运行以下命令

export PATH=$PATH:/sbin:/usr/sbin

 

使用root用户mount集群文件系统

echo "mount -o datavolume,nointr -t ocfs2 /dev/sdb /oradata" >> /etc/rc.local

echo "chown -R oracle:dba /oradata" >> /etc/rc.local

echo "chmod -R 775 /oradata" >> /etc/rc.local

 

/etc/ocfs2/ cluster.conf  删除,自己配置

 

Add Node :主机名+私有网卡+端口7777

 

 

 

RAWASM管理方式

ASM方式:

配置RAW

在节点1上分区:

fdisk /dev/sdn 在虚拟机中,分区的前5个扇区是不能使用的,需要跳过

至少要分别创建一块vote,ocr,一块大的存储用于存放data

 

在两个节点上进行配置:

修改/etc/udev/rules.d/60-raw.rules 文件

添加如下内容:


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

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

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

ACTION=="add", KERNEL=="raw[1-3]", OWNER="oracle", GROUP="dba", MODE="660"

ACTION=="add", KERNEL=="raw*", OWNER="oracle", GROUP="dba", MODE="660"


start_udev

# raw -qa

在节点2上做相同的配置

如果节点2上不能成功配置raw,重启节点2即可

 


RAW方式

除了创建vote,ocr这两个裸设备外,还需要创建对应的数据库文件

 

 



7.请注意,当您使用 ssh 第一次访问远程主机时,其 RSA 密钥将是未知的,从而将提示您确认是否希望连接该主机。 SSH 将记录该远程主机的 RSA 密钥,并在以后连接该主机时不再做出相关提示。

在第一个主机上,以 oracle 用户身份登录

ssh hostname1

ssh hostname1priv

ssh hostname2

ssh hostname2priv

 

在第二个主机上,以 oracle 用户身份登录

ssh hostname1

ssh hostname1priv

ssh hostname2

ssh hostname2priv

 

8.安装crs(在一个节点上运行)

$ gunzip 10201_clusterware_linux_x86_64.cpio.gz

$ cpio -icmvd <10201_clusterware_linux_x86_64.cpio

 

$ ./runInstaller -ignoreSysPrereqs

 

两节点都需要执行rootpre.sh

# cd /u01/app/soft/clusterware/rootpre/

#./rootpre.sh

 

注意要选择OraCrs10g_home

/u01/app/oracle/product/10.2.0/crs_1


 

Vote,ocr磁盘选择:

 

 

ocfs

选择vote,ocr文件,不需要事先创建,自动会创建

/oradata/crs/ocr.dat

/oradata/crs/vote.dat

Raw/asm

Vote disk crs disk ,需要事先创建裸设备,建议创建的大小为200M,不要超过2G,选择对对应的

/dev/raw/raw1

/dev/raw/raw2

 

 

按顺序执行下面的脚本:

node1,node2

/oracle/app/oracle/oraInventory/orainstRoot.sh

node1,node2

/oracle/app/oracle/product/10.2/crs_1/root.sh

node2运行root.sh后,会报错如下:


Running vipca(silent) for configuring nodeapps

/oracle/app/oracle/product/10.2/crs_1/jdk/jre//bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory


解决:

$ORA_CRS_HOME/bin

在所有的节点编辑vipca文件

if [ "$arch" = "i686" -o "$arch" = "ia64" -o "$arch" = "x86_64" ]

       then

            LD_ASSUME_KERNEL=2.4.19

            export LD_ASSUME_KERNEL

       fi

       unset LD_ASSUME_KERNEL        <<<== Line to be added

      

在所有的节点编辑srvctl文件       

LD_ASSUME_KERNEL=2.4.19

export LD_ASSUME_KERNEL

unset LD_ASSUME_KERNEL     <<<== Line to be added 

 

然后在node2 root用户执行

[root@node1 bin]# ./vipca

Error 0(Native: listNetInterfaces:[3])

  [Error 0(Native: listNetInterfaces:[3])]

解决:

在node2 root用户执行


[root@node2 bin]# ./oifcfg setif -global eth0/192.168.56.0:public

[root@node2 bin]# ./oifcfg setif -global eth1/10.10.10.0:cluster_interconnect


 

 配错了可以删除:

./oifcfg delif -global eth1  172.10.10.0

./oifcfg delif -global eth0/192.168.1.0


vip配错了:


[root@node2 oracle]# srvctl modify nodeapps -n node2 -A 192.168.56.201/255.255.255.0/eth0

[root@node2 oracle]#  srvctl modify nodeapps -n node1 -A 192.168.56.101/255.255.255.0/eth0




再次执行

[root@node1 bin]# ./vipca

选择public 网卡,添加两个节点的vip,添加完成后,才去集群安装的点击(OK)

注意:vippublic的子网掩码要相同

9.安装rdbms

$ ./runInstaller -ignoreSysPrereqs

在所有节点按顺序执行root.sh脚本

[root@node1 ~]# /etc/init.d/init.crs stop(不用执行)

[root@node1 ~]# /u01/app/oracle/product/10.2.0/db_1/root.sh

[root@node2 ~]# /etc/init.d/init.crs stop(不用执行)

[root@node2 ~]# /u01/app/oracle/product/10.2.0/db_1/root.sh

创建DB的时候一定要先配好监听

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30024909/viewspace-1344163/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30024909/viewspace-1344163/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值