您的位置:首页 > 数据库 > Oracle

oracle RAC 环境下ArcSDE安装的相关问题解析

2012-11-08 03:40 281 查看
在实际工作当中,鉴于对高性能、高并发性、高I/O、高数据量的要求,往往有用户使用Oracle的RAC,这种方式在实际当中确实也解决了很多用户的需求,那么比较RAC离普通的用户还比较远,特别是ArcSDE软件在RAC的安装方面就感到头大,一头雾水,那么今天就简单的介绍一下RAC,我就以以下的的几个问题为切入点。其实对我来说对RAC的理解也仅仅是书本层面的或者是自己也是掌握RAC环境下的ArcSDE安装问题,针对RAC深层次的讨论
不在这篇文章的范围之内,而且如果在举例或者理解方面有出入的欢迎指正。



问题1:怎么理解RAC?
RAC也就是我们所说的集群环境。简单的理解就是有最多达64台机器组成的集群,用户在发起请求时,系统会自动的对这些集群机器进行检测,会将这个请求发给当前负载压力最小的机器进行处理,而且不管是那台机器进行处理,他们最终的数据源只有一个,也就是在共享磁盘上存储。在我们实际工作当中一般都是两台机器的RAC环境比较多,而且这些节点可以任意的添加或者移出。

还有一个表现形式就是每一个机器都有自己的一个物理IP,以图为例,机器1和机器2都有自己的IP,但是这个IP对一般用户来说是不可见的,因为暴露给用户的是一个虚拟IP,用户连接着虚拟IP,他并不知道这个IP最终会连接那台机器来处理,比如该用户连接111,加入系统连接到实际的机器1了,但是通过集群软件发现机器1的负载压力很大,那么通过Failover连接到机器2,那么用户的这次请求由机器2处理,在Failover直接的IP联系就是实际的物理IP也叫私有IP。

RAC不仅仅在IP表现,在实例方面也有一个表现就是,假设用户给你说我的RAC环境的实例名为orcl,那么默认情况下,机器1的实例名为orcl1,机器2的实例名为orcl2。

不知道经过以上的介绍,大家有没有对RAC有一个比较简单的了解,其实如果对以上了解了,那么基本上就可以在RAC安装ArcSDE的基础知识掌握了。但是还有一种环境叫双机热备,也叫主机HA(高可用性),其实这种情形基本上使用的不多了,双机热备也就是说一台机器一直工作,另一台机器不工作,但是如果工作的机器出现宕机情况,待命的机器就接着工作,系统会有相关的软件进行自动切换,但是这种情形下造成了资源的浪费,有一台机器就一直不工作,所以现在基本上双机热备的情况少了,两台机器基本上都是RAC。

问题2:RAC环境下安装ArcSDE应该注意什么?
其实在RAC环境下安装ArcSDE没有用户想想的那么复杂。一般RAC环境我们都已Linux操作系统和AIX操作系统为例。安装前提就是用户必须至少在Linux操作系统上安装过ArcSDE,而且在这个环境下安装比较熟悉,相关参考:

Linux环境下安装ArcSDE:

http://wenku.baidu.com/view/9a7c447da26925c52cc5bfc1.html

LInux环境安装ArcSDE的知识必备

http://wenku.baidu.com/view/1c61c34f852458fb770b56b3.html?st=1

安装之前首先还是要保证或者说用户弄清楚机器1的物理IP、实例名等,然后保证sqlplus能够连通。特别注意的就是其实也就是Linux环境与RAC Linux环境的区别就是这个共享磁盘,由上图我们也可以看到不管几台机器工作,最终的数据源就是共享磁盘,所以我们来创建ArcSDE的表空间会有一个路径的输入,那么这个路径就必须写成共享磁盘的路径就可以了。

view plaincopy
to clipboardprint?

<span style="font-family:'Microsoft YaHei';"></span><pre name="code" class="html">create tablespace sde
datafile '+ASM_DATA1/zbgadb1/datafile/sde.dbf' size 400M
extent management local uniform size 512K;

<span style="font-family:'Microsoft YaHei';"></span><pre name="code" class="html">create tablespace sdedatafile '+ASM_DATA1/zbgadb1/datafile/sde.dbf' size 400Mextent management local uniform size 512K;

那么问题出来了,我怎么才知道这个共享磁盘的路径呢?很简单,可以问相关的DBA,但是我们也可以自己来查询select
* from v$datafiles可以查询出已经安装的Oracle的比如相关的系统表空间、临时表空间的位置,那么我们记录这个位置将SDE的表空间路径表明即可。如:“+ASM_DATA1/zbgadb1/datafile/sde.dbf”


另一个问题出来了,怎么检验我们的ArcSDE是否安装成功。

首先确保两台机器的ArcSDE服务都启动(如果你需要服务连接),你可以连接机器1的实际物理IP,创建一个要素类,
那么你连接机器2的物理IP或者连接虚拟IP都应该可以看到这个创建的要素类,这是一个简单的检测方式。

问题3:ArcSDE是否支持RAC?
直接回答是肯定的。首先我们可以说一个服务连接和直连的问题。如果不安装ArcSDE,RAC环境下的工作大家默认都没有问题,但是一安装了ArcSDE大家就有疑问,是否支持RAC,是否能达到负载均衡。先说一个好理解的,假如说用户分布式安装ArcSDE,机器A客户端,连接机器B机器的ArcSDE,数据源为机器C,那么直接情况我们可以直接从机器A直连机器C,而不用机器B,因为直连驱动已经在机器A了,我们不需要借助于机器B的ArcSDE组件来完成,也就是说对直连来说我们可以将安装的ArcSDE软件部分给卸载掉。那么在RAC环境下也是一样,我们同样也可以将软件卸载掉,但是只保留ArcSDE的相关的Schema,那么这时候你们再问ArcSDE是否支持RAC显得就比较明白了。而且以后ArcSDE的连接方式直连是趋势,也是建议用户使用的。

那么可能用户说我就是想用服务连接,服务连接是否支持呢?答案也是肯定的,那么需要将每个机器上相关的SID修改为公共的SID就可以了。上面不是说我们机器1的SID为orcl1,机器2的SID为orcl2,那么我们可以将这两台机器的SDEHOME/etc/dbinit.sde里面的内容修改为set
ORACLE_SID=orcl或者set TWO_TASK=orcl即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: