当前位置导航:炫浪网>>网络学院>>编程开发>>Oracle教程

如何用vmware搭建cluster环境,linux下的9i

主要讲最重要的步骤,对于如何用vmware搭建cluster环境,oralce的基本安装具体细节请参考我以前我的cluster环境搭建的文章,oracle可参照oralce安装文档:

 

一:环境准备:

 

a.准备一台ia服务器1Gmem,scsi硬盘,piii1GX2(也可以用pc,时间可能花很长)

 

b.redhat 2.1 server

 

c.oralce 9i for linux

 

e.vmware gx 2.1 for linux

 

二.vmware cluster环境(我习惯用vmware for linux,感觉linux 下的io要比win强)

 

a.服务器上安装好redhat 2.1 linux

 

b.装vmware gx 2.1 for linux,配置好和控制机的网络

 

c.在vmware 下虚拟出3个nodes的linux系统。

 

d.安装node 1的linux操作系统

 

e.将安装好的node1的操作系统的vmware文件拷贝到node2.,node3的对应目录下,启动node2,node3,配置系统(注意修改系统的主要参数如hosts文件),启动3 nodes检查系统运行正常否。

 

f:启动node1,在系统中建两个共享盘,共享盘a:5G,共享盘2G,同时修改3 nodes的vmware的配置文件,启动3 nodes,检查每个node保证检测到共享盘 /dev/sdb /dev/sdc.

 

g:在3个nodes中配上两个网卡,分别做好内网和外网的网络地址

 

保证网络的通畅。

 

三.oralce RAC的系统环境准备

 

a.添加oralce用户并修改用户的env,如下例:

 

PATH=$PATH:$HOME/bin

export PATH

unset USERNAME

export ORACLE_BASE=/oracle

export ORACLE_HOME=$ORACLE_BASE/92

export ORACLE_TERM=xterm

export TNS_ADMIN=$ORACLE_HOME/network/admin

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

export PATH=$PATH:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME/

 

oracm/lib

export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/

 

rdbms/jlib:$ORACLE_HOME/network/jlib

export THREADS_FLAG=native

export ORACLE_SID=DB1

 

在不同的node下修改各自的ORALCE_SID和node对应

 

b.修改系统kernel的参数

 

c.分别修改每个nodes的hosts,加如所有node的name和ip

 

例:

192.168.3.1 node1

192.168.1.191 node1-pub

192.168.3.2 node2

192.168.1.192 node2-pub

192.168.3.3 node3

192.168.1.193  node3-pub

 

d.建立各个node的信任机制

 

在每个node中编辑host.equiv文件

 

node1 oracle

node2 oracle

node3 oracle

 

e:确保rsh,rlogin服务启动,默认不启动。

 

f:心跳检测,新的9.2.4支持 hangcheck-timer.o模块,在redhat 2.1中默认不支持的,需要升级内核,所以我采用的是watchdog,编辑/etc/rc.local每次启动时启动watchdog

insmod softdog soft_margin=60

 

g:  共享磁盘库的分区准备 在oralce 9i,中支持ocfs和raw文件系统,在本安装还是采用沿用的raw设备文件,raw设备对同一个lun中的分区有限制所以分区在两个磁盘中:,关闭node2,node3,在node1中分区

 

分别执行fdisk /dev/sdb  fdisk /dev/sdc,分好后编辑各个node中的/etc/sysconfig/rawdevices的raw映射条目,并启动raw加载服务

service rawdevices start

 

下面可供参考的分区方法:

/dev/raw/raw1 /dev/sdb1      ;120M

/dev/raw/raw2 /dev/sdb2      ;120M

/dev/raw/raw3 /dev/sdb5      ;8M

/dev/raw/raw4 /dev/sdb6      ;1000M

/dev/raw/raw5 /dev/sdb7      ;120M

/dev/raw/raw6 /dev/sdb8      ;120M

/dev/raw/raw7 /dev/sdb9      ;200M

/dev/raw/raw8 /dev/sdb10     ;120M

/dev/raw/raw9 /dev/sdb11     ;120M

/dev/raw/raw10 /dev/sdc5     ;200M

/dev/raw/raw11 /dev/sdc6     ;120M

/dev/raw/raw12 /dev/sdc7     ;120M

/dev/raw/raw13 /dev/sdc8     ;120M

/dev/raw/raw14 /dev/sdc9     ;120M

/dev/raw/raw15 /dev/sdc10    ;120M

/dev/raw/raw16 /dev/sdc11    ;120M

/dev/raw/raw17 /dev/sdc12    ;300M

/dev/raw/raw18 /dev/sdc13    ;300M

/dev/raw/raw19 /dev/sdc14    ;300M

 

spfile1=/dev/raw/raw3

system1=/dev/raw/raw4

users1=/dev/raw/raw5

tools1=/dev/raw/raw6

temp1=/dev/raw/raw7

control1=/dev/raw/raw8

control2=/dev/raw/raw9

indx1=/dev/raw/raw10

redo1_1=/dev/raw/raw11

redo1_2=/dev/raw/raw12

redo2_1=/dev/raw/raw13

redo2_2=/dev/raw/raw14

redo3_1=/dev/raw/raw15

redo3_2=/dev/raw/raw16

undotbs1=/dev/raw/raw17

undotbs2=/dev/raw/raw18

undotbs3=/dev/raw/raw19

 

四: oracle的RAC的安装

 

1.Oracle9i Cluster Manager 的安装

 

a.放入oralce9i的光盘,挂上光区运行./runInstaller启动安装,和默认oracle安装,

 

b.在Available Products中选择:"Oracle Cluster Manager 9.2.0.1.0"

 

c.  public的node信息输入

node1-pub

node2-pub

node3-pub

 

d. private的 node信息输入

node1

node2

node3

 

e.watchdog的参数默认

 

f.Quorum 磁盘输入: /dev/raw/raw1(不能直接输分区)

 

g:oralce 安装会自动安装3个nodes,确保各node安装正确

 

2. 启动 Oracle9i Cluster Manager

 

a.在每个node以root用户登陆

 

b.执行:

# export ORACLE_HOME=/oracle/92

# export PATH=$PATH:$ORACLE_HOME/oracm/bin

# $ORACLE_HOME/oracm/bin/ocmstart.sh

 

启动成功后用ps检查

# ps -ef |grep oracm

root     15249     1  0 Nov08 pts/2    00:00:00 oracm

root     15251 15249  0 Nov08 pts/2    00:00:00 oracm

root     15252 15251  0 Nov08 pts/2    00:00:00 oracm

root     15253 15251  0 Nov08 pts/2    00:00:00 oracm

root     15254 15251  0 Nov08 pts/2    00:00:04 oracm

root     15255 15251  0 Nov08 pts/2    00:00:00 oracm

root     15256 15251  0 Nov08 pts/2    00:00:00 oracm

root     15257 15251  0 Nov08 pts/2    00:00:00 oracm

root     15258 15251  0 Nov08 pts/2    00:00:00 oracm

root     15298 15251  0 Nov08 pts/2    00:00:00 oracm

root     15322 15251  0 Nov08 pts/2    00:00:00 oracm

root     15540 15251  0 Nov08 pts/2    00:00:00 oracm

 

c:检查每个node,如不成功检查log日志分析原因

 

3.oralce 数据库的安装

 

a:挂上光盘运行安装程序,按照自己需求定义自己的安装类型,确保去掉建库选项

 

b.注意是当选择

 

shared configuration file name 输入/dev/raw/raw2

 

c.这个过程根据机器性能要花一段时间,oracle会自动分发到没个节点(漫长):(

 

4. 数据库的创建

 

a.创建数据库前确保oracm和gsdctl正常启动

 

b.创建raw设备的连接,方便建库例:

ln -s /dev/raw/raw3  /oracle/oradata/DB/spfileDB.ora

ln -s /dev/raw/raw8  /oracle/oradata/DB/control01.ctl

ln -s /dev/raw/raw9  /oracle/oradata/DB/control02.ctl

ln -s /dev/raw/raw10  /oracle/oradata/DB/indx01.dbf

ln -s /dev/raw/raw4  /oracle/oradata/DB/system01.dbf

ln -s /dev/raw/raw7  /oracle/oradata/DB/temp01.dbf

ln -s /dev/raw/raw6  /oracle/oradata/DB/tools01.dbf

ln -s /dev/raw/raw17 /oracle/oradata/DB/undotbs01.dbf

ln -s /dev/raw/raw18 /oracle/oradata/DB/undotbs02.dbf

ln -s /dev/raw/raw19 /oracle/oradata/DB/undotbs03.dbf

ln -s /dev/raw/raw5 /oracle/oradata/DB/users01.dbf

ln -s /dev/raw/raw11 /oracle/oradata/DB/redo01.log

ln -s /dev/raw/raw12 /oracle/oradata/DB/redo02.log

ln -s /dev/raw/raw13 /oracle/oradata/DB/DB_redo2_2.log

ln -s /dev/raw/raw14 /oracle/oradata/DB/DB_redo3_1.log

ln -s /dev/raw/raw15 /oracle/oradata/DB/DB_redo2_1.log

ln -s /dev/raw/raw16 /oracle/oradata/DB/DB_redo3_2.log

 

c.在node1上启动dbca,建库采用标准的建库注意如下

Type of database: 选择:"Oracle Cluster Database"

node  全部复选:"node1,node2,node3"

 

d.建库前请确保连接和raw设备一一对应

 

e.建库完成确定。

 

五 检测RAC的状态

 

#$ srvctl status database -d DB

Instance DB1 is running on node node1

Instance DB2 is running on node node2

Instance DB3 is running on node node3

 

六 RAC的真正内涵

 

默认的RAC的监听器配置不支持负载均衡,自动切换的需修改客户端的tnsnames.ora,添加

 

LOAD_BALANCE = on和FAILOVER = on选项

 

我的示例:

        DB.COM =

   (DESCRIPTION =

     (ADDRESS_LIST =

       (ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521))

       (ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521))

       (ADDRESS = (PROTOCOL = TCP)(HOST = node3)(PORT = 1521))

       (LOAD_BALANCE = on)

       (FAILOVER = on)

     )

     (CONNECT_DATA =

       (SERVICE_NAME = DB.COM)

       (FAILOVER_MODE =

         (TYPE = session)

         (METHOD = basic)

       )

     )

   )

 

本文完,由于本人能力有限,错误难免,希望共同探讨。

相关内容
赞助商链接