Vmware gsx 2.5+linux+oracle817(ops) 双机安装手册

发表于:2007-06-09来源:作者:点击数: 标签:
Vmware gsx 2.5+linux+oracle817(ops) 双机安装手册 Vmware gsx 2.5+linux+oracle817(ops) 双机安装手册 转自: ITPUB论坛 作者: 笑傲 Email:baobao521@21cn.com QQ: 271761613 一,前言 希腊的圣哲苏格拉底在大熟之季,带着几位弟子到麦垅去,无垠的田野在
Vmware gsx 2.5+linux+oracle817(ops) 双机安装手册

Vmware gsx 2.5+linux+oracle817(ops) 双机安装手册

转自: ITPUB论坛
作者:笑傲
Email:baobao521@21cn.com
QQ: 271761613


一,前言

希腊的圣哲苏格拉底在大熟之季,带着几位弟子到麦垅去,无垠的田野在风中摇响黄金一甸的麦穗。苏格拉底说:你们到麦地摘下一支自已眼见的最大的麦穗,许进不许退,我在尽处的坎坡等你们。几位弟子谨听规则之后,便下了麦田。到处都是又粗又大的麦穗,哪一支才是最大的呢?他们埋着头率意前行,总认为最大的一支麦穗还未见着,还在前面。就这样他们摘了又扔,总以为机会多多,不必过早定夺。久之,猛然听到苏格拉底苍老如钟的声音:你们已到头了!两手空空的弟子这才如梦初醒,他们回望麦垅,无数大而沉的麦穗似乎满带着嘲弄的神情,在风中摇曳。苏格拉底说:这麦地中肯定有一穗是最大的,但你们未必能碰见;即使碰见了,也未必能下此断语。因此,最大的一穗正是你手中摘得的那一穗,而非其它。我们之于电脑技术,也如同在麦地中行走,寻找那最大的一支。也许对大多数的朋友来说,电脑技术的最大收获就在追求技术的过程之中,请相信:“最大的一穗正是你手中摘得的那一穗”!

正文

呵呵,又说了些和内容无关的话,请个位见谅!回到这回的主题来,大家知道VMWARE GSX server 是VMWARE 公司推出的一款在PC 上摸拟各种操作系统的软件,现在的版本是2.5,在它的官方文档里提道了利用一种格式是pln 的磁盘,共享SCSI1 通道来实现windows 系统下的虚拟双机CLUSTER+SQL SERVER,突破了大多数系统安装爱好者受硬件环境的制约而无法实现CLUSTER,双机,热备等系统的安装,真正实现了在一台PC 机上就能玩CLUSTER 双机,个人认为这一功能的出现使所有受场地,硬件制约而只听说过的爱好者有了一个学习,练习的机会,实在是我们的福音呀!我对VMWARE 的景仰之情如黄河之水⋯⋯(打住,废话这么多,快说正事了,这年头看文章也要看一段广告,我K 你!)但是⋯⋯,为啥没有UNIX 环境下的CLUSTER 双机啊,要知道高端服务器可都是UNIX 的天下呀!呵呵,别急,经过本人的无数次失败和无数次难眠的夜晚,我大声的宣布“牛奶会有的,面包会有的”终于有史以来,不,是有VMWARE 以来最最详细的LINUX+ORACLE817(OPS)双机安装全攻略诞生了!广告结束,let’s go

一,安装所需软件:

1
, vmware gsx server 2.5 这个如果你也找不到,那我真的无话可说,你可去www.vmware.com 下载,然后申请试用序列号,你也可以在www.google.com 搜索,相信有你要的!

2, Redhat linux 6.2 这个是老了点,很多人可能要问,这么老的能行吗?咋不用9 或者2.1 呀,呵呵,是呀,是老了点,但经我测试,7.1,7.2,7.3,8.0,9.0,2.1 达到同样效果时,最省硬盘空间,最省硬件资源,在当今动者几G 的系统面前,6.2 以不到600M 的安装空间,短小精悍的性能成了我这次测试的异外之喜,相信我没错的,但如果你认为6.2 落后了,你要用9.0 或2.1 也完全可以!这取决于你PC 机的CPU,内存,硬盘,只要你有足够强劲的硬件资源!如果你的硬件资源不是那么充足,那你就首选6.2 吧!你可以去www.google.com 搜索,会有很多下载点的!

3Oracle817(ops) 这个你可去www.oracle.com 下载,http://otn.oracle.com/software/products/oracle8i/index.html
主要软件就这些,当然在安装过程中还需要些别的软件,比如: telnet 软件,虚拟光驱软件等,这里我就不在介绍了,相信大家都有,也都会用!好了,让我们开始我们充满乐趣和挑战的安装吧!

二,安装
1,vmware gsx server 2.5 的安装和设置
安装和简单选默认既可,关闭光驱的“AUTORUN”功能时选“是”,查找虚拟盘时选“否”
然后要求重启系统,vmware gsx server 2.5 就安装完了,目前还没汉化版,对E 文不太好的来说是有点烦,但也没啥,下面有截图教你如何设置!重启后,我们打开VMWARE GSX 进行设置,
如图:File—>NewàNew Virtual Machine 在弹出的窗口选“Custom”

接下来的窗口选“Other”,并命名为“Linux”

接下来的内存,我选“64M”因为要在一台PC 上跑二个LINUX,所以选64M,我的PC 只有256M,紧张了些,如果你的内存大,那你可多选些!

接下来的网络联接请选“Bridged”磁盘空间请选默认的4G,可根据你的硬件资源选,但不要小于4G。

磁盘文件名就用默认的,点“Finish”就完成了虚拟机的设置。

然后我们对这台虚拟机的配置做少许修改,因为使用中软驱用的很少,我们把软驱从配置中删去。SettingsàConfiguration Editor

修改配置,删除软驱

好了,第一个LINUX 虚拟机“Linux”建好了,同理,我照此在建一个LINUX 虚拟机“Linux2”这样在VMWARE GSX 界面里就有二个一样配置的LINUX 虚拟机!这样就符和CLUSTER 双机的基本定义了。

接下来我们就要开始创建共享的PLN 磁盘,请用windows 命令提示符进入到VMWARE GSX 的安装目录,这里假设你是安装在“C:\Program Files\VMware\VMware GSX Server”下,在这里你可以发现一个可执行文件“plainmaker.exe”这就是我们用来产生PLN 共享磁盘的工具,我们在命令提示符下敲如下命令:plainmaker d:\sys.pln 2000m 这条命令的意思就是在“d:\sys”的目录下生成一个2G 的PLN 磁盘。

共享磁盘做好后,我们就得把它加入我们刚建立的那二个LINUX 虚拟机中,我们在VMWARE GSX界面里,选中一个虚拟机,点SettingsàConfiguration Editor 在弹出的增加硬件向导窗口点“ Add ”,然后选“Hard Disk”点“Next”

接下来的“Select a Disk”我们点第二个“Use an existing virtual disk”

然后我们们找到我们刚做好的那个PLN 磁盘

在“Select a disk mode”时,请一定要选第一项“persistent”

然后我们再点“Advanced”这一步极其重要!

在接下来的“Select a Disk Node”请千万一定要选“SCSI 1:0”

选完后点“Finish”点“OK”这样我们就完成了添加共享磁盘的操做,同样对另一个LINUX 虚拟机做同样的操作!做完这些我们需要对这2 个LINUX 虚拟机的配置信息文件(VMware Configuration File)进行编辑,它们的名字分别是:Linux.vmx,Linux2.vmx 、它们就在你存放LINUX 虚拟机的目录里,我们用记事本就可以打开进行编辑。下面是其中之一的内容,请注意深黑字体的内容,这些就是加进去的,主要是告诉VMWARE GSX SCSI1:0 是共享的总线,在它上面的磁盘是共享磁盘,2 个文件都要加上这些内容,否者双机不能共享磁盘,这个原理就相当于虚拟出一个磁盘阵列!

config.version = "6"

virtualHW.version = 2

localConsole = TRUE

displayName = "Linux"

guestOS = "linux"

ide1:0.present = TRUE

ide1:0.deviceType = "atapi-cdrom"

ide1:0.fileName = "I:"

scsi0:0.present = TRUE

scsi0:0.fileName = "Linux.vmdk"

scsi0.present = TRUE

memsize = 64

ethernet0.present = TRUE

draw = "gdi"

floppy0.present = FALSE

scsi1:0.present = TRUE

scsi1:0.deviceType = "plainDisk"

scsi1:0.fileName = "D:\sys.pln"

scsi1.present = TRUE

disk.locking = FALSE

scsi1.sharedBus = "virtual"

scsi1:0.mode = "persistent"

uuid.location = "56 4d 9c 46 c6 e7 af 51-a8 17 47 e7 e7 8c 64 f2"

ide1:0.startConnected = TRUE

tools.remindInstall = FALSE

tools.syncTime = FALSE

编辑好保存,到这里2 个LINUX 虚拟机就设置完了,下来,我们开始Red Hat Linux 6.2 的安装了!

2,Red Hat Linux 6.2 安装和Oracle817 Which OPS 双机安装而进行的相关设置

(1)Red Hat Linux 6.2 安装

先准备好下载的6.2 ISO 文件,安装好虚拟光驱软件:Daemon Tools ,然后装载ISO镜像文件

先在VMWARE GSX 里选中一个LINUX 虚拟机,选SettingsàPreferences 在“Hot Keys”里选第2 个“Ctrl+Alt+Shift”这里选这个是为了在LINUX 里进行切换!

完成后,我们打开选好的LINUX 虚拟机,点“Power On”开始安装6.2 ,打开电源后我们先用鼠标在画面里点一下,然后按F2 键,进入VM 的“BIOS”设置启动顺序,(和我们平时用的真实机子一样,只不过VM 的“BIOS”是PhoenixBIOS,很多品牌机用这个),把“CD-ROM Drive”设为第一选择,然后把软驱关闭

然后保存重启,开始LINUX6.2 的安装!

光盘引导后,出现6.2 安装界面,选“English”点“Next”

接下来的键盘,鼠标都选默认,选完后来到“System installer”

接下来的安装类型选“Custom”开始进行磁盘初始化。

我们可以看见有2 个磁盘“sda ,sdb”,我们只对“sda”进行分区,方案如下:/boot 100m , swap 128m ,/ 1859m /oracle 2000m 截图如下:

分完后如下图,对“sdb”这里不分区,请保持原样!

接下来的“Choose partition to format”选默认既可!“Lilo configuration”选不创建启动盘!

点“Next”进入“Network Configuration”请关闭“Configure using DHCP”我的配置如图,你可根据你的实际情况进行配置。

我这里hostname 设为“dbs1”ip 为“11.0.10.12 255.255.255.0”接下来的时区我选”shanghai”

接着要设置ROOT 口令,“Authentication Configuration”选默认,这些完了后进入安装程序选择界面

这里要注意的是我们只选以下几种“X Windows System”,“GNOME”,“Anonymous FTP Server”,“Emacs”,“Development”,“Kernel Development”,“Utilities”软件包就可以了,其它的都不要选,当然你也可以根据你的需求选其它的软件包,但务必包含上面6 个软件包!选完后我们点“ Next”进行“Xconfiguration”的配置,先选显示器,我们选择“Generic Monitor”,显卡选“Generic VGA compatible”“1024K”

选好后,点“Next”就开始略显慢长的6.2 安装了!

好了,我们可以放松一下了,休息一下,当然你也可以把另一个LINUX 虚拟机打开,和第一个用相同的配置,也开始安装,当然这样会很慢,但只要你的PC 足够劲,我在我的P2 400MHZ 256M 的机子上同时安装6.2 花了大约3 个多小时,我想大家的机子不至于比我的差吧,都P4 时代了呀!

看这就是我装好后的截图
帅吧!2 个LINUX 主机在跑!

(2)LINUX 主机信任机制设置

接下来我们就要对这二个LINUX 主机系统进行设置了!首先我们要这二个LINUX 主机定义它们的“ hostname”这点很重要,在ORACLE(OPS)里每个主机被认为是1 个节点(Node),每个节点用“hostname”来区别!这里第一个LINUX 主机的“ hostname”我定义为“dbs1”,第二个为“ins1”,因为在安装时,我们在网络设置时已做了定义。所以我们只需对它们各自的“/etc/hosts”文件进行一些修改,下面是dbs1 主机的“hosts”初始文件的内容

127.0.0.1 dbs1 localhost.localdomain localhost

我们把它改为下面的内容既可:

127.0.0.1 localhost localhost.localdomain localhost (注:这里删去dbs1,是为了不和下面定义的dbs1 冲突,这步很重要,是我用血的代价总结出来的!)

11.0.10.12 dbs1
11.0.10.13 ins1 (注:另一个LINUX 主机的“hostname”)

同理,ins1 的hosts 和dbs1 的一样设置!

然后我们在2 个机子上互相ping 一下,如:在dbs1 上我们“ping ins1”如能ping 通,并能正确解析则表示配置没问题,如有问题,请检查网络和“ hosts”文件是否正确!接下来我们要进行双机安全和互相信任方面的设置,oracle(ops)能否安装成功很大一部分取决于次处配置是否正确!

我们现取消掉LINUX 对root 用户telnet 的限制!我们在#号下执行如下命令:# cd /etc/pam.d#vi login 在第2 行“auth required /lib/security/pam_securetty.so”前加#号注释掉,保存退出。这样ROOT 用户就能用TELNET 登陆了

同样为了保证各个用户能用rlogin,rsh,我们对同目录下(/etc/pam.d)的rlogin 文件也进行vi 编辑,同样注释掉第2 行“auth required /lib/security/pam_securetty.so”这样各个用户就能正常使用rlogin 了,当然你首先必需保证rsh 包安装了,呵呵,这个你放心,一般都安装了!只要你安装6.2 时照我前面讲的做了就没问题,不信你用下面的命令查看:#rpm -aq |grep rsh

然后我们VI 编辑/etc/securetty 在其最后添上“rsh”这样rlogin,rsh 可正常用了!

为了ROOT 用户能FTP 到主机上我们还得修改“/etc/ftpusers”这个文件,在文件里的“root”前加个#号注释掉!虽然这一步并不是必要的,但我觉的有时候用到root 时会很方便的!

接下来我要进行,2 个节点(注:也就是2 个LINUX 主机,这样做是为了规范化,以后都用节点代表主机)信任机制设置,我们先在每个节点的“/etc”目录下vi 建立名为“hosts.equiv”文件,其内容如下:

dbs1 #节点dbs1 的hostname
ins1 #节点ins1 的hostname

这样2 个节点就建立了信任机制,这对于进行Cluster 双机的安装是极其重要的!它保证了2 个节点具有相同的用户使用“rsh,rlogin,rcp”命令的权限,也就是信任被信任主机的所有用户!这样在2个节点上的除过root 用户外,都可以互相“rlogin ,rsh ,rcp ”而不必输入password 为了让2 个节点的root 用户也能这样,我们还需在每个root 用户的主目录“/root”vi 建立.rhosts 文件,其内容为:

dbs1 root
ins1 root

这样的话,root 用户用“rlogin ,rsh ,rcp ”也不必输入密码,当然安全性是差了点!

做完这些我们可以在每个节点上执行“rlogin ,rsh ,rcp ”我举几个类子,比如我们在节点dbs1 上执行:#rlogin ins1 ( rlogin 登录到节点ins1 上,可以看到我们可不用输密码就成功的以root 身份进入节点ins1)#rsh –l root ins1 cat /etc/hosts.equiv 以root 用户,在登录节点ins1 执行cat /etc/hosts.equiv 命令,这时在节点dbs1 的屏幕返回节点ins1上/etc/hosts.equiv 文件的内容)#rcp /tmp/test.txt ins1:/tmp(拷贝节点dbs1 的/tmp 目录下的文件test.txt 到节点ins1 的/tmp 目录下)呵呵,以上只是万里长征走完的一小步,还有好多要设置呢!

(3)oracle817 which ops 相关设置

① LINUX 内核设置
因为red hat linux 没有自己的Cluster 软件,到2.1 才有,但对oracle ops 不支持,不像AIX,HPUX,SUN SOLARIS,TRUE 64 等都有支持OPS 的Cluster 软件,因此, ORACLE在它的ORACLE 817里带上了它的Cluster 软件ORCM,既Oracle Cluster Manager 以提供对LINUX 上双机安oracle ops的需求,来实现LINUX 平台上ORACLE 数据库的高可应用性,即常的HA!为了使用ORCM,必需对LINUX 的内核进行修改并重新编绎,ORCM 需要watchdog 的持,一般LINUX 装好后提供了对watchdog的支持,但有些内核选项不是自动而是手工,或打开这就需我们进行调整!下面3 个内核参数需要修改为:

CONFIG_WATCHDOG=y
CONFIG_SOFT_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y

注:也就是“Disable watchdog shutdown on close”

下面是全部命令:

我们先进入“/usr/src/linux”vi 编辑Makefile 把“EXTRAVERSION= -5.0”改为“EXTRAVERSION=-5.0ops”这样便于与原来的内核作区别!

然后执行“make menuconfig”

# cd /usr/src/linux

# make menuconfig 在弹出的菜单里选Character devices -à 可看到“[*]Watchdog Timer Support”已标记上*,这就说明“CONFIG_WATCHDOG=y”在内核里已获得支持!在接下的Watchdog Card -à我们可以看见“[M] Disable watchdog shutdown on close”这里请把改为“[*] Disable watchdog shutdown on close”这就是“CONFIG_WATCHDOG_NOWAYOUT=y”然后确认“[*]Software Watchdog”[]里是*,这就是“CONFIG_SOFT_WATCHDOG=y”这些都做完后选择“Exit”退出,这时问你是否保存新的内核配置,呵呵,一定要选“Yes”呀!

② 内核编绎

上面这些做完后,就可以开始编绎新配好的内核了,我们接着执行如下命令:

# make dep (建立编译时所需的从属文件)

# make clean (清除内核编译的目标文件)

# make bzImage (编译内核)

# make modules (编译可加载模块)

# make modules_install (编译成功后,系统会在/lib/modules 目录下生成一个2.2.14-5.0ops 子目录,里面存放着新内核的所有可加载模块。)

# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.2.14-5.0ops (将新内核拷贝到/boot 目录下)
# cp /usr/src/linux/System.map /boot/System.map-2.2.14-50ops (将System.map 文件拷贝到/boot 目录下)

# /sbin/mkinitrd /boot/initrd-2.2.14-5.0ops.img 2.2.14-5.0ops (生成新的img文件)

这样新的内核就可以使用了,你可以把老的内核,Sysmap 删去,当然你也可以留下!

③ 配置/etc/lilo.conf 文件。

在该文件中修改如下几行为:

image=/boot/vmlinuz-2.2.14-50.ops
label=linux
initrd=/boot/initrd-2.2.14-50ops.img

保存,重新启动即可!虽然内核重建了,但设备文件watchdog 并没生成,我们还的手工
创建watchdog 设备文件,用如下命令创建:

#mknod /dev/watchdog c 10 130

等oracle 用户和dba 组建好后,改变其属主为oracle:dba 既可!

④ 建立oracle cluster manager 管理分区和存放oracle 表空间,控制文,redo log file 的磁盘分区。

oracm 需要一个共享的raw 设备用来保存实时数剧,oracle ops 也需要把它的数据库文件放在共享的raw 设备上,所以我们对共享磁盘进行分区, 然后建立相应的raw 设备文件。
首先,我们对共享磁盘进行分区,在2 个节点其中之一进行既可。方案如下:

我们共分3 个主分区(primary partition)和1 个包括10 个分区的扩展分区(extended)。

/dev/sdb1 10M (用来做oracle cluster manager 管理分区)
/dev/sdb2 500M (用来存放oracle 回滚数据表空间rollback)
/dev/sdb3 300M (用来存放oracle 系统表空间system)
/dev/sdb5 100M (用来存放oracle 工具表空间tools)
/dev/sdb6 100M (用来存放oracle 临时表空间temp)
/dev/sdb7 200M (用来存放oracle 用户表空间user)
/dev/sdb8 100M (用来存放oracle 索引表空间indx)
/dev/sdb9 10M (用来存放oracle 控制制文件control file)
/dev/sdb10 10M 同上
/dev/sdb11 8M (用来存放第1 个节点oracle 重做日志文件redo log file ,每个节点2 个redo log file)
/de/sdb12 8M 同上
/dev/sdb13 8M (用来存放第2 个节点的oracle 重做日志文件)
/dev/sdb14 8M 同上

这里要注意,系统表空间(system tablespace)一定不能少于275M,每个ORACLE 表空间,
控制文件,redo log file,都要是8KB 的倍数。


根据这个方案我们进行分区,#fdisk /dev/sdb 如截图:

因为是共享磁盘,所以只需在1 个节点分区既可!分完区后,输“w”保存分区即可!

⑤ 每个节点raw 设备文件的建立

根据下面方案建立RAW 设备文件,并与相应分区bound。

/dev/raw/raw1 /dev/sdb1
/dev/raw/rbs01 /dev/sdb2
/dev/raw/sys01 /dev/sdb3
/dev/raw/tools01 /dev/sdb5
/dev/raw/temp01 /dev/sdb6
/dev/raw/user01 /dev/sdb7
/dev/raw/indx01 /dev/sdb8
/dev/raw/ctl1 /dev/sdb9
/dev/raw/ctl2 /dev/sdb10
/dev/raw/log1_1 /dev/sdb11
/dev/raw/log1_2 /dev/sdb12
/dev/raw/log2_1 /dev/sdb13
/dev/raw/log2_2 /dev/sdb14

建立raw 文件的方法

#mknod /dev/raw/rbs01 c 162 2;mknod /dev/raw/sys01 c 162 3;mknod /dev/raw/tools01 c 162 4;mknod /dev/raw/temp01 c 162 5;mknod /dev/raw/user01 c 162 6;mknod /dev/raw/indx01 c 162 7;mknod /dev/raw/ctl1 c 162 8;mknod /dev/raw/ctl2 c 1629;mknod /dev/raw/log1_1 c 162 10;mknod /dev/raw/log1_2 c 162 11;mknod /dev/raw/log2_1 c 162 12;mknod /dev/raw/log2_2 c 162 13

oracle 用户和dba 组建立后,请改变这些RAW 文件属主为oracle:dba !这些在另一个节点也要做,而且要相同!然后我们修改2 个节点的“/etc/rc.d/rc.local”文件,在其最后添上如下内容:

raw /dev/raw/raw1 /dev/sdb1
raw /dev/raw/rbs01 /dev/sdb2
raw /dev/raw/tools01 /dev/sdb5
raw /dev/raw/sys01 /dev/sdb3
raw /dev/raw/temp01 /dev/sdb6
raw /dev/raw/user01 /dev/sdb7
raw /dev/raw/indx01 /dev/sdb8
raw /dev/raw/ctl1 /dev/sdb9
raw /dev/raw/ctl2 /dev/sdb10
raw /dev/raw/log1_1 /dev/sdb11
raw /dev/raw/log1_2 /dev/sdb12
raw /dev/raw/log2_1 /dev/sdb13
raw /dev/raw/log2_2 /dev/sdb14

重启后,在2 个节点上执行# raw –aq 可以查看建好的raw 设备壮况到这里,有关raw 设备文件的建立即本就完了!

⑥ 在每个节点建立oracle 用户和dba,oinstall 组

#groupadd dba (建dba 组)
#groupadd oinstall (建oinstall 组,安装oracle 必需要有oinstall 组)
#useradd –d /home/oracle –g dba –G oinstall –m oracle (建立oracle 用户,它的主目录为/home/oracle)
#passwd oracle (给oracle 用户设口令)

建好后,以oracle 用户登录,建立ora 目录,用来放oracle 安装文件。$mkdir –p ora ,然后用root 用户改变“/oracle ”目录的属主为oracle:dba,#chown oracle:dba /oracle,这里/oracle 目录就是oracle 安装的主目录!

⑦ 配置oracle 环境变量和linux 内核参数

vi 编辑每个节点“/home/oracle/.bash_profile”文件,添加如下内容:

export ORACLE_BASE=/oracle

export ORACLE_HOME=$ORACLE_BASE/product/8.1.7

export ORACLE_SID=ops1

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

export NLS_LANG="simplified chinese"_china.zhs16cgb231280

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export CLASSPATH=.:$ORACLE_HOME/jdbc/lib/classes111.zip

export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/dbs:/etc

export LD_ASSUME_KERNEL=2.2.5

vi 编辑“/etc/services”文件,在最后添上如下内容:

set shmsys:shminfo_shmmax=134217728 (注:256MX0.5X1024X1024)
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=128
set shmsys:shminfo_shmseg=16
set semsys:seminfo_semmni=128
set semsys:seminfo_semmns=2048
set semsys:seminfo_semmsl=2048
set semsys:seminfo_semume=64
set semsys:seminfo_semmnu=768
set semsys:seminfo_semmap=20
set semsys:seminfo_semopm=100
set semsys:seminfo_semvmx=32767

这些做完后,重启既可!

4, oracle ops 的安装

(1) 安装vmware-tools for linux,你在哪个节点安装oracle 你就在哪个节点装vmwa
re-tools for linux,这里我选节点dbs1 安装,安装这个主要是为了使X windows用16 位色或24 位色显示,也就是所谓的安装显卡!下面是安装说明:

我们先以root 用户登录dbs1,然后执行:#startx,出现X windows 界面当然出现的是一个16 色的界面,这时我们点虚拟机Settings-àVmware Tools Instlall

在弹出的窗口选“Install”

安装文件vmware-linux-tools.tar.gz 会出现在X windows 界面里“/mnt/cdrom”目录,
这是自动出现的,如果没如下图的窗口出现,请到“/mnt/cdrom”目录里找!

我们按“Alt+Ctrl+Shift+F2”这4 个组合键,切换linux 到另一个登录窗口,以root 用户登录进入,我们拷贝“/mnt/cdrom”目录下的“vmware-linux-tools.tar.gz”文件到“/tmp”目录#cp /mnt/cdrom/*.gz /tmp,然后我们在“/tmp”目录下执行#tar xvzf *.gz,解开文件包,会在“/tmp”目录下生成“vmware-linux-tools”目录,进入该目录执行“./install.pl”安装vmware-linux-tools ,安装完后,退出Xwindows,然后重启,再次以root 用户进入执行startx 你会看到一个漂亮的Xwindows 界面!

(2) 安装文件的处理

把从oracle 网站下好的oracle817 which ops 文件包linux81701.tar FTP 到节点dbs1 的“/oracle”目录下,FTP 命令可以用win2000 自己的,如图:登录时用oracle 用户,传输方式选bin 方式,并切换本地目录到你放“linux81701.tar”的目录,用“mput .gz”把文件传入dbs1 的/oracle 目录下!

传完后,在“/oracle ”目录下执行# tar xvf linux*.tar –C /home/oracle/ora (这样做是因为磁盘空间不是很充足才这样做的,麻烦一点)解完后,如用root 用户执行请注意“/home/oracle/ora”目录下“Disk1”的属主一定要是:oracle:dba,如不是,请改成oracle:dba,最后请删除linux81701.tar文件好给“/oracle”目录腾出空间放oracle 文件!

(3) 安装

我们从每个节点以oracle 用户进入,到“/oracle”目录,建product 目录,再在这个
目录下建8.1.7 目录

$mkdir –p product
$cd product
$mkdir –p 8.1.7

这些完成后,从节点dbs1 以oracle 用户执行startx 进入X windows 界面,在界面
里打开一个终端窗口,进入“ /home/oracle/ora/Disk1”目录,执行“./runInstaller”就开始了oracle 的安装!(对终端窗口出现的map failed,请不用管它,这不会影响安装的)

点“Next”出现安装文件信息,指出源文件和目标文件,如正确请点“Next”

接着要你输安装ORACLE 的UNIX 组,请输“oinstall”

然后弹出窗口要你用root 用户执行“orainstRoot.sh”这个脚本文件,你可以再开一个终端窗口,执行$su – root 变成root 用户,到“/oracle/product/8.1.7”目录下执行“./orainstRoot.sh”执行完后,点“Retry”既可进行下一步

接下来要你选安装文档,请选第1 个“Oracle8i Enterprise Edition 8.1.7.0.1”

接着的安装类型选“Custom”

接下的安装文件选择上请一定要选上“Oracle Parallel Servier 8.1.7.0.1”这就是我们说的ops,也就是oracle 并行服务,然后请去掉“Oracle HTTP Server 1.3.12.0.1a”这个用处不大, “Product Languages”请选上“Simplified Chinese” 其它的选默认既!

接下来的Java 环境选默认就行了

接下来的“OSDBA,OSOPER”在UNIX 属组是dba 组

点“Next”出现“Cluster Node Selection”因为是双机2 节点,所以只添另一个节点的名字ins1(也就是另一个节点的hostname )

点“Next”在安全认证里不选,直接点“Next”

然后点“Install”开始安装!

安装和Link 会很顺利,Link 到62%时会很慢,请耐心等一会。

安装和Link 成功后,会等很长一段时间,安装程序开始拷贝安装文件到另一个节点ins1。
经过慢长的等待,你的有很大耐心!另一个节点安装完后会弹出一个窗口,要你用root 用户执行“/oracle/product/8.1.7”目录下的root.sh 文件,请用刚才执行“orainstRoot.sh”的终端窗口,在执行root.sh 文件前请先修改每个节点的root.sh 里的2 处错误,一处是:请在102 行把

RMF=/bin/rm –f 改为RMF=”/bin/rm –f”另一处是把156 行RUID=`/usr/bin/id|$AWK -F\( '{print }'|$AWK -F\) '{print }`改为RUID=`/usr/bin/id|$AWK -F\( '{print }'|$AWK -F\) '{print }'`看见没是在最后多家一个` 符号。这些改完后在rcp 节点dbs1 的“/oracle/product/8.1.7/lib”目下的全部文件到节点ins1 的相同目录下

$rcp /oracle/product/8.1.7/lib/* ins1:/oracle/product/8.1.7/lib

完成后在2 个节点都执行root.sh 文件了。执行完回安装画面点“ok”
这样安装就进行完了,我们退出安装!

(4) oracle cluster manager 即oracm 的一些设置

oracle 安装完后,我们可以在每个节点看见在“/oracle/product/8.1.7”有个“oracm”
目录,这就是oracle 自己的cluster 软件目录,我们以oracle 用户进入,在该目录下的“admin”目录下新建一个文件名为nmcfg.ora。如下:

$vi nmcfg.ora

其内容如下:

DefinedNodes=dbs1 ins1
CmHostName=dbs1 (注:节点ins1 上为ins1 )
CmDiskFile=/dev/raw/raw1

在2 个节点编辑完后,保存退出。然后我们进入每个节点的“/oracle/product/8.1.7/orac

m/bin”目录vi 建立一个文件名为test.conf,其内容都为:
dbs1:/dev/raw/raw1
ins1:/dev/raw/raw1

保存!为了oracm 能顺利的运行,我们还的编辑每个节点的“/etc/rc.d/rc.local”文件,添上:
insmod softdog soft_margin=60

然后在“/etc/profile”文件最后加上:
export ORACLE_HOME=/oracle/product/8.1.7
export PATH=$PATH:$ORACLE_HOME/oracm/bin

这些都做完后,请重启!然后在每个节点的“/oracle/product/8.1.7/oracm/bin”目录下执行wdttest1 命令(用root 用户执行),如果过60 秒,每个节点都重新启动的话,说明在“/etc/rc.d/rc.local”添加的“insmod softdog soft_margin=60”起做用了,并可证明watchdog 设备可正常工作!接着我们在每个节点的同样目录执行rdevtest test.conf如返回“ok”说明nmcfg.ora 配置正确,并且oracm 管理分区正常工作!如图:这里是1.conf

这些都通过的话,我们就可以2 个节点的相同目录(/oracle/product/8.1.7/oracm/bin)下执行“ocmstart.sh”运行oracle cluster manager 软件!

(5)双机oracle ops Net8 和初始化数局库

当2 个节点的oracm 运行起来后,我们在节点dbs1 上以oracle 用户登录并打开X windows,然后我们在终端窗口里,在“/oracle/product/8.1.7/bin”目录下执行“./netca”开始双机cluster 下的Net8 的配置

选“Cluster configuration”点“Next”把2 个节点都选上!

接着点“Next”选“Listener configuration” 开始配置listener

接着点“Next”选“Add”

接着的画面里选默认的listener 名“LISTENER”

通信协议选“TCP”

默认端口号为“1521 ”

是否配置另一个LISTENER 选“No”

这样的话LISTENER 就配置完了

其它的选项可以不用去配置,如果想的话,请您自己去配,都很简单,这里我就不多说了。接下来我们开始建库,其实oracle ops 就是一个服务(server)跑2 个实类(instance)。

同样在dbs1 的同上目录执行“./dbassist”开始建库

选数据库类型时选“Oracle Parallel Servier configuration”

接着选“Create a database”然后点“Next”在接着的节点选择上把2 个节点都选上创建数据库类型选“Custom”

数据库应用类型选“Multipurpose”

最大连接数据库用户数,就选默认吧,当然你也可以选大点的1000 等。

数据库服务模式选“Dedicated Server Mode”

数据库安装选项,请都不要选,否则你会在极其变态安装过程中疯掉,我试了下全选,安装了28 个小时多!!!!除非你喜欢自虐!!!

接下来的“Global Database Name ”请添“ops”下面的“SID Prefix”也为“ops”当
然你也可以添任意你喜唤的名字,这样将会产生2 个实类(instance )名ops1,ops2。“Change Character Set”选“ZHS16CGB231280”

点“Next”,“Control File 1:,Control File 2:”填上我们在前面创建的raw 文件“/dev/raw/ctl1,/dev/raw/ctl2”

接下来的系统表空间(System),工具表空间(Tolols),用户表空间(User),回滚表空间(Rollback),索引表空间(Indx),临时表空间(Temporary)都填上我们前面创建的raw 文件:“/dev/raw/sys01,/dev/raw/tools01,/dev/raw/user01,/dev/raw/rbs01,/dev/raw/indx01,/dev/raw/temp01”

填完后我们点“Next”在“Redo log File ”分别在2 个节点dbs1,ins1 填上我们前面建好的raw 文件“/dev/raw/log1_1,/dev/raw/log1_2,/dev/raw/log2_1, /dev/raw/log
2_2”

接下来都选默认的选项,不选开“Enable Archive Log”

接下来的SGA 参数选默认的!

接下来的也选默认的

选完后点“Next”出现创建数据库界面,选“Create database now”点“Finish”开始创
建数据库。

在到95%时会弹出窗口说无法修改“/etc/oratab”文件,不用管它,点“ok”继续!终于完成并弹出窗口,告诉你数据库创建完,全局名是:ops, SID 是:ops1,(另一个节点ins1是ops2),SYS 密码是:change_on_install,SYSTEM密码是:manager。点“ok”完成
安装!

然后我们在2 个节点上启动listener,这时2 个节点的oracle 都已启动!

为了验证ops 是否跑起来,请在执行sql 命令:
sql>connect / as sysdba
sql>select * from v$active_instances;
我们会看到:
INST_NUMBER
------------------
INST_NAME
-----------------------------------------------------
1
dbs1:ops1
2
ins1:ops2

这就证明我们的ops 安装完全成功!


注:
Vmware,GSX Server 是VMware 公司的商标。
ORACLE,oracle 8i ops 是ORACLE 公司的商标。
RedHat Linux 6.2 ,及以后各版本是RedHat 公司的商标。
Windows 2000 是Microsoft 公司的商标。
本文用到的其它软件都是其公司的产品和商标!

原文转自:http://www.ltesting.net