Chinaunix首页 | 论坛 | 博客
  • 博客访问: 514329
  • 博文数量: 161
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1947
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-25 01:20
文章分类

全部博文(161)

文章存档

2011年(44)

2010年(47)

2009年(48)

2008年(22)

我的朋友

分类: Oracle

2010-11-29 10:26:54

ASM


介绍 ASM 实例由SGA 和后台进程组成。 

SGA 组成:

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

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

Select sum(bytes)/(1024*1024*1024) from v$datafile;

Select sum(bytes)/(1024*1024*1024) from v$logfile a, v$log b where a.Group#=b.Group#;

Select sum(bytes)/(1024*1024*1024) from v$tempfile where status='online'; 

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

 

后台进程

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

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

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

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

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

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

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

 

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

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

   $ORACLE_HOME/bin/localconfig add 启动CSS



1ASM实例

NOMOUNT:仅启动实例

MOUNTOPEN,启动实例,并加载磁盘(磁盘组,未提示警告,则提示警告信息)。OPEN选项对于ASM实例无意义,等同于MOUNT

FORCE:先执行shutdown abort,在startup

[]$export ORACLE_SID=+ASM

[]$startup nomount

SQL> select name,state from v$asm_diskgroup; 

SQL> select instance_name,status from v$instance; 

SQL> alter diskgroup all mount; 

10g版本中,asm启动前,确保css守护进程已经启动

[]$crsctl check cssd


2>关闭ASM


SQL>shutdown immediate

3>初始化参数

INSTANCE_TYPE=ASM

数据库实例为RDBM

ASM_POWER_LIMIT  

rebalance的程度 0-11,低到高

ASM_DISKSTRING 

设置ASM启动时检查的磁盘 

ASM_DISKGROUPS 

alter diskgroup all mount语句时要加载的磁盘组 


4>管理ASM磁盘

ASM相关的动态性能视图

SQL> select * from dict where table_name like 'V$ASM_%'; 

添加,删除磁盘

  ASM自动平衡。

磁盘组与failure磁盘组的概念

外部冗余

failure磁盘组无关

标准冗余

N磁盘个,至少有两个failure磁盘组,提高冗余

高度冗余 

N磁盘个,至少有三个failure磁盘组,提高冗余

当设置标准冗余,高度冗余时,每个磁盘只能属于一个failure磁盘组

磁盘发生损坏。损坏的磁盘默认自动officedrop掉。磁盘组,提供了冗余,仍保持MOUNT状态

ASM 扩展性

最多支持63个磁盘组;

最多支持10000个磁盘;

最大支持4pb/磁盘;

最大支持40 exabyte/ASM存储;

最大支持1W个文件/磁盘组;

外部冗余时单个文件最大35tb,标准冗余时单个文件最大5.8tb,高冗余度时单个文件最大3.9tb


4.1>添加磁盘组

CREATE DISKGROUP diskgroup_name

  [ { HIGH | NORMAL | EXTERNAL } REDUNDANCY ]

  [ FAILGROUP failgroup_name ]

  DISK [ NAME disk_name ] [ SIZE size_clause ] [ FORCE | NOFORCE ] ...;  //通过FORCE选项来强制修改该盘所属磁盘组 


4.2修改磁盘组

ALTER DISKGROUP DATA add disk '/dew/raw/raw7' name date_1;


4.3删除磁盘

alter diskgroup asmdisk2 drop disk asmdisk2_0001; 

由于未被马上删除,DBA可以通过 alter diskgroup asmdisk2 undrop disks; 取消删除


4.4修改磁盘大小

SQL> alter diskgroup asmdisk2 resize disk asmdisk2_0000 size 1000m; 


4.5手动平衡磁盘组

SQL> alter diskgroup asmdisk2 rebalance power 5; 


4.6Mount/unmount 磁盘组

手工加载

SQL> select group_number,name,state,total_mb,free_mb from v$asm_diskgroup; 

alter diskgroup asmdisk2 dismount; 

alter diskgroup asmdisk2 mount; 


4.7管理目录,文件

创建目录

SQL> alter diskgroup asmdisk2 add directory '+ASMDISK2/JSS1'; 

修改目录名

SQL> alter diskgroup asmdisk2 rename directory '+ASMDISK2/JSS1' 

删除目录

SQL> alter diskgroup asmdisk2 drop directory '+ASMDISK2/JSS2'; 


4.8管理别名

增加别名

SQL> alter diskgroup asmdisk2 add alias '+ASMDISK2/repdb/datafile/temp01.dbf' for '+ASMDISK2/repdb/TEMPFILE/TEMP.267.714576831'; 

修改别名

SQL> alter diskgroup asmdisk2 rename alias '+ASMDISK2/repdb/datafile/temp01.dbf' to '+ASMDISK2/repdb/TEMPFILE/temp01.dbf';

 

删除别名

SQL> alter diskgroup asmdisk2 drop alias '+ASMDISK2/repdb/TEMPFILE/temp01.dbf'; 


4.9删除磁盘组中文件/别名

SQL> alter diskgroup asmdisk2 drop file '+ASMDISK2/repdb/datafile/temp01.dbf'; 

指定为别名,就只删除了别名,并未真正将文件删除。删除文件将自动删除别名。


4.10删除磁盘组

drop diskgroup gpname ,

如果磁盘组非空,报错,附加including contents。如果使用了spfile。将自动修改spfile参数


5>管理ASM磁盘中的文件

ASM(同一个文件)在保存时,也并非保存在某个磁盘,打散。

ASM自动空盒子,文件名ASM通过OMF管理

5.1Asm 中的文件名

+diskgroup/dbname/file_type/file_type_tag.file.incarnation

+diskgroup :磁盘组名称;

dbname DB_UNIQUE_NAME参数值;

file_type :创建的文件类型,比如

CONTROLFILE/DATAFILE/ONLINELOG/ARCHIVELOG/TEMPFILE/BACKUPSET/FLASHBACK等等,类型众多此处不一一例举;

file_type_tag :文件类型的标签,比如表空间对应的通常为该表空间名称;

file.incarnation :文件序号+incarnation,用来确保文件的唯一;




ASM ,试图,命令,结构

阅读(1023) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-06-05 02:03:58

大连法律咨询在线 http://www.fabowang.com 大连律师在线咨询 http://www.fabowang.com 大连法律顾问网 http://www.fabowang.com 大连律师咨询 http://www.fabowang.com