安装顺序:
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 ip和vip最好的状态是都使用两块网卡,防止单单点故障;
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 ocfs2tool和ocfs2console下载最新,不需要与内核匹配了 用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
|
RAW或ASM管理方式 |
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)
注意:vip和public的子网掩码要相同
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/