查看: 2696|回复: 5

[安装] VMWare中使用RHEL5.5安装ORACLE 11G RAC

[复制链接]
论坛徽章:
0
跳转到指定楼层
1#
发表于 2015-10-16 16:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 scottitpub 于 2015-10-17 17:40 编辑

1.1.1.1 节点基本信息搭建3个节点的oracle 11g rac集群,三个节点都采用VMware创建的虚拟机,机器的详细信息如下:
  主机名称
  
  操作系统
  
  IP地址
  
  redhat1
  
  RHEL_6.4_x86_64(RHEL_5.5_x86_64)
  
  Public IP:192.168.182.111
  Private IP:10.10.10.111
  Virtual IP:192.168.182.121
  SCAN IP:192.168.182.182
  
  redhat2
  
  RHEL_6.4_x86_64(RHEL_5.5_x86_64)
  
  Public IP:192.168.182.112
  Private IP:10.10.10.112
  Virtual IP:192.168.182.122
  SCAN IP:192.168.182.182
  
  redhat3
  
  RHEL_6.4_x86_64(RHEL_5.5_x86_64)
  
  Public IP:192.168.182.113
  Private IP:10.10.10.113
  Virtual IP:192.168.182.123
  SCAN IP:192.168.182.182
  
  客户端
  
  RHEL_5.5_x86_64
  
  192.168.182.211
  
注:操作系统推荐使用RHEL5.5,此版本是ORACLE官方认证的系统。
每台虚拟机需要添加两块网卡,一个用于Public IP,一个用于私有Private IP。
三个节点的服务器需要共享磁盘,此理中用VMWare配置了12块共享磁盘。
系统安装完成后,最好将光驱删除,光驱没用。

1.1.1.2 用户和用户组配置创建用户组(三个节点上执行相同的操作):
groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 asmdba
groupadd -g 504 asmadmin
groupadd -g 505 asmoper
groupadd -g 506 oper

修改oracle用户所在的群组:
usermod -g oinstall -Gdba,asmdba,asmadmin,asmoper,oper oracle
如果没有oracle用户,新加oracle用户可以使用如下脚本:
useradd -u 500 -g oinstall -G dba,asmdba,asmadmin,asmoper,operoracle[-d /home/oracle]

添加grid用户并设置群组:
useradd -u 501 -g oinstall -Gdba,asmdba,asmadmin,asmoper,oper grid [-d /home/grid]

修改oracle、grid用户的密码,全设置为oracle:
passwd oracle
passwd grid

1.1.1.3 创建安装目录并授权三个节点上执行相同的操作

mkdir -p /u01/app/oraInventory
chown -R gridinstall/u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory

mkdir -p /u01/app/11.2.0/grid
chown -R gridinstall /u01/app/11.2.0/grid
chmod -R 775 /u01/app/11.2.0/grid

chown -R gridinstall /u01/app/11.2.0
chmod -R 775 /u01/app/11.2.0

mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/cfgtoollogs
mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1
chown -R oracleinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle

mkdir -p /u01/app/grid
chown -R gridinstall /u01/app/grid
chmod -R 775 /u01/app/grid

如果权限没配置正确,安装grid集群软件的时候会报错,一般是OUI-10182错误,如果报错,再次回来查看/u01目录下的各个文件夹权限,并修改。

1.1.1.4 修改主机名
1.      分别编辑三个节点中的/etc/sysconfig/network文件,将hostname分别修改为redhat1,redhat2,redhat3,以节点2为例,修改后如下:
                              
2.      保存后执行命令:
节点1:hostname redhat1
节点2:hostname redhat2
节点3:hostname redhat3
3.      然后重启网络服务:servicenetwork restart或重启机器。

1.1.1.5 配置IP(hosts文件)修改hosts文件,配置IP地址(三个节点上的hosts文件修改后完全相同):
127.0.0.1 localhost

192.168.182.111 redhat1
192.168.182.121 redhat1-vip
10.10.10.111    redhat1-priv

192.168.182.112 redhat2
192.168.182.122 redhat2-vip
10.10.10.112    redhat2-priv

192.168.182.113 redhat3
192.168.182.123 redhat3-vip
10.10.10.113    redhat3-priv

192.168.182.182 rac-scan

说明:redhat1对应节点1,redhat2对应节点2,redhat3对应节点3,rac-scan是单一访问客户端。
修改hostname,文件位置:/etc/sysconf/network,修改为redhat1,redhat2,redhat3

1.1.1.6 修改操作系统内核参数vi /etc/sysctl.conf(三个节点上的hosts文件修改后完全相同):
##kernel.shmall =2097152
##kernel.shmmax =1073741824
fs.aio-max-nr =1048576
fs.file-max =6815744
kernel.shmmni =4096
kernel.sem =250 32000 100 128
net.ipv4.ip_local_port_range =9000 65500
net.core.rmem_default =262144
net.core.rmem_max =4194304
net.core.wmem_default =262144
net.core.wmem_max =1048576

fs.aio-max-nr:指的是同时可以拥有的的异步IO请求数目, 1048576=1024*1024=1024K=1M
fs.file-max:这表明这台Linux系统最多允许同时打开(即包含所有用户打开文件数总和)50542个文件,是Linux系统级硬限制,所有用户级的打开文件数限制都不会超过这个数值。通常这个系统级硬限制是Linux系统在启动时根据系统硬件资源状况计算出来的最佳的最大同时打开文件数限制。
kernel.shmall:表示在任何给定时刻,系统上可以使用的共享内存的总量。2097152=2M
kernel.shmmax:该文件表示内核所允许的最大共享内存段的大小。缺省设置:33554432,建议设置:物理内存 * 50%。536870912=512M
kernel.shmmni:表示用于整个系统的共享内存段的最大数目,默认4096。
kernel.sem:该文件用于控制内核信号量,信号量是System VIPC用于进程间通讯的方法。
建议设置:250 32000100 128
第一列,表示每个信号集中的最大信号量数目。
第二列,表示系统范围内的最大信号量总数目。
第三列,表示每个信号发生时的最大系统操作数目。
第四列,表示系统范围内的最大信号集总数目。
所以,(第一列)*(第四列)=(第二列)
net.ipv4.ip_local_port_range:该文件表示TCP/UDP协议打开的本地端口号,缺省设置:1024 4999,建议设置:32768 61000。
net.core.rmem_default:该文件指定了接收套接字缓冲区大小的缺省值(以字节为单位),缺省设置:110592。
net.core.rmem_max:该文件指定了接收套接字缓冲区大小的最大值(以字节为单位),缺省设置:131071。
net.core.wmem_default:该文件指定了发送套接字缓冲区大小的缺省值(以字节为单位)。缺省设置:110592
net.core.wmem_max:该文件指定了发送套接字缓冲区大小的最大值(以字节为单位)。缺省设置:131071

1.1.1.7 修改/etc/security/limits.conf文件修改/etc/security/limits.conf:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240

limits.conf的格式如下:
username|@groupname   type    item     value
username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。
type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比har 限制高。用 - 就表明同时设置了 soft 和 hard 的值。
item
core - 限制内核文件的大小
date - 最大数据大小
fsize - 最大文件大小
memlock - 最大锁定内存地址空间
nofile - 打开文件的最大数目
rss - 最大持久设置大小
stack - 最大栈大小
cpu - 以分钟为单位的最多 CPU 时间
noproc - 进程的最大数目
as - 地址空间限制
maxlogins - 此用户允许登录的最大数目
要使 limits.conf文件配置生效,必须要确保pam_limits.so 文件被加入到启动文件中。查看/etc/pam.d/login 文件中有:sessionrequired /lib/security/pam_limits.so或session required /lib64/security/pam_limits.so


1.1.1.8 修改/etc/pam.d/login文件添加:session    required    /lib64/security/pam_limits.so

1.1.1.9 关闭系统服务
1.      关闭系统ntp服务,采用oracle自带的时间同步服务
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.bak
chkconfig sendmail off

2.      关闭Linux防火墙和selinux服务,否则创建ASM磁盘报错:
关闭防火墙:
iptables -F
service iptables stop
chkconfig  iptables off

3.      关闭setlinux服务:
setenforce 0
编辑selinux配置文件修改 为SELINUX=disabled
vi /etc/selinux/config

1.1.1.10 设置oracle和grid用户的环境变量Oracle用户环境变量:
节点1:
export PATH
export ORACLE_SID=RACDB1
export ORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
umask 022

节点2:
export PATH
export ORACLE_SID=RACDB2
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
umask 022

节点3:
export PATH
export ORACLE_SID=RACDB3
export ORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
umask 022

Grid用户环境变量:
节点1:
export PATH
export ORACLE_SID=+ASM1
export GRID_BASE=/u01/app/grid
export GRID_HOME=/u01/app/11.2.0/grid
export LD_LIBRARY_PATH=$GRID_HOME/lib
export THREADS_FLAG=native
export PATH=$PATH:$GRID_HOME/bin
umask 022

节点2:
export PATH
export ORACLE_SID=+ASM2
export GRID_BASE=/u01/app/grid
export GRID_HOME=/u01/app/11.2.0/grid
export LD_LIBRARY_PATH=$GRID_HOME/lib
export THREADS_FLAG=native
export PATH=$PATH:$GRID_HOME/bin
umask 022

节点3:
export PATH
export ORACLE_SID=+ASM3
export GRID_BASE=/u01/app/grid
export GRID_HOME=/u01/app/11.2.0/grid
export LD_LIBRARY_PATH=$GRID_HOME/lib
export THREADS_FLAG=native
export PATH=$PATH:$GRID_HOME/bin
umask 022
1.1.1.11 在VMWare中添加共享磁盘数据库的数据文件、日志文件等都放在共享磁盘上,共集群的中的多个实例访问,此处的磁盘我们采用ASM管理,也可以用裸设备,但是管理不方便。

需要通过ASM管理如下内容:
1.OCR DISK:存储OCR资源配置信息。
2.VOTE DISK:仲裁(表决)盘,记录节点状态。
3.DATA DISK:存放数据文件、控制文件、联机日志文件、参数文件等。
4.RECOVERY AREA:存放闪回日志、归档日志、RMAN备份等。

在VMWare中添加共享磁盘:
1.在cmd中进入到VMware的安装路径下:
cd C:\ProgramFiles (x86)\VMware\VMware Workstation
2.使用如下命令创建12块磁盘文件:
vmware-vdiskmanager.exe -c -s 1GB -a lsilogic-t 2 H:\sharedDisks\ocr_vote_disk1.vmdk
vmware-vdiskmanager.exe -c -s 1GB -a lsilogic-t 2 H:\sharedDisks\ocr_vote_disk2.vmdk
vmware-vdiskmanager.exe -c -s 1GB -a lsilogic-t 2 H:\sharedDisks\ocr_vote_disk3.vmdk
vmware-vdiskmanager.exe -c -s 1GB -a lsilogic-t 2 H:\sharedDisks\ocr_vote_disk4.vmdk

vmware-vdiskmanager.exe -c -s 10GB -a lsilogic-t 2 H:\sharedDisks\data_disk1.vmdk
vmware-vdiskmanager.exe -c -s 10GB -a lsilogic-t 2 H:\sharedDisks\data_disk2.vmdk
vmware-vdiskmanager.exe -c -s 10GB -a lsilogic-t 2 H:\sharedDisks\data_disk3.vmdk
vmware-vdiskmanager.exe -c -s 10GB -a lsilogic-t 2 H:\sharedDisks\data_disk4.vmdk

vmware-vdiskmanager.exe -c -s 10GB -a lsilogic-t 2 H:\sharedDisks\recovery_disk1.vmdk
vmware-vdiskmanager.exe -c -s 10GB -a lsilogic-t 2 H:\sharedDisks\recovery_disk2.vmdk
vmware-vdiskmanager.exe -c -s 10GB -a lsilogic-t 2 H:\sharedDisks\recovery_disk3.vmdk
vmware-vdiskmanager.exe -c -s 10GB -a lsilogic-t 2 H:\sharedDisks\recovery_disk4.vmdk
3.编辑每个虚拟机目录中的*.vmx文件,添加如下信息:
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "H:\sharedDisks\ocr_vote_disk1.vmdk"
scsi1:2.present = "TRUE"
scsi1:2.fileName ="H:\sharedDisks\ocr_vote_disk2.vmdk"
scsi1:3.present = "TRUE"
scsi1:3.fileName ="H:\sharedDisks\ocr_vote_disk3.vmdk"
scsi1:4.present = "TRUE"
scsi1:4.fileName ="H:\sharedDisks\ocr_vote_disk4.vmdk"
scsi1:5.present = "TRUE"
scsi1:5.fileName ="H:\sharedDisks\data_disk1.vmdk"
scsi1:6.present = "TRUE"
scsi1:6.fileName ="H:\sharedDisks\data_disk2.vmdk"
scsi1:8.present = "TRUE"
scsi1:8.fileName ="H:\sharedDisks\data_disk3.vmdk"
scsi1:9.present = "TRUE"
scsi1:9.fileName ="H:\sharedDisks\data_disk4.vmdk"
scsi1:10.present = "TRUE"
scsi1:10.fileName ="H:\sharedDisks\recovery_disk1.vmdk"
scsi1:11.present = "TRUE"
scsi1:11.fileName ="H:\sharedDisks\recovery_disk2.vmdk"
scsi1:12.present = "TRUE"
scsi1:12.fileName ="H:\sharedDisks\recovery_disk3.vmdk"
scsi1:13.present = "TRUE"
scsi1:13.fileName ="H:\sharedDisks\recovery_disk4.vmdk"
4.打开虚拟机,查看磁盘文件:
fdisk -l
能看到新添加的磁盘,说明添加成功。


5.磁盘分区
使用命令12个磁盘全部分区,这里一个磁盘只分一个区:
磁盘分区命令的详细介绍:http://blog.chinaunix.net/uid-23929712-id-2650378.html
fdisk /dev/sdb
输入内容如下:

依次输入:n,p,1,回车,回车,w
其他所有命令相同:
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde
fdisk /dev/sdf
fdisk /dev/sdg
fdisk /dev/sdh
fdisk /dev/sdi
fdisk /dev/sdj
fdisk /dev/sdk
fdisk /dev/sdl
fdisk /dev/sdm

1.1.1.12 安装ASM包安装ASM包后就可以使用创建ASM磁盘和使用ASM相关的命令了。

实验环境用的操作系统为RHEL_5.5_x86_64,内核信息如下:

对应的oracleasmlib的三个安装包如下:

使用如下命令安装三个安装包:
rpm -ivh oracleasm-support-2.1.8-1.el5.x86_64.rpm
rpm -ivh oracleasm-2.6.18-194.el5-2.0.5-1.el5.x86_64.rpm
rpm -ivh oracleasmlib-2.0.4-1.el5.x86_64.rpm

1.1.1.13 配置ASM信息/etc/init.d/oracleasm configure

依次输入grid,asmadmin,y,y
创建asm磁盘组:
service oracleasm createdisk ocr_vote_disk1/dev/sdb1
service oracleasm createdisk ocr_vote_disk2/dev/sdc1
service oracleasm createdisk ocr_vote_disk3/dev/sdd1
service oracleasm createdisk ocr_vote_disk4/dev/sde1
service oracleasm createdisk data_disk1/dev/sdf1
service oracleasm createdisk data_disk2/dev/sdg1
service oracleasm createdisk data_disk3/dev/sdh1
service oracleasm createdisk data_disk4/dev/sdi1
service oracleasm createdisk recovery_disk1/dev/sdj1
service oracleasm createdisk recovery_disk2/dev/sdk1
service oracleasm createdisk recovery_disk3/dev/sdl1
service oracleasm createdisk recovery_disk4/dev/sdm1

service oracleasm scandisks
service oracleasm listdisks
service oracleasm enable

###############备注:重建ASM磁盘组#######################
删除ASM磁盘:
dd if=/dev/zeroof=/dev/oracleasm/disks/DATA_DISK1 bs=1024000000 count=10
dd if=/dev/zeroof=/dev/oracleasm/disks/DATA_DISK2 bs=1024000000 count=10
dd if=/dev/zeroof=/dev/oracleasm/disks/DATA_DISK3 bs=1024000000 count=10
dd if=/dev/zeroof=/dev/oracleasm/disks/DATA_DISK4 bs=1024000000 count=10
dd if=/dev/zeroof=/dev/oracleasm/disks/OCR_VOTE_DISK1 bs=1024000000 count=10
dd if=/dev/zeroof=/dev/oracleasm/disks/OCR_VOTE_DISK2 bs=1024000000 count=10
dd if=/dev/zeroof=/dev/oracleasm/disks/OCR_VOTE_DISK3 bs=1024000000 count=10
dd if=/dev/zeroof=/dev/oracleasm/disks/OCR_VOTE_DISK4 bs=1024000000 count=10
dd if=/dev/zeroof=/dev/oracleasm/disks/RECOVERY_DISK1 bs=1024000000 count=10
dd if=/dev/zeroof=/dev/oracleasm/disks/RECOVERY_DISK2 bs=1024000000 count=10
dd if=/dev/zeroof=/dev/oracleasm/disks/RECOVERY_DISK3 bs=1024000000 count=10
dd if=/dev/zeroof=/dev/oracleasm/disks/RECOVERY_DISK4 bs=1024000000 count=10

创建ASM磁盘
service oracleasm createdisk ocr_vote_disk1/dev/sdb1
service oracleasm createdisk ocr_vote_disk2/dev/sdc1
service oracleasm createdisk ocr_vote_disk3/dev/sdd1
service oracleasm createdisk ocr_vote_disk4/dev/sde1
service oracleasm createdisk data_disk1 /dev/sdf1
service oracleasm createdisk data_disk2/dev/sdg1
service oracleasm createdisk data_disk3/dev/sdh1
service oracleasm createdisk data_disk4/dev/sdi1
service oracleasm createdisk recovery_disk1/dev/sdj1
service oracleasm createdisk recovery_disk2/dev/sdk1
service oracleasm createdisk recovery_disk3/dev/sdl1
service oracleasm createdisk recovery_disk4/dev/sdm1
#################################################################
1.1.1.14 添加裸设备(rhel6.4非必要)如果不使用ASM管理磁盘而使用裸设备,可以参照如下方法添加:
###########################添加裸设备 START###########################
磁盘分区后还是裸设备,rhel6挂载裸设备修改/etc/udev/rules.d/60-raw.rules文件,添加如下内容:
ACTION=="add",KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw/dev/raw/raw1 %M %m"

ACTION=="add",KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",ENV{MAJOR}=="8", ENV{MINOR}=="2", RUN+="/bin/raw/dev/raw/raw2 %M %m"

ACTION=="add",KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add",ENV{MAJOR}=="8", ENV{MINOR}=="3", RUN+="/bin/raw/dev/raw/raw3 %M %m"

ACTION=="add",KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add",ENV{MAJOR}=="8", ENV{MINOR}=="4", RUN+="/bin/raw/dev/raw/raw4 %M %m"

ACTION=="add",KERNEL=="sdf1", RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add",ENV{MAJOR}=="8", ENV{MINOR}=="5", RUN+="/bin/raw/dev/raw/raw5 %M %m"

ACTION=="add",KERNEL=="sdg1", RUN+="/bin/raw /dev/raw/raw6 %N"
ACTION=="add",ENV{MAJOR}=="8", ENV{MINOR}=="6", RUN+="/bin/raw/dev/raw/raw6 %M %m"

ACTION=="add", KERNEL=="sdh1",RUN+="/bin/raw /dev/raw/raw7 %N"
ACTION=="add",ENV{MAJOR}=="8", ENV{MINOR}=="7", RUN+="/bin/raw/dev/raw/raw7 %M %m"

ACTION=="add",KERNEL=="sdi1", RUN+="/bin/raw /dev/raw/raw8 %N"
ACTION=="add",ENV{MAJOR}=="8", ENV{MINOR}=="8", RUN+="/bin/raw/dev/raw/raw8 %M %m"

ACTION=="add",KERNEL=="sdj1", RUN+="/bin/raw /dev/raw/raw9 %N"
ACTION=="add",ENV{MAJOR}=="8", ENV{MINOR}=="9", RUN+="/bin/raw/dev/raw/raw9 %M %m"

ACTION=="add",KERNEL=="sdk1", RUN+="/bin/raw /dev/raw/raw10 %N"
ACTION=="add",ENV{MAJOR}=="8", ENV{MINOR}=="10", RUN+="/bin/raw/dev/raw/raw10 %M %m"

ACTION=="add",KERNEL=="sdl1", RUN+="/bin/raw /dev/raw/raw11 %N"
ACTION=="add",ENV{MAJOR}=="8", ENV{MINOR}=="11", RUN+="/bin/raw/dev/raw/raw11 %M %m"

ACTION=="add",KERNEL=="sdm1", RUN+="/bin/raw /dev/raw/raw12 %N"
ACTION=="add",ENV{MAJOR}=="8", ENV{MINOR}=="12", RUN+="/bin/raw/dev/raw/raw12 %M %m"

ACTION=="add",KERNEL=="raw1", OWNER="grid", GROUP="asmadmin",MODE="0660"
ACTION=="add",KERNEL=="raw2", OWNER="grid", GROUP="asmadmin",MODE="0660"
ACTION=="add",KERNEL=="raw3", OWNER="grid", GROUP="asmadmin",MODE="0660"
ACTION=="add",KERNEL=="raw4", OWNER="grid", GROUP="asmadmin",MODE="0660"
ACTION=="add",KERNEL=="raw5", OWNER="grid", GROUP="asmadmin",MODE="0660"
ACTION=="add",KERNEL=="raw6", OWNER="grid", GROUP="asmadmin",MODE="0660"
ACTION=="add",KERNEL=="raw7", OWNER="grid", GROUP="asmadmin",MODE="0660"
ACTION=="add",KERNEL=="raw8", OWNER="grid", GROUP="asmadmin",MODE="0660"
ACTION=="add",KERNEL=="raw9", OWNER="grid", GROUP="asmadmin",MODE="0660"
ACTION=="add",KERNEL=="raw10", OWNER="grid", GROUP="asmadmin",MODE="0660"
ACTION=="add",KERNEL=="raw11", OWNER="grid", GROUP="asmadmin",MODE="0660"
ACTION=="add",KERNEL=="raw12", OWNER="grid", GROUP="asmadmin",MODE="0660"

如上内容实现了12个裸设备的挂载,保存后重启系统,使用如下命令查看裸设备:
ll /dev/raw/*

节点1修改完成后,将文件“/etc/udev/rules.d/60-raw.rules”scp到节点2、节点3,如下:
scp /etc/udev/rules.d/60-raw.rulesredhat2:/etc/udev/rules.d/
scp /etc/udev/rules.d/60-raw.rules redhat3:/etc/udev/rules.d/

然后重新启动节点2和节点3,然后使用“ll /dev/raw/*”命令查看裸设备。
###########################添加裸设备 END###########################

1.1.1.15 配置服务器节点间的互信10g需要手动配置,11g在软件安装过程中可以使用软件配置。

1.1.1.16 配置本地yum源在安装grid的过程中,经常会遇到缺少rpm包的情况,所以最好提前利用iso文件配置本地yum源,一遍随时安装缺少的lib包。

1.      创建iso文件存放目录,此例中直接使用VMWare软件添加的共享文件夹:/mnt/hgfs/shared
2.      创建挂载目录,此例中位置是:/mnt/yum
3.      挂载iso文件:
Linux6.4:mount -o loop /mnt/hgfs/shared/RHEL_6.4_x86_64.iso /mnt/yum
Linux5.5:mount -o loop /mnt/hgfs/shared/rhel-server-5.5-x86_64-dvd.iso/mnt/yum
4.      进入/etc/yum.repos.d目录,将原有*. repo的文件改名作为备份,添加自己的文件repo文件,如下:

*.repo文件内容:
[base]
name=RedHat
baseurl=file:///mnt/yum/Server
enabled=1
gpgcheck=0
5.      保存后,导入公钥:rpm--import /mnt/yum/*GPG*
6.      清除原有的yum配置:yum clean all
7.      然后可以使用“yuminstall 包名” 命令安装rpm包。

1.1.1.17 安装数据库集群软件Grid
1.      三个节点,在root用户下执行命令:xhost +
2.      在节点1切换到grid用户,进入到grid软件的目录,运行./runInstaller进行安装
rhel6.4会出现如下错误,rhel5.5没问题:

运行:yum installmesa-libGL.i686命令解决,正常启动grid安装程序后,安装过程如下:

选择第一个,为集群安装和配置网格基础设施

选择高级安装,下一步

默认选择英文,下一步


点掉GNS,SCAN Name修改为rac-scan,这和hosts中配置的一致,下一步

此页面是集群节点配置页面,一开始只有redhat1的信息,手动添加redhat2、redhat3的信息,添加内容为:
redhat2  redhat2-vip
redhat3  redhat3-vip
和hosts文件中配置的hostname内容保持一致。
然后点击“SSHConnecttivity…”按钮,在OSPassword中输入操作系统oracle用户密码,点击“Setup”按钮配置互信,互信配置完成后,点击“Test”按钮,验证成功如下:

点击OK,下一步

eth0网卡和eth1网卡分别对应Public和Private,正确,下一步

选择ASM,下一步:

在RHEL6.4的环境中,ASM磁盘这步我一开始看不到ASM磁盘,后来看了下日志,发现缺少libaio-0.3.107-10.el6.i686.rpm包,安装后就可看到ASM磁盘了,磁盘的路径:/dev/oracleasm/disks/*
在RHEL5.5中没有任何问题,一开始就可以看到磁盘,所以还是推荐使用RHEL5.5。

此例中密码设置成一样的,oracle,警告信息提示密码不符合要求,不用管,下一步


不使用IPMI,下一步

默认的三个用户组,下一步

此处如果目录权限配置的不正确,无法继续安装,权限配置正确后,下一步:

此处如果目录权限配置的不正确,无法继续安装,权限配置正确后,下一步:

RHEL6.4系统再这一步提示缺少好多rpm包,需要安装,因为中间重启过服务器,所以本地yum源还需要重新mount,三台机器都执行下:
mount -o loop/mnt/hgfs/shared/RHEL_6.4_x86_64.iso /mnt/yum
yum clean all


在RHEL6.4系统中安装时,即使安装了所有的包,还是会提示缺少包,因为RHEL6.4中相同功能的包版本要比提示信息中的高,但是ORACLE检测不出来,确认版本更高的包安装后,下一步
在RHEL5.5中,使用yum安装完成后,检测没有问题,检测完成后直接跳到下面的安装画面,所以还是推荐使用RHEL5.5。


点击Finish进行安装,安装完成后会提示在root用户下运行2个脚本,按要求和顺序在三个节点上依次执行这两个脚本,跑脚本的顺序:
第一个脚本先跑完节点1(按照提示的顺序跑,我这是节点2),跑完后再跑其他节点(注意不能同时跑!!!)。
跑完第一个脚本再跑第二个脚本:
第二个脚本也是先跑完节点1(按照提示的顺序跑,我这是节点2),跑完后再跑其他节点(注意不能同时跑!!!)。
脚本执行顺序不要反了:


使用rhel6.4在执行/u01/app/11.2.0/grid/root.sh时,会出现如下错误:

执行脚本撤消root.sh的操作:
/u01/app/11.2.0/grid/crs/install/rootcrs.pl-deconfig -force -verbose
重新执行/u01/app/11.2.0/grid/root.sh脚本,并在出现adding daemon to inittab的时候执行如下命令:
/bin/dd if=/var/tmp/.oracle/npohasdof=/dev/null bs=1024 count=1
出现addingdaemon to inittab的画面:

如果出现No suchfile or directory提示,继续执行脚本,一直等root脚本正确执行即可:

这样即可正确安装root.sh脚本。
在RHEL5.5中没有上述问题,所以推荐使用RHEL5.5。

三个节点脚本全都运行完成后,继续执行,最后遇到如下错误:

此错误的原因实在hosts文件中配置了scan ip而不是使用域名服务器配置的SCAN IP,执行ping rac-scan如果能ping同,这个错误可以忽略:


安装完成后,执行命令查看节点状态:
root用户cd到目录/u01/app/11.2.0/grid/bin,然后:
./crsctl status resource –t或./crs_stat –t

grid用户应用环境变量后可以直接使用crsctl命令
.crsctl status resource -t或crs_stat -t

1.1.1.18 安装Oracle 11g数据库软件使用root用户执行命令xhost +,如果之前执行过,可以忽略此步骤。
使用oracle用户,运行database文件夹下的./runInstaller命令,打开安装界面,安装步骤如下:

点掉更新的选项,点击下一步

出现提示,不用管,直接YES,下一步

选择只安装oralce软件,安装完数据库软件后再使用dbca命令安装数据库实例,否则出错不好排查。

此界面配置互信,输入操作系统oracle用户密码后,点击setup,自动配置互信,配置完成后点击test测试,如果出现如下界面说明配置成功:

点击OK,继续下一步

默认选择英文,下一步

选择企业版,下一步

此处确保oracle用户对此目录拥有权限,否则过不去,继续下一步

默认的两个用户组,下一步

此界面显示之前会有一个包的验证,和之前安装grid的那个验证界面相同,全部通过后才跳转到此界面,如果有包没装,需要先将rpm都安装后再次check,点击Finish开始安装数据库软件。
安装完成后,需要在redhat1、redhat2、redhat3三个节点顺序执行提示中给出的root.sh脚本,执行顺序:
一定要在redhat1上执行完后,再在redhat2上执行,redhat2上执行完后再在redhat3上执行。

1.1.1.19 创建ASM磁盘组登录grid用户,执行asmca命令,打开asm管理界面:

DATA磁盘组在安装集群软件Grid的过程中已经创建,再创建磁盘组OCR_VOTE,RECOVERY。
1.1.1.20 安装Oracle 11g数据库切换到oracle用户安装数据库实例,使用dbca命令启动安装界面:

选择第一个安装oracle数据库集群,下一步:

选择Create aDatabase,下一步

选择自定义数据库,下一步

数据名字:RACDB,点击【Select All】按钮,选择所有节点,下一步:

根据实际需要确认是否需要配置EM,我这选择默认安装EM,下一步

此处密码为oracle,下一步

Database area选择data磁盘组,下一步

闪回恢复区选择RECOVERY磁盘组,下一步

根据实际需要选择组件,此处默认全选,下一步

内存分配,根据实际情况分配,测试环境分配1G

根据实际情况设置字符集,我这选择ZHS16GBK,Simplified Chinese,China,下一步


下一步

默认设置,下一步

点击【OK】

开始安装数据库,等待安装完成即可。

1.1.1.21 参数配置示例中的集群的SCANIP是通过host文件配置,要使客户端能通过SCANIP访问数据库,还需要配置为每个服务器节点的local_listener:

1.登录节点redhat1的数据库,执行命令show parameter instance_name确认连接的是节点redhat1的数据库实例,执行如下命令
altersystem set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.182.121)(PORT=1521))))'scope=bothsid='RACDB1';

alter syste register
2.登录节点redhat2、redhat3的数据库,执行命令:
节点2:altersystem set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.182.122)(PORT=1521))))'scope=bothsid='RACDB2';
节点3:altersystem set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.182.123)(PORT=1521))))'scope=bothsid='RACDB3';

3.在节点redhat2的实例上创建用户pt,密码XXX
Create user pt identified by XXX;
Alter user pt account unlock;
Grant connect,resource,dba to pt;

在客户端(redhat_client)执行sqlplus pt/XXX@RACDB登录数据库,执行show parameter instance_name查看连接的实例,可以多次连接RACDB数据库并查看连接的实例信息,可以看到数据库会在3个实例节点间动态分配。
到此数据库集群的所有安装完成。
论坛徽章:
22
生肖徽章2007版:猴
日期:2016-05-19 15:26:34生肖徽章2007版:猪
日期:2016-05-19 15:26:34生肖徽章2007版:龙
日期:2016-05-19 15:26:34生肖徽章2007版:兔
日期:2016-05-19 15:26:34ITPUB9周年纪念徽章
日期:2016-05-19 15:26:342010广州亚运会纪念徽章:板球
日期:2016-05-19 15:26:342010广州亚运会纪念徽章:举重
日期:2016-05-19 15:26:342014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02优秀写手
日期:2014-04-09 06:00:22
2#
发表于 2015-10-17 06:39 | 只看该作者
##kernel.shmall =2097152
##kernel.shmmax =1073741824
内核参数被你屏蔽了

3个节点的export ORACLE_SID=RACDB1都是这个?

fdisk和asm包都不是必须的,udev就行了,但vmware的vmx配置文件里需添加一个uddi的参数,否则scsi_id命令没有返回值

使用道具 举报

回复
论坛徽章:
0
3#
 楼主| 发表于 2015-10-17 17:42 | 只看该作者
本帖最后由 scottitpub 于 2015-10-17 17:51 编辑
jiaxu2000 发表于 2015-10-17 06:39
##kernel.shmall =2097152
##kernel.shmmax =1073741824
内核参数被你屏蔽了

环境变量那个写错了,已改, 应该是RACDB2,RACDB3
内核参数这里屏蔽是因为系统文件里已经有了
udev那个没了解过,我再查查资料,谢了~

使用道具 举报

回复
求职 : 数据库管理员
论坛徽章:
19
ITPUB 11周年纪念徽章
日期:2012-10-09 18:14:482016猴年福章
日期:2016-02-23 09:58:342016猴年福章
日期:2016-02-18 09:31:30金牛座
日期:2016-01-13 09:11:33ITPUB14周年纪念章
日期:2015-10-26 17:23:44巨蟹座
日期:2015-10-20 10:17:21马上有对象
日期:2014-02-18 16:44:082014年新春福章
日期:2014-02-18 16:44:08ITPUB社区12周年站庆徽章
日期:2013-10-17 13:56:59ITPUB社区12周年站庆徽章
日期:2013-10-08 17:44:42
4#
发表于 2015-10-18 13:46 | 只看该作者
vmware是server 版本还是workstation 版本。

使用道具 举报

回复
论坛徽章:
2
目光如炬
日期:2018-04-29 22:00:00山治
日期:2018-06-08 15:49:43
5#
发表于 2015-10-19 19:26 | 只看该作者
tolilong 发表于 2015-10-18 13:46
vmware是server 版本还是workstation 版本。

看共享配置  就知道是workstation咯

使用道具 举报

回复
求职 : 数据库管理员
论坛徽章:
19
ITPUB 11周年纪念徽章
日期:2012-10-09 18:14:482016猴年福章
日期:2016-02-23 09:58:342016猴年福章
日期:2016-02-18 09:31:30金牛座
日期:2016-01-13 09:11:33ITPUB14周年纪念章
日期:2015-10-26 17:23:44巨蟹座
日期:2015-10-20 10:17:21马上有对象
日期:2014-02-18 16:44:082014年新春福章
日期:2014-02-18 16:44:08ITPUB社区12周年站庆徽章
日期:2013-10-17 13:56:59ITPUB社区12周年站庆徽章
日期:2013-10-08 17:44:42
6#
发表于 2015-10-19 20:36 | 只看该作者
workstation好像不用做下面的配置吧

disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "H:\sharedDisks\ocr_vote_disk1.vmdk"
scsi1:2.present = "TRUE"
scsi1:2.fileName ="H:\sharedDisks\ocr_vote_disk2.vmdk"
scsi1:3.present = "TRUE"
scsi1:3.fileName ="H:\sharedDisks\ocr_vote_disk3.vmdk"
scsi1:4.present = "TRUE"
scsi1:4.fileName ="H:\sharedDisks\ocr_vote_disk4.vmdk"
scsi1:5.present = "TRUE"
scsi1:5.fileName ="H:\sharedDisks\data_disk1.vmdk"
scsi1:6.present = "TRUE"
scsi1:6.fileName ="H:\sharedDisks\data_disk2.vmdk"
scsi1:8.present = "TRUE"
scsi1:8.fileName ="H:\sharedDisks\data_disk3.vmdk"
scsi1:9.present = "TRUE"
scsi1:9.fileName ="H:\sharedDisks\data_disk4.vmdk"
scsi1:10.present = "TRUE"
scsi1:10.fileName ="H:\sharedDisks\recovery_disk1.vmdk"
scsi1:11.present = "TRUE"
scsi1:11.fileName ="H:\sharedDisks\recovery_disk2.vmdk"
scsi1:12.present = "TRUE"
scsi1:12.fileName ="H:\sharedDisks\recovery_disk3.vmdk"
scsi1:13.present = "TRUE"
scsi1:13.fileName ="H:\sharedDisks\recovery_disk4.vmdk"

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表