ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » Oracle数据库管理 » [三思笔记]-手把手教你用vmware安装oracle10g RAC

标题: [精华] [三思笔记]-手把手教你用vmware安装oracle10g RAC
  本主题由 yangtingkun 于 2008-6-21 20:52 加入精华 
离线 junsansi
无名扫把


来自 bj
精华贴数 7
个人空间 9096
技术积分 8237 (153)
社区积分 687 (1173)
注册日期 2006-7-17
论坛徽章:66
现任管理团队成员2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:拳击2008北京奥运纪念徽章:游泳
      

发表于 2008-6-20 12:49 
[三思笔记]-手把手教你用vmware安装oracle10g RAC

提示:
本文在写作过程中除脚本配置及执行输出外,全程图文,如果你的操作系统,oracle版本与本例中相同,按照步骤操作一定可以配置成功。如果你在配置过程中出错,注意查看图文下方的提示信息,对于某些常见错误或俺在安装过程中遇到的错误,俺都会在提示信息中注明!
但是~~rac安装非常繁琐也很复杂,影响和制约的因素非常多,有时甚至系统版本稍有差异安装过程就会有不同,因此本文中提到的错误或bug不过沧海一栗罢了,如果你走狗屎大运遇到了本文没有提示到的错误信息,黑黑,别灰心,google吧,我相信你一定能够解决问题,收获成功的喜悦,迈向成长的新高峰

一、准备工作
所谓工欲善必先利其器,要在vmware下做linux系统的oracle rac,我们也需要准备好相关的装备。
头号选手:VMware server,可免费下载,并可免费申请注册码,地址:http://www.vmware.com/download/server/ ,这里不建议使用VMware workstation,因为workstation不支持共享存储,虽然网上也有号称使用workstation装成功的案例,但第一不知他们是如何解决存储共享的问题,第二搜索的到更多都是失败的案例。三思这里用的是vmware server1.06

RHEL5 32bit,如果你确实找不着免费的下载,又不想去街边买盘,三思悄悄告诉你,去下载个Oracle Enterprise Linux5也是一样的:http://edelivery.oracle.com/linux
用issue看三思用的操作系统是:Red Hat Enterprise Linux Server release 5.1 (Tikanga)
uname看系统版本是:Linux 2.6.18-53.e15xen

Oracle 10gR2 clusterware,可免费下载:http://www.oracle.com/technology ... database/index.html

Oracle 10gR2 database,可免费下载:http://www.oracle.com/technology ... database/index.html


__________________
沉淀是一件很枯燥的事情,我要从沉淀中汲取营养,于枯燥中寻找乐趣,我没疯,你才是疯子,哇哈哈,哇哈哈哈哈~~
============================================
http://www.5ienet.com我爱我佳
扫地不过是我表面上的工作,我真正的身份其实是无名老僧------------------手里那根扫把~~~~
只看该作者    顶部
离线 junsansi
无名扫把


来自 bj
精华贴数 7
个人空间 9096
技术积分 8237 (153)
社区积分 687 (1173)
注册日期 2006-7-17
论坛徽章:66
现任管理团队成员2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:拳击2008北京奥运纪念徽章:游泳
      

发表于 2008-6-20 12:56 
二、设置vmware环境
用vmware主要是创建虚拟机,这个过程比较简单。
新建一个虚拟机

点击File->New->Virtual Machine,或者直接输入Ctrl+n

进行创建的欢迎页面

点击下一步即可

选择配置方式

建议选择Custom,自定义虚拟机的配置。

选择操作系统

选择Linux,Red Hat Linux就可以。

给虚拟机选择一个存储的位置

要注意该目录的剩余磁盘空间,由于我们安装操作系统和数据库至少要有8G空间,如果你准备将两个虚拟机都放在该盘下的话,该磁盘剩余空间至少要有20G。

设置虚拟机访问权限

就是其它用户是否能够访问这个虚拟机,无所谓的设置,不影响我们rac环境的配置~~~

虚拟机的启动和关闭选项设置

默认即可。

选择虚拟机使用的cpu数量



选择虚拟机可使用的内存



选择网卡及网卡的类型

这里选择桥接,注意,安装RAC需要至少两块网卡,因此一会儿我们还需要再添加一个网卡进来

选择I/O适配器的类型

推荐LSI Logic

为虚拟机创建磁盘

由于是新创建的虚拟机,因此此处选择创建一个新的虚拟磁盘。

磁盘类型选择SCSI



设置虚拟磁盘的大小

根据实际情况输个值吧,前面提到安装操作系统和数据库所需空间至少为8G,建议留出富裕。

选择虚拟磁盘的存储路径



点击完成后,进入到虚拟机的主界面



单击 Edit virtual machine settings,我们需要添加和删除一些设备

在这个的界面中remove掉无用设备,这里你根据实现情况自行操作吧,然后点击Add~~

进入硬件添加向导



首先添加几个磁盘,用来做共享存储
由于我们准备采用asm+raw来创建rac,将voting disk和ocr放在raw上,数据文件等放在asm上,因此我们至少需要创建4个虚拟的硬盘,其中voting disk需要至少20M的空间,ocr需要至少60M的空间,数据文件等至少需要1-2G的空间,如果你的磁盘剩余空间充足,建议留有足够的富裕。

添加硬盘的操作与前文中的非常相向,需要注意最后两步






注意:此处一定要选中Allocate all disk space now,即首先分配足额的磁盘空间,避免后期需要使用时再分配,可能会造成虚拟机崩溃。

指定的磁盘文件并不一定要与虚拟机在相同路径下,你完全可以存储在其它磁盘中。
需要注意的是,此处要点击Advanced

在Virtual device node中选择一个新的scsi总线(比如虚拟机默认磁盘SCSI 0:x,则新添加的硬盘可以使用1:x)
注意选中Persistent,即同步写入数据到磁盘。然后点击完成即可~~

循环上述添加磁盘的步骤,按你的实际情况添加几个(注,最少要3个,一个做asm盘,一个用来存储votingdisk,一个用来存储OCR)


再添加一个网卡


选择网络类型

注意:此处建议选择Host-only

三思最终的设置配置是这样的:


虚拟机配置完成。


__________________
沉淀是一件很枯燥的事情,我要从沉淀中汲取营养,于枯燥中寻找乐趣,我没疯,你才是疯子,哇哈哈,哇哈哈哈哈~~
============================================
http://www.5ienet.com我爱我佳
扫地不过是我表面上的工作,我真正的身份其实是无名老僧------------------手里那根扫把~~~~
只看该作者    顶部
离线 junsansi
无名扫把


来自 bj
精华贴数 7
个人空间 9096
技术积分 8237 (153)
社区积分 687 (1173)
注册日期 2006-7-17
论坛徽章:66
现任管理团队成员2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:拳击2008北京奥运纪念徽章:游泳
      

发表于 2008-6-20 12:56 
三、安装linux系统
点击Power ON,即菜单上面绿色的三角图标。
敲 Enter 键以图形模式安装。


测试安装盘

这步是要检查安装盘,如果确保安装盘没有问题,可以直接跳过。

进入安装界面


选择合适的语言(建议English)


键盘设置


选择可用磁盘并分区

对比一下列出的磁盘是否是前面配置的那些,然后选中review and modify partitioning layout(即查看并修改分区),点击下一步

对磁盘分区

三思这里只是简单分了划分了sda(建议swap单独分配一个区,空间不要太小,至少是内存1.5倍),其它磁盘均未做分区,留待随后操作。

启动模块位置

默认即可,一般不需要修改

网络配置

你可以在这里配置,也可以在安装完操作系统之后配置,不过如果你准备完全参考三思这篇文章来安装rac,建议你就在这儿配吧,因为三思这篇文档后面不会再有专门配置网卡的部分了。hostname你可以任起一个,但建议不要太长~~~

时区设置,这里选择亚洲上海


设置管理员的密码


安装程序包

这里很关键,如果漏掉了或少选了包,后面能烦死你,如果不在意磁盘占用的话,建议此处全选好了,反正总共也占不了多少空间。注意哟,全选并不是说选择本界面几个大类就行了哟,需要选中下方的customize now,然后再下一步。

Languages中要选中Chinese Support,Development,Servers,Base System中建议全选,注意小项中还有明细项的哟,要点击Optional packages中确认都选中才好。

马上要正式开始系统的安装了

直接点击下一步

这中间会有很多操作,所有安装步骤中,这可能是费时最久的,但也是最不需要人工干预的,因此,让它想干嘛就去干嘛吧,你呢,也该干嘛干嘛去呗


Congratulations,安装完成。点击重启,准备进行更细致的设置


重启之后会进入到这个界面,准备进行系统设置,比如时间啦,防火墙啦


设置防火墙,从省事角度考虑,disable掉


增强的linux安全设置,这里也disable掉


Kdump,一种防止系统意外crash造成的崩溃,看你的需求吧,这里不启用。


设置时间

如果有互联网访问权限的话,建议打开Network Time Protocol,该选项用于自动同步时间。

更新设置

我就没准备更新啊,因此~~


创建新用户

如果不创建第一次登录时将默认使用root,这里也不创建,留待后续操作中再创建。直接continue就好了

设置声卡

No soundcards were detected,那也就不需要设置喽~~

是否还有其它的安装,没有的话,点finish就好了

安装就算完成了,它会提示你重启系统以让设置生效,按人家说的办吧

Redhat Enterprise Linux5的安装算是到此结束。

[ 本帖最后由 junsansi 于 2008-6-20 13:02 编辑 ]


__________________
沉淀是一件很枯燥的事情,我要从沉淀中汲取营养,于枯燥中寻找乐趣,我没疯,你才是疯子,哇哈哈,哇哈哈哈哈~~
============================================
http://www.5ienet.com我爱我佳
扫地不过是我表面上的工作,我真正的身份其实是无名老僧------------------手里那根扫把~~~~
只看该作者    顶部
离线 xsmdel
Dber


来自 中国重庆
精华贴数 0
个人空间 140
技术积分 1241 (1467)
社区积分 41 (5395)
注册日期 2008-2-20
论坛徽章:3
授权会员2008北京奥运纪念徽章:艺术体操2008北京奥运纪念徽章:排球   
      

发表于 2008-6-20 12:56 
勤劳的三思,辛苦了!!我去看看!!


__________________
临渊羡鱼,不如退而结其网
只看该作者    顶部
离线 junsansi
无名扫把


来自 bj
精华贴数 7
个人空间 9096
技术积分 8237 (153)
社区积分 687 (1173)
注册日期 2006-7-17
论坛徽章:66
现任管理团队成员2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:拳击2008北京奥运纪念徽章:游泳
      

发表于 2008-6-20 12:56 
四、配置linux环境
以下脚本操作较多,不再频繁截图,仅贴出操作脚本供参考。
另,所有操作如非特别注明,均为root用户(注意看操作符前缀),建议通过ssh远程操作。

修改虚拟机配置
在配置linux系统之前,首先到你的虚拟机工作目录,打开.vmx文件,添加下列内容:
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"

scsi1:1.deviceType = "disk"
scsi1:2.deviceType = "disk"
scsi1:3.deviceType = "disk"
scsi1:4.deviceType = "disk"

提示:如果你创建有磁盘有多个,注意要按照你的实际情况修改。

编辑/etc/hosts文件
[root@node1 ~]# vi /etc/hosts
增加如下内容:
192.168.100.101 node1
192.168.100.102 node2

192.168.100.201 node1-vip
192.168.100.202 node2-vip

10.10.17.221 node1-priv
10.10.17.222 node2-priv

提示:192.168.100.201,202为指定的虚IP,供CRS使用,不需要我们配置。

创建组oinstall,dba,用户oracle
[root@node1 ~]# groupadd oinstall
[root@node1 ~]# groupadd dba
[root@node1 ~]# useradd -d /home/oracle -g oinstall -G dba oracle

设置oracle用户密码
[root@node1 ~]# passwd oracle
Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

提示:
[root@node1 ~]# id oracle
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)
如果是非虚机安装,要注意记录下用户和组ID,在其它机器上创建同名组时,务必确认组ID和用户ID与此相同。

修改oracle用户的初始化参数文件
[root@node1 ~]# vi /home/oracle/.bash_profile
增加如下内容:
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/opt/ora10g
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=RACDB1
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin/
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
ulimit -u 16384 -n 65536
umask 022
此处注意oracle_sid的名称要与后续创建数据库时指定的sid相同(注意大小写),不然你每次想通过本机登录的方式进入oracle都得重新export ORACLE_SID了。

创建/opt/ora10g目录,要注意该目录所有者或oracle用户的权限
[root@node1 ~]# mkdir /opt/ora10g
由于该目录主要由oracle用户操作,因此我们将其所有者改为oracle
[root@node1 ~]# chown oracle.oinstall /opt/ora10g

配置内核参数
[root@node1 ~]# vi /etc/sysctl.conf
增加或修改下列内容
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
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.shmmax,该参数推荐设定为物理内存的一半,由于安装crs的时候要求内存至少512M,因此我们此处也按照512*1024*1024来设置。

然后:
[root@node1 Server]# sysctl -p
让设置生效

提高 Oracle 用户的 shell 限制
设置oracle使用的文件数权限
[root@node1 ~]# vi /etc/security/limits.conf
增加下列内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

修改安全限制
[root@node1 ~]# vi /etc/pam.d/login
增加:
session    required     /lib/security/pam_limits.so

配置Hangcheck计时器
[root@node1 ~]# vi /etc/rc.local
增加:
modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180

磁盘分区
例如:
[root@node1 ~]# fdisk /dev/sdb

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-102, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-102, default 102):
Using default value 102

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

需要你输入的依次是"n/p/1/回车/回车/w"。
就本例而言,需要我们进行分区的有4个:sdb,sdc,sde,sdf

全分完后fdisk -l看一下,应该是这种形式:
[root@node1 ~]# fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda2              14         166     1228972+  82  Linux swap / Solaris
/dev/sda3             167        1044     7052535   83  Linux

Disk /dev/sdb: 107 MB, 107374080 bytes
64 heads, 32 sectors/track, 102 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         102      104432   83  Linux

Disk /dev/sdc: 322 MB, 322122240 bytes
64 heads, 32 sectors/track, 307 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1         307      314352   83  Linux

Disk /dev/sdd: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               1         261     2096451   83  Linux

Disk /dev/sde: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sde1               1         261     2096451   83  Linux

安装 oracleasmlib 程序包
所需的程序包可以到这里下载:
http://www.oracle.com/technology ... x/asmlib/rhel5.html
http://oss.oracle.com/projects/c ... s/Enterprise_Linux/
注意一定要与操作系统版本相符。

包还真不少,本着宁可无用,不能无有的原则,能下到的统统装上
俺装的包有下列:
[root@node1 rhel5]# ls -l
total 225376
-rwxr--r-- 1 oracle oinstall    410476 May 29 15:16 compat-binutils215-2.15.92.0.2-24.i386.rpm
-rwxr--r-- 1 oracle oinstall      4256 May 29 15:16 compat-libcwait-2.1-1.i386.rpm
-rwxr--r-- 1 oracle oinstall     88787 May 29 15:17 compat-libstdc++-egcs-1.1.2-1.i386.rpm
-rwxr--r-- 1 oracle oinstall      3840 May 29 15:17 compat-oracle-el5-1.0-5.i386.rpm
-rwxr--r-- 1 oracle oinstall   1079629 May 29 15:17 openmotif21-2.1.30-11.EL5.i386.rpm
-rwxr--r-- 1 oracle oinstall    122314 May 29 15:17 openmotif21-debuginfo-2.1.30-11.EL5.i386.rpm
-rwxr--r-- 1 oracle oinstall    125313 May 30 15:02 oracleasm-2.6.18-53.el5-2.0.4-1.el5.i686.rpm
-rwxr--r-- 1 oracle oinstall    126085 May 30 15:02 oracleasm-2.6.18-53.el5debug-2.0.4-1.el5.i686.rpm
-rwxr--r-- 1 oracle oinstall    125927 May 30 15:02 oracleasm-2.6.18-53.el5PAE-2.0.4-1.el5.i686.rpm
-rwxr--r-- 1 oracle oinstall    123346 May 30 15:02 oracleasm-2.6.18-53.el5xen-2.0.4-1.el5.i686.rpm
-rwxr--r-- 1 oracle oinstall     13658 May 30 15:13 oracleasmlib-2.0.3-1.el5.i386.rpm
-rwxr--r-- 1 oracle oinstall     22936 May 30 15:13 oracleasm-support-2.0.4-1.el5.i386.rpm
-rwxr--r-- 1 oracle oinstall     10662 May 29 15:17 xorg-x11-libs-compat-6.8.2-1.EL.33.0.1.i386.rpm

安装示例:
[root@node1 rhel5]# rpm -ivh compat-binutils215-2.15.92.0.2-24.i386.rpm
Preparing...                ########################################### [100%]
   1:compat-binutils215     ########################################### [100%]

提示,如果在安装过程中提示你缺少其它包,你可以先到操作系统安装光盘中寻找并安装所需系统包,然后再来安装下载到的包。

配置裸设备
由于RHEL5中取消了rawdevices,如果不想将映射命令放到rc.local中的话,我们就需要将其配置到/etc/udev/rules.d/文件夹中
修改文件
[root@node1 ~]# vi /etc/udev/rules.d/60-raw.rules

增加如下内容:
ACTION=="add", KERNEL=="/dev/sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="17",RUN+="/bin/raw /dev/raw/raw1 %M %m"
ACTION=="add", KERNEL=="/dev/sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="33",RUN+="/bin/raw /dev/raw/raw2 %M %m"
ACTION=="add", KERNEL=="/dev/sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="49",RUN+="/bin/raw /dev/raw/raw3 %M %m"
ACTION=="add", KERNEL=="/dev/sde1",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="65",RUN+="/bin/raw /dev/raw/raw4 %M %m"
KERNEL=="raw[1-4]", OWNER="oracle", GROUP="oinstall", MODE="640"

提示:要根据你的实际情况来配置
另外关于此处的配置有一点非常奇怪,我看到red hat官方文档中关于raw.rule的示例中说KERNEL==..或ENV{MAJOR}...只需要任意配置一个就可以,但我在具体配置过程中发现百试不爽,我尝试了各种组合发现都不生效,必须二者同时配置才可以,难道是俺用的linux内核版本太低了?百思不得其解,如有达人已深究其内幕,望助我解惑~~~~

重启下服务:
[root@node1 ~]# start_udev
Starting udev: [  OK  ]

验证一下
[root@node1 ~]# ls /dev/raw/ -l
total 0
crw-r----- 1 oracle oinstall 162, 1 Jun  6 17:57 raw1
crw-r----- 1 oracle oinstall 162, 2 Jun  6 17:57 raw2
crw-r----- 1 oracle oinstall 162, 3 Jun  6 17:57 raw3
crw-r----- 1 oracle oinstall 162, 4 Jun  6 17:57 raw4

OK,前期设置完成。En,有点儿麻烦,但运气还算不错,在这些操作上你基本不会遇到什么问题。

[ 本帖最后由 junsansi 于 2008-6-20 13:04 编辑 ]


__________________
沉淀是一件很枯燥的事情,我要从沉淀中汲取营养,于枯燥中寻找乐趣,我没疯,你才是疯子,哇哈哈,哇哈哈哈哈~~
============================================
http://www.5ienet.com我爱我佳
扫地不过是我表面上的工作,我真正的身份其实是无名老僧------------------手里那根扫把~~~~
只看该作者    顶部
离线 junsansi
无名扫把


来自 bj
精华贴数 7
个人空间 9096
技术积分 8237 (153)
社区积分 687 (1173)
注册日期 2006-7-17
论坛徽章:66
现任管理团队成员2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:拳击2008北京奥运纪念徽章:游泳
      

发表于 2008-6-20 12:57 
五、配置第2台节点-NODE2

关闭节点1,通过vmware复制一个新节点出来,操作非常简单,如果希望界面方式的话,就点击Clone this virtual machine,按照提示下一步即可。如果希望更快捷,直接将rac1目录复制一份到rac2,然后修改.vmx文件中的配置,将路径rac1相关的改成rac2,将RHEL5_NODE1改成RHEL5_NODE2,然后用vmware打开rac2目录中的vmx文件即可,这里三思采用的就是这种方式。

将你启动RHEL5_NODE2的时候,系统会弹出这个提示,一个要选择Create。该选项是说vmware发现配置发生了变化,如果该虚机是复制出来的,需要创建一个唯一的身份标识,让你来选择是否创建,当然要选择Create,如图:


提示:注意下列操作符中提示是node1,这是因为该虚机是由node1复制出来的,千万不要以为下列操作是要在node1上设置哟。

修改hostname
将node1改成node2
[root@node1 ~]# hostname node2
[root@node1 ~]# vi /etc/sysconfig/network
这样重启之后机器名称就会变成node2了。

修改ip地址
先ifconfig看一下:
[root@node1 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:290:48:9D  
          inet addr:172.25.0.59  Bcast:172.25.255.255  Mask:255.255.0.0
          inet6 addr: fe80::20c:29ff:fed0:489d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2032 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:238791 (233.1 KiB)  TX bytes:8111 (7.9 KiB)

eth1      Link encap:Ethernet  HWaddr 00:0C:290:48:A7  
          inet addr:172.25.0.60  Bcast:172.25.255.255  Mask:255.255.0.0
          inet6 addr: fe80::20c:29ff:fed0:48a7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1847 errors:0 dropped:0 overruns:0 frame:0
          TX packets:46 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:201063 (196.3 KiB)  TX bytes:8958 (8.7 KiB)
          Interrupt:19 Base address:0x1800
...................
...................
这一步主要是为了记录下两个网卡的mac地址。

[root@node1 ~]# cd /etc/sysconfig/network-scripts/
[root@node1 network-scripts]# mv ifcfg-eth0.bak ifcfg-eth0 -f
[root@node1 network-scripts]# mv ifcfg-eth1.bak ifcfg-eth1 -f
[root@node1 network-scripts]# vi ifcfg-eth0
修改IP地址,192.168.100.101为192.168.100.102
注意修改HWADDR的值为前面ifconfig中查看到的eth0的HWaddr:00:0C:290:48:9D

[root@node1 network-scripts]# vi ifcfg-eth1
同理做修改,HWADDR的值要修改为eth1中的HWaddr:00:0C:290:48:A7

最后重启一下网络服务
[root@node1 network-scripts]# service network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down interface eth1:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Disabling IPv4 packet forwarding:  net.ipv4.ip_forward = 0
                                                           [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                [  OK  ]
Bringing up interface eth1:                                [  OK  ]

提示:此时两机使用4个IP或4个别名互ping应该都是通的了,如果不通,建议按照上述的操作步骤,检查一下网络的配置。

修改oracle用户下的环境变量等
[root@node2 network-scripts]# vi /home/oracle/.bash_profile
将ORACLE_SID=RACDB1改为ORACLE_SID=RACDB2

统统设置完成后,建议重启一下第2个节点。

[ 本帖最后由 junsansi 于 2008-6-20 13:04 编辑 ]


__________________
沉淀是一件很枯燥的事情,我要从沉淀中汲取营养,于枯燥中寻找乐趣,我没疯,你才是疯子,哇哈哈,哇哈哈哈哈~~
============================================
http://www.5ienet.com我爱我佳
扫地不过是我表面上的工作,我真正的身份其实是无名老僧------------------手里那根扫把~~~~
只看该作者    顶部
离线 junsansi
无名扫把


来自 bj
精华贴数 7
个人空间 9096
技术积分 8237 (153)
社区积分 687 (1173)
注册日期 2006-7-17
论坛徽章:66
现任管理团队成员2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:拳击2008北京奥运纪念徽章:游泳
      

发表于 2008-6-20 12:57 
六、配置Clusterware安装环境

设置ssh
在clusterware (CRS) 和 Rac Database安装过程中,Oracle Universal Installer (OUI) 必须能够以 oracle 的身份自动将软件复制到所有 RAC 节点。这里我们通过配置ssh 让oracle用户拥有不输入密码即可访问各节点的能力。
首先两个节点间互ping,要确保都是通的
[root@node1 ~]# ping 192.168.100.102
[root@node1 ~]# ping 10.10.17.222

要建立用户等效性,需要在两个节点上以 oracle 用户身份生成用户的公钥和私钥,首先在node1执行:
[root@node1 opt]# su - oracle
[oracle@node1 ~]$ mkdir ~/.ssh
[oracle@node1 ~]$ chmod 700 ~/.ssh
[oracle@node1 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa):
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:
d2:69:eb:ac:86:62:27:50:99:ff:e8:1e:a2:e6:5d:7f oracle@node1
[oracle@node1 ~]$ 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:
0a:9a:20:46:a2:28:ec:72:23:82:f2:9d:f8:62:9b:d1 oracle@node1

然后换node2执行
[root@node2 ~]# ping 192.168.100.102
[root@node2 ~]# ping 10.10.17.222
[root@node2 opt]# su - oracle
[oracle@node2 ~]$ mkdir ~/.ssh
[oracle@node2 ~]$ chmod 700 ~/.ssh
[oracle@node2 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa):
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:
dd:be:7a:37:e4:b5:f0:b2:24:95:50:61:ea:a1:61:07 oracle@node2
[oracle@node2 ~]$ 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:
bc:b5:cb:43:c7:19:53:d6:f7:16:69:85:12:7f:aa:be oracle@node2

切换回node1,接着执行:
[oracle@node1 ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[oracle@node1 ~]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

提示:下列命令会提示你输入node2的oracle密码,按照提示输入即可,如果失败可重新尝试执行命令。
[oracle@node1 ~]$ ssh node2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
The authenticity of host 'node2 (192.168.100.102)' can't be established.
RSA key fingerprint is 92:d1:ce:5b:c8:a1:52:d5:ac:00:5f:48:5d:12:06:e4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'node2,192.168.100.102' (RSA) to the list of known hosts.
oracle@node2's password:
[oracle@node1 ~]$ ssh node2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
oracle@node2's password:
[oracle@node1 ~]$ scp ~/.ssh/authorized_keys node2:~/.ssh/authorized_keys
oracle@node2's password:
authorized_keys                               100% 1992     2.0KB/s   00:00   

两机相互执行,看看是否还需要输入密码
[oracle@node1 ~]$ ssh node1 date
[oracle@node1 ~]$ ssh node2 date
[oracle@node1 ~]$ ssh node1-priv date
[oracle@node1 ~]$ ssh node2-priv date

切换至node2执行
[oracle@node2 ~]$ ssh node1 date
[oracle@node2 ~]$ ssh node2 date
[oracle@node2 ~]$ ssh node1-priv date
[oracle@node2 ~]$ ssh node2-priv date

提示:
注意命令的返回信息,由于rac对节点间时间较敏感,因此如果此处显示节点单时间不一至,建议同步(一般相隔超过20秒就需要同步时间了)。

配置asm
注意:必须以root身份进行

首先在node1执行:
[root@node1 ~]# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting <ENTER> without typing an
answer will keep that current value.  Ctrl-C will abort.

Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Fix permissions of Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: [  OK  ]
Loading module "oracleasm": [  OK  ]
Mounting ASMlib driver filesystem: [  OK  ]
Scanning system for ASM disks: [  OK  ]

提示:如果本步执行出错(可能出错机率最高的是在Scanning system for ASM),不妨将转换一下命令行的执行方式,改成:
[root@node1 ~]# sh /etc/init.d/oracleasm configure
有可能解决你的问题!

然后切换至node2执行
[root@node2 ~]# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting <ENTER> without typing an
answer will keep that current value.  Ctrl-C will abort.

Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Fix permissions of Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: [  OK  ]
Loading module "oracleasm": [  OK  ]
Mounting ASMlib driver filesystem: [  OK  ]
Scanning system for ASM disks: [  OK  ]

再切换回node1执行
[root@node1 ~]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdd1
Marking disk "/dev/sdd1" as an ASM disk: [  OK  ]
[root@node1 ~]# /etc/init.d/oracleasm createdisk VOL2 /dev/sde1
Marking disk "/dev/sde1" as an ASM disk: [  OK  ]
[root@node1 linux-patch]# /etc/init.d/oracleasm scandisks
Scanning system for ASM disks: [  OK  ]

查看一下当前的磁盘组:
Scanning system for ASM disks: [  OK  ]
[root@node1 ~]# /etc/init.d/oracleasm listdisks
VOL1
VOL2

Node2上也查看一下当前磁盘组:
[root@node2 ~]# /etc/init.d/oracleasm scandisks
Scanning system for ASM disks: [  OK  ]
[root@node2 ~]# /etc/init.d/oracleasm listdisks
VOL1
VOL2

Ok,配置完成,准备进入到crs的安装阶段

[ 本帖最后由 junsansi 于 2008-6-20 13:05 编辑 ]


__________________
沉淀是一件很枯燥的事情,我要从沉淀中汲取营养,于枯燥中寻找乐趣,我没疯,你才是疯子,哇哈哈,哇哈哈哈哈~~
============================================
http://www.5ienet.com我爱我佳
扫地不过是我表面上的工作,我真正的身份其实是无名老僧------------------手里那根扫把~~~~
只看该作者    顶部
离线 junsansi
无名扫把


来自 bj
精华贴数 7
个人空间 9096
技术积分 8237 (153)
社区积分 687 (1173)
注册日期 2006-7-17
论坛徽章:66
现任管理团队成员2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:拳击2008北京奥运纪念徽章:游泳