Oracle 11g R2 RAC with Raw Disk on CentOS5.7_x64 by VMware Server 2.0

26 篇文章 0 订阅

本文是记录用VMware Server虚拟Linux,并在此Linux上挂载裸设备,用于模拟RAC中的裸设备来安装Oracle 11g R2 RAC的安装步骤:

1.1 VMware环境准备
     有关VMware Server的安装与使用,这里不再缀述,网上资料一大把!
     我们直接从虚拟机中的Linux安装开始说起。
1.1.1 Linux安装
1) 配置一个Linux环境,然后安装好Linux系统;
2) 关闭sendmail的自启动:chkconfig sendmail off
3) 配置好OS的固定IP和机器名;
4) 在/etc/hosts文件中添加一行:IPHOST_NAME;
5) 修改/etc/inittab,将OS改为启动进入命令行界面,以便减少资源消耗。
1.1.2 VM测试机添加裸盘与网卡
1) 在VMware Server的WEB页面上选中机器,然后单击“Add Hardware”;
 


2) 先增加一个网卡,在出现的对话框选择“Network Adapter”;
 


3) 在弹出的页面中跟据自己的需求选择网卡连接方式,如这里我选择了我自己定义“VMnet2”,然后“Next”:
 


4) 在弹出的页面中选展开“More Hardware”,然后选择“Hard disk”,然后选择“next”;
 


5) 在弹出的页面选择“Create a New Virtual Disk”,然后Next;
 


6) 在弹出的页面中修改裸盘的大小,因为是两台机器共用裸盘,所以,我这里将裸盘存到了另外一个叫“RawDisk”的目录里,分别以RawDisk1.vmdk~RawDisk12.vmdk来命名;
 


7) 此处接以上的6,在以上同一个画面中,展开“Disk Mode”,选中“Independent”及“Persitent”,再展开“Virtual Device Node”,将“Adapter”中的值选择得与系统所用的不同号,因为系统盘默认使用“SCSI 0”所以这里选择了“SCSI 1”,后面的“Device”的值,每个盘使用一个,这里使用了0,以后的硬盘如上述步骤泡制~~~然后“Next”,如下图:
 


8) 当在第二台机器内添加硬盘时,因为这些裸盘都已存在了,所以只需要选择“Use an Existing Virtual Disk”,然后单击“Next”,如下图:
 


9) 在弹出的页面中点“Browse…”找到相应的硬盘文件,然后修改一下Disk Mode和Virtual Device Node;
 


10) 所有做完之后点“Finish”即可
 


11) 以上配置完成后,进入虚拟机所在目录,然后用记事本打开vmx后缀的文件,如RAC_1.vmx,在其中添加或修改红色字体部分:
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"

scsi1.present = "TRUE"
scsi1.sharedBus = "VIRTUAL"
scsi1.virtualDev = "lsilogic"
scsi1:0.present = "TRUE"
scsi1:0.fileName = "D:\Virtual Machines\RawDisk\RawDisk1.vmdk"
scsi1:0.writeThrough = "TRUE"
scsi1:0.mode = "independent-persistent"
scsi1:0.deviceType = "disk"
scsi1:0.redo = ""

scsi1:1.present = "TRUE"
scsi1:1.fileName = "D:\Virtual Machines\RawDisk\RawDisk2.vmdk"
scsi1:1.writeThrough = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.deviceType = "disk"
scsi1:1.redo = ""

scsi1:2.present = "TRUE"
scsi1:2.fileName = "D:\Virtual Machines\RawDisk\RawDisk3.vmdk"
scsi1:2.writeThrough = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:2.deviceType = "disk"
scsi1:2.redo = ""

scsi1:3.present = "TRUE"
scsi1:3.fileName = "D:\Virtual Machines\RawDisk\RawDisk4.vmdk"
scsi1:3.writeThrough = "TRUE"
scsi1:3.mode = "independent-persistent"
scsi1:3.deviceType = "disk"
scsi1:3.redo = ""

scsi1:4.present = "TRUE"
scsi1:4.fileName = "D:\Virtual Machines\RawDisk\RawDisk5.vmdk"
scsi1:4.writeThrough = "TRUE"
scsi1:4.mode = "independent-persistent"
scsi1:4.deviceType = "disk"
scsi1:4.redo = ""

scsi1:5.present = "TRUE"
scsi1:5.fileName = "D:\Virtual Machines\RawDisk\RawDisk6.vmdk"
scsi1:5.writeThrough = "TRUE"
scsi1:5.mode = "independent-persistent"
scsi1:5.deviceType = "disk"
scsi1:5.redo = ""

scsi1:6.present = "TRUE"
scsi1:6.fileName = "D:\Virtual Machines\RawDisk\RawDisk7.vmdk"
scsi1:6.writeThrough = "TRUE"
scsi1:6.mode = "independent-persistent"
scsi1:6.deviceType = "disk"
scsi1:6.redo = ""

scsi1:8.present = "TRUE"
scsi1:8.fileName = "D:\Virtual Machines\RawDisk\RawDisk8.vmdk"
scsi1:8.writeThrough = "TRUE"
scsi1:8.mode = "independent-persistent"
scsi1:8.deviceType = "disk"
scsi1:8.redo = ""

scsi1:9.present = "TRUE"
scsi1:9.fileName = "D:\Virtual Machines\RawDisk\RawDisk9.vmdk"
scsi1:9.writeThrough = "TRUE"
scsi1:9.mode = "independent-persistent"
scsi1:9.deviceType = "disk"
scsi1:9.redo = ""

scsi1:10.present = "TRUE"
scsi1:10.fileName = "D:\Virtual Machines\RawDisk\RawDisk10.vmdk"
scsi1:10.writeThrough = "TRUE"
scsi1:10.mode = "independent-persistent"
scsi1:10.deviceType = "disk"
scsi1:10.redo = ""

scsi1:11.present = "TRUE"
scsi1:11.fileName = "D:\Virtual Machines\RawDisk\RawDisk11.vmdk"
scsi1:11.writeThrough = "TRUE"
scsi1:11.mode = "independent-persistent"
scsi1:11.deviceType = "disk"
scsi1:11.redo = ""

scsi1:12.present = "TRUE"
scsi1:12.fileName = "D:\Virtual Machines\RawDisk\RawDisk12.vmdk"
scsi1:12.writeThrough = "TRUE"
scsi1:12.mode = "independent-persistent"
scsi1:12.deviceType = "disk"
scsi1:12.redo = ""



1.2 安装前的准备
确定Linux系统安装了X11,并能进入;
以Root帐号登录系统;
1.2.1 网络配置准备
编辑/etc/hosts文件,增加以下内容:
#eth0 Public
172.30.0.101            rac1.greapo.com rac1
172.30.0.102            rac2.greapo.com rac2

#Virtual IP
172.30.0.11             rac1-vip.greapo.com     rac1-vip
172.30.0.12             rac2-vip.greapo.com     rac2-vip

#eth1 Private
172.30.1.101            rac1-priv.greapo.com    rac1-priv
172.30.1.102            rac2-priv.greapo.com    rac2-priv

#Scan
172.30.0.10             racscan



1.2.2 安装文件准备
1) 将下载好的文件上传至目标机器;
2) 将上传好的文件解压,如:unzip Oracle-11.2.0.1_for_linux.x64-1of2.zip


1.2.3 检查硬件环境
1) 检查内存大小:# grep MemTotal /proc/meminfo (最小1G,推荐2G以上)
2) 检查系统位数,确认该用哪个版本的Oracle:# uname –m;
3) 检查SWAP区的大小:# grep SwapTotal /proc/meminfo
如果内存在1~2G间,建议SWAP区的大小为内存的1.5倍;
如果内存在2~16G间,建议SWAP区的大小等于或大于内存的大小;
如果内存大于16G,建议SWAP区为16G。
查看可利用的空间内存空间用:# free;
4) 确认/tmp区最少有1G空间:# df -h /tmp;
5) 检查硬盘空间:# df –h。


1.2.4 检查软件环境
1) 确认Linux内核版本:# cat /proc/version,RedHat Enterprise 5的内核不能低于2.6.18;
2) 系统软件包环境检查:# rpm -qa | grep binutils*
确保以下软件包都已安装,如果没有安装,需要在安装盘中找出RPM包,进行安装。
安装RPM命令:# rpm –ivh <filename>
卸载RPM命令:# rpm –e <filename>
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2
pdksh-5.2.14
unixODBC-2.2.11-7.1.i386.rpm
unixODBC-devel-2.2.11-7.1.x86_64.rpm
unixODBC-2.2.11-7.1.x86_64.rpm
unixODBC-devel-2.2.11-7.1.i386.rpm
1.2.5 在系统中添加用户和组
The Oracle Inventory group (typically, oinstall)
The OSDBA group (typically, dba)
The Oracle software owner (typically, oracle)
The OSOPER group (optional. Typically, oper)
1) 检查oinstall组是否存在:# grep oinstall /etc/group
2) 检查oraInst.loc文件是否存在# more /etc/oraInst.loc
如果存在,以上命令的结果应该显示如下:
inventory_loc=/u01/app/oraInventory
inst_group=oinstall
3) 检查dba组是否存在:# grep dba /etc/group
4) 如果不存在以上两个组,可以用以下命令新建:
groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 asmadmin
groupadd -g 504 asmdba
groupadd -g 505 asmoper

5) 检查系统中是否存在oracle和grid用户:# id oracle   # id grid
如果用户存在,应该显示类似如:uid=440(oracle) gid=200(oinstall) groups=201(dba),202(oper)
如果用户存在,但用户所在的组不对的话,可以用这个命令调整:#usermod -g oinstall -G dba oracle
如果用户不存在,可以用这个命令添加:
useradd -u 500 -g oinstall -G asmadmin,asmdba,asmoper grid
useradd -u 501 -g oinstall -G dba,asmdba oracle

6) 给帐号设定密码:# passwd oracle
 # passwd grid


1.2.6 在系统中配置已添加的裸盘
1) 打开虚拟机电源,在命令行输入fdisk –l查看磁盘设备,如下图:


 
2) 系统中已可以看到设备,但还不能正常使用,需要对其进行挂载。让系统在启动时自动挂载裸设备有两种方法,具体如下:
A:编辑/etc/rc.local文件,添加如下命令:
raw /dev/raw/raw1 /dev/sdb
raw /dev/raw/raw2 /dev/sdc
raw /dev/raw/raw3 /dev/sdd
raw /dev/raw/raw4 /dev/sde
raw /dev/raw/raw5 /dev/sdf
raw /dev/raw/raw6 /dev/sdg
raw /dev/raw/raw7 /dev/sdh
raw /dev/raw/raw8 /dev/sdi
raw /dev/raw/raw9 /dev/sdj
raw /dev/raw/raw10 /dev/sdk
raw /dev/raw/raw11 /dev/sdl
raw /dev/raw/raw12 /dev/sdm


B:编辑/etc/udev/rules.d/60-raw.rules,添加如下语句:
ACTION=="add", KERNEL=="sdb", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sde", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdf", RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="sdg", RUN+="/bin/raw /dev/raw/raw6 %N"
ACTION=="add", KERNEL=="sdh", RUN+="/bin/raw /dev/raw/raw7 %N"
ACTION=="add", KERNEL=="sdi", RUN+="/bin/raw /dev/raw/raw8 %N"
ACTION=="add", KERNEL=="sdj", RUN+="/bin/raw /dev/raw/raw9 %N"
ACTION=="add", KERNEL=="sdk", RUN+="/bin/raw /dev/raw/raw10 %N"
ACTION=="add", KERNEL=="sdl", RUN+="/bin/raw /dev/raw/raw11 %N"
ACTION=="add", KERNEL=="sdm", RUN+="/bin/raw /dev/raw/raw12 %N"



1.2.7 裸设备所属性修改
由于/dev目录下的文件都是动态建立的,所以在OS重启后,属主仍会变成原先属主,所以需要编辑#vi /etc/rc.local文件,在此文件内添加以下命令,以便系统启动后自动将裸设备改为oinstall组;
chown grid:oinstall /dev/raw/raw1
chown grid:oinstall /dev/raw/raw2
chown grid:oinstall /dev/raw/raw3
chown grid:oinstall /dev/raw/raw4
chown grid:oinstall /dev/raw/raw5
chown grid:oinstall /dev/raw/raw6
chown grid:oinstall /dev/raw/raw7
chown grid:oinstall /dev/raw/raw8
chown grid:oinstall /dev/raw/raw9
chown grid:oinstall /dev/raw/raw10
chown grid:oinstall /dev/raw/raw11
chown grid:oinstall /dev/raw/raw12


chmod 660 /dev/raw/raw1
chmod 660 /dev/raw/raw2
chmod 660 /dev/raw/raw3
chmod 660 /dev/raw/raw4
chmod 660 /dev/raw/raw5
chmod 660 /dev/raw/raw6
chmod 660 /dev/raw/raw7
chmod 660 /dev/raw/raw8
chmod 660 /dev/raw/raw9
chmod 660 /dev/raw/raw10
chmod 660 /dev/raw/raw11
chmod 660 /dev/raw/raw12


1.2.8 创建和定义必要的软件安装路径
1) 创建和定义Oracle基础目录

mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
chown -R grid:oinstall /u01



mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01


2) 如果你不是在本机上使用图形界面,而是用Xmanager类似远程图形登录软件时,需要使用以下命令将图形互动转向至操作终端:export DISPLAY=<IP Address>:0.0
3) 启动并配置图形界面:xhost <IP Address/localhost>


1.2.9 取消RAC Nodes NTP服务
分别在两个节点上执行以下步骤:
1) 先将NTP服务停止:/etc/init.d/ntpd stop
2) 将NTP服务从启动项中关闭:chkconfig ntpd off
3) 将NTP服务的配置文件改名:mv /etc/ntp.conf /etc/ntp.conf.bak
1.2.10 修改用户环境变量
修改grid用户bash_profile,方法:vi /home/grid/.bash_profile
ORACLE_SID=+ASM1    #第二个节点为+ASM2
ORACLE_BASE=/u01/app/grid
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/grid

PATH=$PATH:$ORACLE_HOME/bin
export PATH ORACLE_SID ORACLE_BASE ORACLE_HOME



修改oracle用户bash_profile,方法:vi /home/oracle/.bash_profile
ORACLE_SID=RACTEST1#第二个节点为RACTEST2
ORACLE_UNQNAME=RACTEST
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
PATH=$PATH:$ORACLE_HOME/bin
export PATH ORACLE_SID ORACLE_BASE ORACLE_HOME ORACLE_UNQNAME

修改完成后重启机器,或是当前帐号的当前目录下用命令source .bash_profile 来立即启用。


1.2.11 配置双机信任关系 (此步骤可以省去,改用Oracle自带的功能)
1) 在主节点RAC-1上以grid、oracle用户身份生成用户的公匙和私匙,以下是以oracle用户为例,grid帐号的方法与oracle一样:
[oracle@RAC-1 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa): 
Created directory '/home/oracle/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
73:40:14:1e:8b:d5:e2:23:e1:08:88:c0:26:53:90:e1 oracle@RAC-1
[oracle@RAC-1 ~]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/oracle/.ssh/id_dsa.
Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.
The key fingerprint is:
9a:1d:60:7a:9a:43:90:3f:3a:79:38:c2:f7:7f:b9:41 oracle@RAC-1
2) 在另外的节点上进行相同的操作:
[oracle@RAC-2 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa): 
Created directory '/home/oracle/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
b5:21:94:88:8f:1d:ea:11:fc:50:e0:0d:d2:a5:65:1a oracle@RAC-2
[oracle@RAC-2 ~]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/oracle/.ssh/id_dsa.
Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.
The key fingerprint is:
89:9d:11:8a:6a:17:50:84:00:e3:fe:17:27:3c:6d:88 oracle@RAC-2
3) 在主节点RAC-1上执行以下的操作:
[oracle@RAC-1 ~]$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
[oracle@RAC-1 ~]$ cat .ssh/id_dsa.pub >> .ssh/authorized_keys
[oracle@RAC-1 ~]$ ssh rac-2 cat .ssh/id_rsa.pub >> .ssh/authorized_keys
The authenticity of host 'rac-2 (172.30.0.102)' can't be established.
RSA key fingerprint is bf:3e:27:66:bc:d2:d7:24:28:1f:af:e3:a7:49:b0:4e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac-2,172.30.0.102' (RSA) to the list of known hosts.
oracle@rac-2's password: 输入RAC-2 Oracle的密码
[oracle@RAC-1 ~]$ ssh rac-2 cat .ssh/id_dsa.pub >> .ssh/authorized_keys
oracle@rac-2's password: 
[oracle@RAC-1 ~]$ scp .ssh/authorized_keys rac-2:.ssh/authorized_keys 
oracle@rac-2's password: 
authorized_keys                               100% 1992     2.0KB/s   00:00    

1.3 ASM安装与配置







 
 点击“Fix & Check Again”后,根据提示,分别在两个节点上运行以下文件:/tmp/CVU_11.2.0.1.0_grid/runfixup.sh



1.4 Database的安装
 














按以上步骤~~~一切搞定~~~接下来,用grid帐号调用asmca来管理ASM,用oracle帐号来调用netca来新建LNS,用dbca来新建数据库吧~~此处先不记录了,有时间再作整理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果环境不能安装请使用:-- rpm -ivh *****.rpm --nodeps --force rpm -Uvh binutils-2*x86_64* rpm -Uvh g2*x86_64* nss-softokn-freebl-3*x86_64* nss-softokn-freebl-3*i686* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh glibc-2*i686* rpm -Uvh compat-libstdc++-33*x86_64* rpm -Uvh glibc-common-2*x86_64* rpm -Uvh glibc-devel-2*x86_64* rpm -Uvh glibc-devel-2*i686* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh glibc-headers-2*x86_64* rpm -Uvh elfutils-libelf-0*x86_64* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh elfutils-libelf-devel-0*x86_64* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh gcc-4*x86_64* rpm -Uvh gcc-c++-4*x86_64* rpm -Uvh ksh-*x86_64* rpm -Uvh libaio-0*x86_64* rpm -Uvh libaio-devel-0*x86_64* rpm -Uvh libaio-0*i686* rpm -Uvh libaio-devel-0*i686* rpm -Uvh libgcc-4*x86_64* rpm -Uvh libgcc-4*i686* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh libstdc++-4*x86_64* rpm -Uvh libstdc++-4*i686* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh libstdc++-devel-4*x86_64* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh make-3.81*x86_64* rpm -Uvh numactl-devel-2*x86_64* rpm -Uvh sysstat-9*x86_64* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh compat-libstdc++-33*i686* -- rpm -ivh *****.rpm --nodeps --force rpm -Uvh compat-libcap* rpm -Uvh unixODBC-2.2.11-7.1.i386 rpm -Uvh unixODBC-2.2.11-10.el5.x86_64 rpm -Uvh unixODBC-devel-2.2.2-3.i386 rpm -Uvh unixODBC-devel-2.2.3-6.i386 rpm -Uvh unixODBC-devel-2.2.11-7.1.i386 rpm -Uvh unixODBC-devel-2.2.11-10.el5.x86_64 tar -zxvf unixODBC-2.3.1.tar.gz
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值