Oracle Rac 常用概念解析

数据库RAC双机和HA双机工作方式,两者有什么区别?
RAC是两台服务器一起跑一个数据库,可实现负载均衡和相互热备;
HA双机是主备模式,一个在跑数据库,一个在监听主机状态,如果主机挂掉,备机就上。

Oracle RAC环境下vip、public/private IP的区别:
在Oracle RAC环境下.每个节点都会有多个IP地址,分别是Public/Private/Vip。

1.Private ip address is used only for internal clustering processing (Cache Fusion)
私有IP用于心跳同步,这个对于用户层面,可以直接忽略,简单理解,这个ip用来保证两台服务器同步数据用的私网ip。

2.VIP is used by database applications to enable fail over when one cluster node fail
虚拟IP用于客户端应用,以支持失效转移,通俗说就是一台挂掉,另一台自动接管,客户端没有任何感觉。这也是为什么要使用RAC的原因之一,另一个原因我认为是负载均衡。

3.Public ip address isthe normal IP address typically used by DBA and SA to manage storage,system and database。
公有IP一般用于管理员,用来确保可以操作到正确的机器,我们更愿意叫他真实IP。
通过上述解释,不难理解作为一个DBA,在配置tnsname.ora时,有些场合是要使用的vip,而有些场合又必须使用public IP。例如,当你在定位一个数据库的死锁时,使用public ip,
可以确保连到你想要处理的机器,相反此时使用的如果是虚拟Ip时,就会出现不确定性,因为服务器默认是开启负载均衡的,也就是说有可能你想连A机,系统却给你分配了B机。
在oracle 11gR2之前,如果数据库采用了RAC架构,在客户端的tnsname中,需要配置多个节点的连接信息,从而实现诸如负载均衡,failover等RAC的特性。因此,
当数据库RAC集群需要添加或者删除节点时,需要及时对客户端机器的tns进行更新,以免出现安全隐患。
在oracle 11gR2中 ,为了简化该项配置工作,引入了SCAN(Single Client Access Name)的特性,该特性的好处在于,在数据库与客户端之间,添加了一层虚拟的服务层,
就是所谓的scan ip及scan ip listener,在客户端仅需要配置scan ip的tns信息,通过scan ip listener
连接后台集群数据库。这样不论集群数据库是否有添加或者删除节点的操作,均不会这client产生影响。

关于SCAN的架构及配置
首先,简要的看下在11gR2中,安装RAC发生的巨大变化,在10g以及11gR1的时代,安装RAC的步骤是先安装CRS,在安装DB,而到了11gR2的时代,CRS与ASM被集成在一起,
合称为GRID,必须先安装GRID,才能继续安装DB,否则,你就跟11gR2的RAC无缘咯。
而被11gR2引入的SCAN,就是包含在安装grid的过程中。SCAN的定义,有两种途径:
1.在DNS中定义域名
2.在oracle提供的Grid Naming Server(GNS)实现DHCP自定义。
如果通过DNS来定义,则需要在网络中定义三个SCAN IP地址,指向同一域名,这三个ip地址必须处于同一子网内,同时域名不能太长,不然打字也麻烦。另外,SCAN IP是由oracle clusterware管理的,
因此在主机的集群软件(如IBM HACMP,HP SERVICE GUARD)中不能将此ip配置进去,类似于10g中的vip,在grid安装前,此ip是无法ping通的。
如果使用GNS的方式,则必须有DHCP服务,在cluster的配置过程中,将会自动向DHCP服务器申请三个ip地址作为SCAN IP 使用。除了SCAN IP,在cluster的配置过程中,SCAN IP LISTENER服务也会被建立,
每个SCAN IP对应一个SCAN IP LISTENER, 并且,为了提高可用性,三个SCAN IP以及其对应的SCAN IP LISTENER将会被独立的分配到各个节点上。如果cluster中其中的某个运行scan ip的节点出现异常,
则其余两个正常的scan ip节点将自动接管。注意,此处有个注意点,如果客户端是11gR2的版本,则客户端只需要在tns中配置域名解析,即可实现failover,如果客户端版本低于11gR2,
则无法通过域名解析出三个SCAN IP 地址,因此如果要实现failover,必须在客户端的tns中配置三个SCAN IP的地址进行解析,这也是为何oracle强烈建议在使用11gR2数据库时,客户端也最好使用11gR2的原因。

Oracle实例名/服务名(SID/Service_Name)的区别:
可以这样简单理解:一个公司比喻成一台服务器,数据库是这个公司中的一个部门。
1.SID:一个数据库可以有多个实例(如RAC),SID是用来标识这个数据内部每个实例的名字,就好像部门里,每个人都有一个自己的名字。
2.Service_Name:是这个数据库对外宣称的名字,外面的人想要连接我这个数据库,你就在客户端的连接串里写上Service_Name。它就像一个部门的名字,这个部门的名称在看门大爷(listener)那里有登记,
看门大爷一看你是要找Service_Name这个部门,就会告诉你,连接就建立了。
一句话来说:SID是对内的,是实例级别的一个名字,用来内部之间称呼用。Service_Name是对外的,是数据库级别的一个名字,用来告诉外面的人,我的数据库叫“Service_Name”。
数据库里,还有ORACLE_SID,是告诉OS操作系统,我这个实例叫什么,他们不是指数据库,就是指实例。

superblock inode block的概念

superblock:记录此filesystem的整体信息,包括inode/block的总量,使用量,剩余量,以及文件系统的格式与相关的信息等。

inode:记录档案的属性,一个档案占用一个inode,同时记录此档案的block号码。inode 记录档案的属性/权限等数据,其他重要项目为: 每个 inode 大小均固定为 128 bytes;
每个档案都仅会占用一个 inode 而已; 因此文件系统能够建立的档案数量跟 inode 的数量有关;

block:实际记录档案的内容,若档案太大时,会占用多个block。

磁盘的使用必需要经过:分割、格式化(指代的是分区的格式,例如fat16/fat32等)与挂载,分别惯用的指令为:fdisk, mkfs, mount三个指令; 开机自动挂载可参考/etc/fstab的设定,
设定完毕务必使用 mount -a 测试语法正确否

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值