高手教你用Symantec VCS配置Oracle双机

  作者:huihuidog
2007/6/8 0:00:00
本文关键字: 存储 方案 案例

    前期我们通过一系列文章为大家介绍了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可以理解为以用户为基础的数据库,不同的用户访问不同的实例,不同的实例其实就是不同的数据库。

配置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的安装就完成了。

测试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的双机配置就完成了。

责编:
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
最新专题
流动存储 为大数据而生

伴随信息技术的突飞猛进,更大量级的非结构化数据与结构化数据构成的大数据成为企业级存储所面临的最大挑战:一方..

磁盘阵列及虚拟化存储

利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。虚拟化存储,对存储硬件资源进行抽象化表现。

    畅享
    首页
    返回
    顶部
    ×
      信息化规划
      IT总包
      供应商选型
      IT监理
      开发维护外包
      评估维权
    客服电话
    400-698-9918