对Oracle ASM详细解剖
创始人
2024-06-29 06:10:47
0次

ASM:Automatic Storage Management是Oracle 极力推荐的一种面向Oracle数据库的存储的实际解决方案, Oracle ASM 与RDBMS 是十分相似的,Oracle ASM 也是由文件与实例组成, 也可以通过sqlplus 工具来维护。

ASM 实例的创建和删除也可以用DBCA 这个命令来操作。在dbca 的***个界面选择配置自动存储管理就可以了。 ASM 实例需要CSS 进程, 如果是非RAC 环境, 在启动ASM 实例之前会提示用脚本

$ORACLE_HOME/bin/localconfig add 启动CSS。

1. Oracle ASM 实例由SGA 和后台进程组成。

1. SGA 组成:

ASM 实例的SGA包括Buffer Cache, Share Pool, Large Pool等。 需要注意的是Share Pool, 因为Extent Map 要放在这部分的内存中,需要更具数据量来估计Extent Map 的大小做相应的调整。

Extent Map 的大小可以根据所有文件大小的和来估算,使用下面的语句来计算所有文件和:

 

  1. Select sum(bytes)/(1024*1024*1024) from v$datafile;  
  2. Select sum(bytes)/(1024*1024*1024) from v$logfile a, v$log b where a.Group#=b.Group#;  
  3. Select sum(bytes)/(1024*1024*1024) from v$tempfile where status='online';  

 

这3个sum 的总和对应着数据库存放Oracle ASM中所有文件大小总和, 对于使用External Redundancy 的磁盘组, 每100G 需要1MB 的Extent Map, 根据这个比例计算Extent Map 所需要的空间,在加上额外的2MB就可以了。 在实际工作中一般不需要考虑ASM SGA的配置, 使用Oracle 提供的缺省值就可以了。

1.2 后台进程

ASM 实例比RDBMS 实例多2个进程: RBAL 和 ABRn。

RBAL: 这个进程也叫Rebalancer进程, 负责规划ASM 磁盘组的Reblance活动。

ABRn:是RBAL进程的子进程,这个进程在数量上可以有多个, n从1~9, 这组进程负责真正完成Reblance活动。

使用ASM 作为存储的RDBMS 实例也会多出2个进程: RBAL 和 ASMB

RBAL: 这个进程的主要功能是打开每个磁盘的所有磁盘和数据的Rebalance。

ASMB: 这个进程作为ASM 实例和数据库实例之间的信息通道。 这个进程负责与ASM 实例的通信, 它先利用Diskgroup Name 从CSS 获得管理该Diskgroup 的ASM 实例的连接串, 然后建立到ASM 的持久连接, 两个实例之间通过这条连接定期交换信息,同时也是一种心跳机制。

RDBMS 实例要想使用ASM 作为存储, RDBMS 实例必须在启动时从Oracle ASM 实例获得Extent Map, 以后发生磁盘组的维护操作, ASM 实例还要把Extent Map的更新信息通知给RDBMS 实例, 这2个实例间的信息交换就是他你哦刚过ASMB 进程完成的。 这也就为什么: ASM 实例必须要先于数据库实例启动,和数据库实例同步运行,迟于数据库实例关闭。

注意: ASM 实例和数据库实例的关系可以是1:1, 也可以是1:n。如果是1:n, ***为ASM 安装单独的ASM_HOME。

2. ASM 配置

ASM 可以使用裸设备 或者ASMLib 方式, 因为裸设别的维护比较复杂,在此只讲解ASMLib 方式。

对应不同的操作系统, 需要不同的包,下载的时候一定要和操作系统内核一致。 我的操作系统是 Red hat 4 update 7. 内核版本是2.6.9-78.ELSMP。

 

  1. oracleasmlib-2.0.4-1.el4.i386.rpm  
  2. oracleasm-support-2.1.3-1.el4.i386.rpm  
  3. oracleasm-2.6.9-78.EL-2.0.5-1.el4.i686.rpm  
  4. linux/asmlib/index.html"  


该页面有下载地址,注意选择CPU 类型。 Oracle asmlib 和 support,在同一个页面下载。

安装包:

 

  1. #rpm -ivh *.rpm 

安装完之后进行配置:

 

  1. #/etc/init.d/oracleasm configure 

会有相应的提示, 回答 oracle , dba, y, y 就可以了

分别对应默认用户, 默认组,随系统自启动, 启动时设置权限。

 

  1. /etc/init.d/oracleasm createdisk VOL1 /dev/sdc1  
  2. /etc/init.d/oracleasm scandisks  
  3. /etc/init.d/oracleasm listdisks  

 

关于oracleasm 的更多用法参考help:

 

  1. [root@node1 ~]# /etc/init.d/oracleasm --help  
  2. Usage: /etc/init.d/oracleasm {start|stop|restart|enable|disable|configure  
  3. |createdisk|deletedisk|querydisk|listdisks|scandisks|status}   

 

上述的相关内容就是对Oracle ASM详解,希望会给你带来一些帮助在此方面。

【编辑推荐】

  1. Oracle数据库的类型LONG功能的介绍
  2. Oracle查询优化4大方面的主要途径
  3. Oracle存取LONG类型字段的方案描述
  4. Oracle并发连接数的设置方案
  5. OracleSQL调优的作用是什么?

 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...