准备环境的时 ,要4个对外IP,2个对内IP

不超过2T,,一般都用OCFS

高端存储适合用ASM

linux10G安装的时候,安装的机器时间要小于等于(如果是等于要严格等于)第二个机器的时间(只有linux10G会有这个问题),不然会报错,拷贝空值什么的。

出现此错误,说明是时间问题,

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

hosts里面要注意的地方:

1)127.0.0.1 那一行不能删除。

2)主机名要小写,不能大写。

3)不能加下划线。

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

关掉防火墙和SELinux

yum -y install compat-libstdc++* 
yum -y install elfutils-libelf-devel* 
yum -y install elfutils-libelf-devel-static* 
yum -y install gcc* 
yum -y install gcc-c++* 
yum -y install glibc* 
yum -y install glibc-common* 
yum -y install glibc-devel* 
yum -y install glibc-headers* 
yum -y install kernel-headers* 
yum -y install ksh* 
yum -y install libaio* 
yum -y install libaio-devel* 
yum -y install libgcc* 
yum -y install libgomp* 
yum -y install libstdc++* 
yum -y install libstdc++-devel* 
yum -y install make* 
yum -y install sysstat* 
yum -y install unixODBC* 
yum -y install unixODBC-devel* 
yum -y install libXp*

2.配置核心参数

vi /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

vi  /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
之后,执行:$ulimit验证一下.

vi  /etc/csh.login
if ( $USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif

vi /etc/pam.d/login
session    required     pam_limits.so

vi /etc/security/limits.conf
oracle  soft     nofile 655360
oracle  hard     nofile 635360
oracle  soft    nproc   10240
oracle  hard    nproc   16384

3.配置网络
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

在RAC1中,需要配置两个网段(RAC2也一样)

192.168.56.101 是公有网段

10.10.10.11 是私有网段

在RAC1中,配置两个文件可以达到修改IP的目的(RAC2中也如此类似操作)

vi  /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
HWADDR=08:00:27:65:d4:be
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
IPADDR=192.168.56.101
NETMASK=255.255.255.0
GATEWAY=192.168.56.1

vi  /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
HWADDR=08:00:27:5f:b7:85
IPADDR=10.10.10.11
NETMASK=255.255.255.0

之后,重启IP,使之生效。

service network restart

vi /etc/hosts

127.0.0.1  localhost.localdomain localhost
::1              localhost6.localdomain6  localhost6

#rac1
192.168.56.101 rac1
192.168.56.111 rac1vip
10.10.10.11    rac1priv
#rac2
192.168.56.102 rac2
192.168.56.222 rac2vip
10.10.10.22    rac2priv

4.创建用户,用户组

/usr/sbin/groupadd -g 1000 oinstall
/usr/sbin/groupadd -g 1200 dba
/usr/sbin/useradd -u 555 -g oinstall -G dba oracle

两边的用户id,组id 要一样

mkdir -p   /u01/app/oracle/product/10.2/db_1

mkdir -p   /u01/app/oracle/product/10.2/crs
chown -R oracle:oinstall /u01
chmod -R 775 /u01

vi /home/oracle/.bash_profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2/db_1
export ORA_CRS_HOME=$ORACLE_BASE/product/10.2/crs
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
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
export PATH=$PATH:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH

5.配置raw或 ocfs2
首先,添加共享存储。

从oss.oracle.com下载ocfs2软件

注意:两个节点都要装这三个软件

使用此命令查看 uname -a   注意下载的内核要一致,一个字母都不要差
安装ocfs2
ocfs2-2.6.9-22.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

root用户到文件所在的目录  rpm -Uvh *.rpm  即可安装

使用root用户配置ocfs2
/etc/init.d/o2cb configure   //一直回车,有失败也不用管
/etc/init.d/o2cb enable         //一直回车,有失败也不用管

使用root用户调出图形界面添加节点信息,配置节点,会弹出图形界面(在一个节点配置即可,一定要先加节点才能mount)
/usr/sbin/ocfs2console

注意:

1)name 一定要是主机名

2)ip 一定要是内部通讯的

可以手工配置,也可以在图形界面设置

通过如下命令可以查看是否两边是否一定

cd /etc/ocfs2

more *

/etc/init.d/o2cb config    //后台服务器

(如果之前没有格式化,可以在ocfs2界面格式化,)

使用root用户格式化磁盘为ocfs2格式(在一个节点上格式化就可以了)

mkfs.ocfs2 -L "clusterfiles" /dev/sdb    //只需要一个节点运行此命令即可

(

之前一定要把防火墙关闭,要不然,mount不上

chkconfig --list|grep ip

此命令一定要是off的

chkconfig --level 2345 ip6tables off

chkconfig --level 2345 iptables off

service iptables stop

service ip6tables stop

)

mkdir   /oradata    //两个节点都要操作此命令

之后要改权限,改成oracle所有。

mount -o datavolume,nointr -t ocfs2 /dev/sdb /oradata   //两个节点都要操作此命令

df -h 查看是否成功挂载

再到另外一个节点查看 mount

之后运行如下命令使其 online (两个节点都要运行此命令)

cd /etc/init.d/

./o2cb online

可以通过 如下查看是online(两个节点都要online才行)

cd /etc/init.d/

./o2cb    //命令可以不记全,只输入此,随后又提示。

将 OCFS 配置为在启动时自动载入 
我们需要在集群中的所有节点上以 root 用户帐户的身份运行以下命令
export PATH=$PATH:/sbin:/usr/sbin

6.配置Hangcheck 计时器
[root@rac1-21 /]# vi /etc/rc.local

增加:

modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180

这个增加后,记住一定要重新或者执行生效啊!

要立即加载模块,执行

[root@rac1-21 ~]# modprobe -v hangcheck-timer

查看是否执行成功,下面为成功

[root@rac1-21 ~]# lsmod | grep hangcheck_timer

hangcheck_timer         8153  0

7.

使用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

8 . 配置互信(一定要是oracle用户,两个节点都要做。)
/usr/bin/ssh-keygen -t rsa
/usr/bin/ssh-keygen -t dsa
把4个文件合成一个文件

注意权限要是是644

chmod 644 authorized_keys

在节点RAC2进行的操作

[oracle@RAC2 ~]$ ls -a
.   .bash_history  .bash_profile  .emacs  .mozilla  .viminfo
..  .bash_logout   .bashrc        .kde    .ssh      .Xauthority

[oracle@RAC2 ~]$ cd .ssh

[oracle@RAC2 .ssh]$ ls
id_dsa  id_dsa.pub  id_rsa  id_rsa.pub

[oracle@RAC2 .ssh]$ scp id_dsa.pub rac1:/home/oracle/.ssh/id_dsa.pub2
oracle@rac1's password: 
id_dsa.pub                                         100%  601     0.6KB/s   00:00

[oracle@RAC2 .ssh]$ ls
id_dsa  id_dsa.pub  id_rsa  id_rsa.pub  known_hosts

[oracle@RAC2 .ssh]$ scp id_rsa.pub rac1:/home/oracle/.ssh/id_rsa.pub2
oracle@rac1's password: 
id_rsa.pub

再到RAC1节点
cat id_dsa.pub  id_dsa.pub2  id_rsa.pub  id_rsa.pub2 > authorized_keys

scp authorized_keys  rac2:/home/oracle/.ssh

之后要测试一下(如果都不需要密码,得到时间后。就说明ssh 对等性配置成功。)

[oracle@rac1 ~]$ ssh rac1 date

[oracle@rac1 ~]$ ssh rac2 date
Sat Sep 14 16:03:58 CST 2013

[oracle@rac1 ~]$ ssh rac1priv date
Sat Sep 14 16:04:59 CST 2013

[oracle@rac1 ~]$ ssh rac2priv date
The authenticity of host 'rac2priv (10.10.10.22)' can't be established.
RSA key fingerprint is db:ad:62:77:5a:b5:d6:8f:c6:55:a9:64:61:9b:39:bc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac2priv,10.10.10.22' (RSA) to the list of known hosts.
Sat Sep 14 16:05:09 CST 2013

[oracle@rac2 ~]$ ssh rac1 date
Sat Sep 14 16:06:54 CST 2013

[oracle@rac2 ~]$ ssh rac2 date
Sat Sep 14 16:09:30 CST 2013

[oracle@rac2 ~]$ ssh rac1priv date
Sat Sep 14 16:09:55 CST 2013

[oracle@rac2 ~]$ ssh rac2priv date
The authenticity of host 'rac2priv (10.10.10.22)' can't be established.
RSA key fingerprint is db:ad:62:77:5a:b5:d6:8f:c6:55:a9:64:61:9b:39:bc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac2priv,10.10.10.22' (RSA) to the list of known hosts.
Sat Sep 14 16:10:03 CST 2013

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

在第二个主机上,以 oracle 用户身份登录
ssh rac1
ssh rac1priv
ssh rac2
ssh rac2priv

9.安装crs(一个节点安装就可以了)

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

path要改一下,不能放在同一个目录

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

上面这里看到,要与hosts要严格一致

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

上面的文件名字可以随便取,但是必须要有这个目录,文件可以他会自己生成。

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

之后会有提示执行两个脚本,两个节点都要执行这两个脚本

执行的顺序是:RAC1执行第一个脚本,RAC2执行第一个脚本,RAC1执行第二个脚本,RAC2执行第二个脚本

出现如下,则为正常:

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

执行完两个脚本后,

用root用户

cd /u01/app/oracle/product/10.2/crs/bin

vi vipca加一行(两个节点都要做 )

unset LD_ASSUME_KERNEL

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

[root@node1 bin]# ./oifcfg getif    //查看是否有信息

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

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

[root@node1 bin]# ./vipca     //在第一个节点上做

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

装完软件后起的服务。如果ocr损坏,这些服务就起不来。

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

10.安装数据库软件
11.升级集群软件和数据库软件。

注意,集群升级软件和数据库升级软件是同一个。

先装哪个,先升级哪个。

注意下面的一定要看清楚是集群软件还是数据库软件。

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

这里下面的是集群软件。我们选择先升级集群软件。

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

一定要看清楚里面说什么,不能退出。里面会提示执行脚本。

第一个节点执行完这两个脚本,然后再到第二个节点执行两个脚本。

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

当升级完成后,这些服务会起来。

12,升级完成,配监听(配完监听才能建库)

配完监听会发现,多了两个监听的服务

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

13,建库

一般都要选择这个

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

字符集一定是开发要求是什么字符集,就选什么字符集,一般来说,选择 UTF8

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

安装中,如果报如下错打一个补丁就可以了。

linux 10201 ocfs RAC 安装+升级到10205-LMLPHP

退出的时候,会停留很长时间,这是因为他要停了之后,再起来。

05-11 22:50