2.安装需要的包,在两台机器上进行: rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat
需要的包: binutils-2.17.50.0.6-14.el5 compat-libstdc++-33-3.2.3-61 elfutils-libelf-0.137-3.el5 elfutils-libelf-devel-0.137-3.el5 gcc-4.1.2-51.el5 gcc-c++-4.1.2-51.el5 glibc-2.5-65 glibc-common-2.5-65 glibc-devel-2.5-65 glibc-headers-2.5-65 pdksh.5.2.14 需要从Redhat 5中提取 libgomp-4.4.0-6.el5 libaio-0.3.106-5 libaio-devel-0.3.106-5 libgcc-4.1.2-51.el5 libstdc++-4.1.2-51.el5 libstdc++-devel-4.1.2-51.el5 make-3.81-3.el5 sysstat-7.0.2-11.el5
unixODBC-2.2.11 unixODBC-devel-2.2.11安装grid自带的包: # 检查是否已经安装
# rpm -qi cvuqdisk # 如果已安装需要先卸载之前的版本 # rpm -e cvuqdisk # 安装新版本 # CVUQDISK_GRP=oinstall; export CVUQDISK_GRP # rpm -ivh cvuqdisk-1.0.9-1.rpm 解析:如果没有cvudqdisk,集群验证实用程序就无法发现共享磁盘,当运行集群验证程序时,就会收到这样的错误信息:"Package cvuqdisk not installed" .cvuqdisk RPM 包含在 oracle grid infrastructure 安装介质上的rpm目录中。设置环境变量:CVUQDISK_GRP,使其指向作为cvuqdisk的所有者所在的组(本文为oinstall) 在 /mnt/rpm 下安放所有的 RPM 包,虽然 rpm -Uvh * 会安装所有的包,但依然会漏掉一些,仔细检查一下,确保安装所有的包。1.2网卡绑定:(系统工程师配合搞定)
1. 绑定前需要彻底关闭 NetworlManger 服务,否则会和 bond 网卡冲突 chkconfig Networ Manager off # 停止开机启动该服务 service NetworkManager stop # 现在关闭服务#cd /etc/sysconfig/network-scripts #vi ifcfg-bond0 DEVICE=bond0 ONBOOT=yes BOOTPROTO=staticT YPE=Ethernet USERCTL=no IPADDR=10.80.1.11 NETMASK=255.255.255.0 GATEWAY=10.80.1.254 BONDING_OPTS="million=100 xmit_hash_policy=1 mode=2"
#vi ifcfg-eth1 DEVICE=eth1 TYPE=Ethernet ONBOOT=yes HWADDR=90:E2:BA:83:76:89 #Mac地址不变 MASTER=bond0 SLAVE=yes USERCTL=no BOOTPROTO=none
#vi ifcfg-eth3
DEVICE=eth3 TYPE=Ethernet ONBOOT=yes HWADDR=HG:E3:FA:53:26:6A #Mac 地址不变 MASTER=bond0 SLAVE=yes USERCTL=no BOOTPROTO=none#service network restart // 网络重启
#cat /proc/net/bonding/bond0 //查看绑定情况 #ifconfig -a //查看网卡情况2.网络规划:
编辑/etc/hosts,做如下配置
##Public IP
10.80.1.1 rac1.com rac1
10.80.1.2 rac2.com rac2
#VIP
10.80.1.3 rac1-vip.com rac1-vip
10.80.1.4 rac2-vip.com rac2-vip
#Private IP
11.11.11.11 rac1-priv.com rac1-priv
11.11.11.12 rac2-priv.com rac2-priv
#scan IP
10.80.1.5 rac-scan.com rac-scan
3.ASM磁盘组的规划:
2-9总共8块盘 =>
2,3,4 各20G 做OCRVOTE
5,6,7,8各2T 做DATA
9 为600G 做ARCH
4.创建用户和组:
groupadd -g 1000 oinstall
groupadd -g 1031 dba
groupadd -g 1032 oper
groupadd -g 1020 asmadmin
groupadd -g 1022 asmoper
groupadd -g 1021 asmdba
useradd -u 1101 -g oinstall -G dba,asmdba,oper oracle
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
# id oracle
#id grid
mkdir -p /u01/app/11.2.0/grid
chown -R grid.oinstall /u01/app/11.2.0
mkdir -p /u01/app/grid
chown -R grid:oinstall /u01/app/grid
chown -R grid.oinstall /u01
mkdir -p /u01/app/oracle
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01
给用户设置密码:
passwd oracle
passwd grid
5.设置用户环境变量:
Grid用户:
# cd ~
# vi .profile
ORACLE_BASE=/u01/app/grid
export ORACLE_BASE
ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_HOME
ORACLE_SID=+ASM1
export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export PATH
注意:在第2个机器上 ORACLE_SID=+ASM2
ORACLE用户:
# cd ~
# vi .profile
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_SID=jtptweb1
CRS_HOME=/u01/app/11.2.0/grid
export ORACLE_HOME
export ORACLE_BASE
export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin:$CRS_HOME/bin
export PATH
注意:第2个机器ORACLE_SID=jtptweb2
6. 修改limits.conf shell限制
[root@rac1 ~]#vi /etc/security/limits.conf
#ORACLE SETTING
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024 oracle hard nofile 65536
7.用multipath+udev来配置ASM磁盘组
1.用multipath -ll命令查看磁盘情况,记录wwid
2.修改文件 multipath.conf 文件:
把multipath -ll中识别的wwid编辑进去,并且对应alias,根据用途和之前划分磁盘的大小,比如:asm-data01-04各2T,存数据。asm-arch 600G存归档,asm-crs01-03各20G,存ocr_vote
编写之后,
service multipathd restart
multipath -F 清除所有的路径
multipath -v2 清理不active的路径
确保multipathd开机能自动启动:
chkconfig --list multipathd
如果关闭的话就用命令:#/sbin/chkconfig --level 2345 multipathd on
在第二台机器上进行一样的操作。注意,dm对应的别名不一定和第一台相同,我们通过观察:
#cd /dev/mapper
发现了对应关系。
编写UDEV的规则文件。
在/etc/udev/rules.d下编写 99-oracle-asmdevices.rules
ENV{DM_NAME}=="asm-crs01",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="asm-crs02",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="asm-crs03",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="asm-data01",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="asm-data02",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="asm-data03",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="asm-data04",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
ENV{DM_NAME}=="asm-arch",OWNER:="grid",GROUP:="asmadmin",MODE:="660"
编写完成后
# start_udev
查看效果:
#cd /dev/
#ls -al
8.修改/etc/sysctl.conf 文件
kernel.shmall = 67108864
kernel.shmmax = 177167400960
#kernel.shmmax = 物理内存 * 0.65 =165G 165*1024*1024*1024 = 177167400960
#kernel.shmall = 256*1024*1024*1024/4096 =67108864
9.修改 /etc/pam.d/login文件
vi /etc/pam.d/login
session required pam_limits.so
Linux默认的内存使用为实际内存的一半,这里需要修改一下
修改 /etc/fstab
修改成:
# /etc/fstab
# Created by anaconda on Thu Apr 9 15:52:10 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
UUID=101d798b-0ac6-42be-a7c7-6b6e5ff61ad5 /boot ext4 defaults 1 2
/dev/mapper/VolGroup-lv_home /home ext4 defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults,size=165G 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
~
# mount -o remount /dev/shm
11.关闭ntpd
$service ntpd status
$ cd /etc
$ mv ntp.conf ntp.conf.bak
用root 给/tmp/pgk赋权,
#chmod–R 777 /tmp/pgk
在grid用户下解压第三个包:
注意:用unzip就可以了,注意这里很重要,一定要用grid用户解压,确保包里的东西权限不会发生改变。如果用root解压,再赋权,里面的权限会发生改变
注意:这一个步骤也需要在两个节点执行,需要把grid和三个包同时解压到两个节点上
export LANG=en_US.UTF-8
配置用户等效性:用grid 用户执行
sshsetup/sshUserSetup.sh -user grid -hosts "raca1 raca2"
sshsetup/sshUserSetup.sh -user grid -hosts "znydb01 znydb02"
