扫一扫
关注微信公众号

高手教你用Symantec VCS配置Oracle双机
2007-11-05   IT168

前期我们通过一系列文章为大家介绍了Symantec的Veritas Storage Foundation存储管理软件,并向大家介绍了Symantec公司专业的集群管理软件Veritas Cluster Server(VCS)。参考链接:

高手教你用Symantec VCS配置DB2双机-入门
高手教你用Symantec VCS配置DB2双机-高级

将Oracle的双机放在DB2双机后面讲有两个原因:一是DB2的配置相对于oracle的配置来说比较简单,数据库的模式也比较容易理解,而其中相似的地方可以参照DB2的配置;二是DB2双机的配置,也只能说是oracle双机配置的子集,在了解DB2的双机配置之后,oracle双机配置的很多相似的地方简单说明一下即可。此外,读者可以比较一下这两种模式的异同,有利于读者选择更合适自己的双机配置模式。

我们随后还将介绍Sybase双机的配置,将Sybase放在最后并不是因为它更复杂,而是因为在这三种数据库之中,Sybase的用户群相对比较少,需要的人不多。

比较DB2与Oracle数据库
DB2和Oracle有很多的不同,要想了解清楚,那个不是一朝一夕的功夫了。幸运的是,因为我们现在只是需要做双机配置,所以我们只是在可能会影响配置的概念上,做一个简单的比较。

1. 配置结构的不同:
DB2数据库的双机热备只支持一种模式,就是DB2的程序在两台机器上各有一份,只有数据文件存放在共享存储中,如下图所示:

""

图1,DB2双机配置结构图

这种配置模式的优点是有利于数据库的升级,当其中systemA需要升级的时候,就把服务切换到systemB上运行,升级A的DB2程序,之后还可以把服务切换回到A来,然后升级B的DB2程序。这个升级过程不会影响用户的DB2使用,因为总有一台机器可以使用DB2程序来响应用户的服务请求。

对于oracle来说不但可以支持这种程序存放在不同机器上的做法,而且支持把oracle的程序文件也同时放在共享盘上,其结构图如下所示:

""

图2,oracle双机结构图-程序在各个服务器上

""

图3,oracle双机结构图-程序和数据都在共享盘上

将数据与程序同时放在共享盘上的优点有两个:一是节省磁盘空间,用户只需要保留一份数据库备份;二是有利于程序的一致性,不会因为数据库版本的不同,产生差异,可以避免产生一些莫名的问题。

2. 数据库的工作模式不同
DB2数据库是以实例为基础的:多个硬盘或者服务器组成一个实例,一个实例下面可以划分多个数据库,一个数据库只能属于一个实例。Oracle可以理解为以用户为基础的数据库,不同的用户访问不同的实例,不同的实例其实就是不同的数据库。

1

配置Oracle双机系统

闲话少说,现在开始介绍一下利用VCS来配置oracle双机的过程:

a) 创建数据文件使用的共享存储(在system1上面执行下列5个命令):
i. # vxdg init oracleDG c0t0d0; 创建磁盘组oracleDG,使用c0t0d0这个硬盘;
ii. # vxassist -g oracleDG make oracleVol 5g; 在磁盘组上创建5G大小的卷oracleVol;
iii. # mkfs -F vxfs -o largefiles /dev/vx/rdsk/oracleDG/oracleVol; 创建文件系统;
iv. # mkdir /oracle ; 创建mount点,共享磁盘将mount到这里;
v. # mount -F vxfs /dev/vx/dsk/oracleDG/oracleVol /oracle; 将共享盘mount到本机;

b) 在两台机器上面分别执行下列命令,创建相同的用户组和用户:
vi. # groupadd -g 500 dba; 创建oracle管理组;
vii. # useradd -g dba -u 500 -d /home/oracle -m oracle; 创建oracle管理用户;
注意:组ID或者用户ID可以是任意尚未被使用的数值,但是一定要保证多台机器必须一致。

c) 安装oracle程序
到oracle安装文件的目录下,运行下列命令安装oracle程序
#. /runInstaller
在安装过程中,指定oracle用户为“oracle”。
注意:如果需要在多台机器安装oracle,则需要在多台机器运行该程序;如果仅仅想把程序安装在共享盘上面,则仅仅需要在一台机器安装。
注意:安装过程中有一步会问用户是否需要配置数据库,我们选择“仅仅安装软件”,我们会在稍后配置数据库文件到共享磁盘。

d) 配置数据库:
oracle程序安装完毕后,我们需要配置数据库到共享磁盘上,这样多台机器才能够共享其数据资源;
# dbca
运行数据库配置助手来帮助用户安装数据库,注意需要将路径指明到共享磁盘中。

e) 设置环境变量
在各个机器的/home/oracle/.profile文件中,设置两个全局变量:
$ORACLE_HOME=/oracle 该变量指明数据库的安装位置;
$ORACLE_SID=oracle 该变量指明访问哪个数据库实例;

f) 安装VCS的oracle代理软件:(以redhat为例)
# rpm -ivh VRTSvcsor
# rpm -ivh VRTScsocw

这样,oracle的安装就完成了。

1

测试Oracle双机配置

在安装结束之后,我们需要测试一下oracle能否在多台机器上正常工作。

a) 将共享盘mount到第一台机器(步骤可以参考DB2双机配置)

b) 从这台机器登陆数据库并创建一个表
i. su – oracle 将系统用户切换到oracle用户;
ii. export $ORACLE_HOME=/oracle; 导出全局变量;
export $ORACLE_SID=oracle;
iii. $ORACLE_HOME/bin/sqlplus /nolog 进入数据库模式;
iv. connect / as sysdba 以系统管理员身份登陆数据库;
v. create user tester identified by '123456' default tablespace USERS temporary tablespace TEMP quota 100K on UERS; 创建一个新用户tester;
vi. grant create session to tester; 赋予新用户tester创建表的权限;
vii. create table tester.mytime ( tstamp date ); 在tester用户空间下创建一个新表;
viii. insert into tester.mytime (tstamp) values (SYSDATE); 在新表中插入数据;
ix. disconnect; 断开连接;

c) 测试其他集群节点可以工作:
i. connect tester/123456 以新用户身份登陆数据库;
ii. update tester.mytime set ( tstamp ) = SYSDATE; 更新表的内容;
iii. select TO_CHAR(tstamp, ’MON DD, YYYY HH:MI:SS AM’) from tester.mytime; 确认表的内容已经被更新;
iv. exit 推出。

在经过这个检查之后,就说明数据库已经正确安装并可以被每个节点正常的访问,测试成功。

配置VCS的oracle代理

这个过程与DB2的非常相似,唯一的不同在于DB2只有一个主进程工作,监控DB2是否正常工作只需监控这个进程即可。在oracle中有两个进程,一个是数据库运行的主进程,另一个是监控用户请求的进程,两个进程同时工作才能确保oracle的正常运行。所以在oracle代理的配置过程中,需要多添加一个lsnr的资源,用来保证oracle监控进程的正常工作。

配置好的oracle代理结构如图所示:

""

图4,oracle代理的配置结构

按照该图所示,配置oracle代理需要下列资源:
NIC:提供oracle相应的网卡;
IP:提供oracle服务的IP地址;
DiskGroup:共享磁盘组;
Volume_data:存放oracle共享数据的卷;
Volume_binary:存放oracle程序的卷(如果程序不是放在共享磁盘,该资源可以忽略);
Mount_data:数据库共享数据的访问路径;
Mount_binary:数据库程序的访问路径(如果程序不是放在共享磁盘,该资源可以忽略);
Oracle:监控oracle进程是否正常工作;
Netlnsr:监控oracle监听进程是否工作。

在这些资源都配置好之后,打开VCS的图形界面,可以让该服务组执行上线、下线或者切换,这样,VCS就会自动监控oracle的工作情况,并在某台机器发生故障的时候,自动切换到其他节点继续提供服务。这样,oracle的双机配置就完成了。

1

热词搜索:

上一篇:HDS首席技术官:以服务型存储迎接Web 2.0
下一篇:征文:运营支撑数据存储系统的整合分析

分享到: 收藏