asm联机文档自己翻译的.docx
- 文档编号:17434847
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:28
- 大小:223.74KB
asm联机文档自己翻译的.docx
《asm联机文档自己翻译的.docx》由会员分享,可在线阅读,更多相关《asm联机文档自己翻译的.docx(28页珍藏版)》请在冰点文库上搜索。
asm联机文档自己翻译的
Asm
1、ASM是针对于oracle数据库的卷管理器和文件系统,它支持单实例和rac集群数据库配置。
Asm是oracle推荐的卷管理,文件系统,裸设备的管理方案。
OracleASM使用磁盘组去存储数据文件,oracleASM磁盘组是多个磁盘组成的集,这个磁盘集中的磁盘是oracleasm的管理单元
2、在磁盘组中oracle数据文件是不需要手动去指定位置,存储在asm磁盘中的文件时均匀分析在磁盘中的以消除热点,并且提供一致的性能,这个性能和裸设备的性能相媲美
3、你能够从asm磁盘组中添加或删除一个磁盘,同时并不会影响数据库继续访问磁盘组中的文件。
当你从磁盘组中添加或者删除一个磁盘后,oracleasm自动重新分布文件的内容,这样就避免了当你手工重新分布文件内容所造成的当机时间。
4、Oracleasm卷管理器新特性提供了镜像选项,oracleasm正常情况下提供高冗余的磁盘组,使用两路或者三路镜像,你能够使用外部的镜像比如磁盘阵列的raid进行镜像保护功能当使用外部镜像时就不需要设置asm镜像
5、Oracleasm依然使用omf(oraclemanagedfiles)特性去简化数据文件管理。
Omf在指定的本地位置会自动建立文件,并且当表空间或者文件被删除后,omf也会从asm删除文件,并且释放空间。
6、Oracleasm会降低管理开销,因为它将数据库存储,整合成一个小数量的磁盘组并且改善了I/O性能。
7、Oracleasm文件能够与其他的存储管理特性共存,像裸磁盘,第三方的文件系统。
这个特性对于已经存在的oracle环境起到了整合的简化功能。
8、Oracleacfs文件系统是一个多平台可扩展的文件系统,acfs的管理技术是oracleasm特性的扩展以支持客户保持oracle数据库以外的文件。
Oracleasm动态卷管理器。
即oracle-advm提供卷管理服务和一个标准的磁盘驱动接口给客户端负责维护使用
Oracleasm概念
1、oracleasm实例(instances):
由sga和后台进程组成,oracleasm实例比正常的数据库要精简的多,并且SGA也比正常的数据库要小很多。
Oracleasm实例加载asm文件提供给生产数据库实例,但是oracleasm实例是不能加载数据库的,即mountdatabases
2、oracleasm要先安装与oracle数据库。
并且有单独的oraclehome目录,oracleasm实例和数据库实例必须共享访问磁盘组中的磁盘。
Oracleasm实例管理磁盘组中的元数据,并且提供文件布局的信息给生产数据库实例;
3、oracleasm元数据他是一个信息,这个信息是提供给oracleasm使用去控制磁盘组和驻留在磁盘组内部的元数据。
Oracleasm元数据信息(metadata)包括下面的信息
●磁盘属于哪个磁盘组
●磁盘组中可供使用的空间
●磁盘组中的文件的文件名
●本地磁盘组中数据文件的位置
●Redolog记录信息这个信息是关于元数据块变化的
●Oracleadvm信息(动态卷信息)
4、oracleasm实例能够在oracleclusterware(oracle集群)中被集群。
这个oracleasm实例是针对于集群中所有的节点。
如果有多个数据库实例在同一个节点上,但是对应不通的数据库,那么数据库实例会在该节点上共享同一个oracleasm实例。
如果oracleasm实例在一个节点上失败,那么在该节点上所有数据库实例都将会失败,oracleasm实例失败并不需要重新启动系统。
在rac的环境中当oracleasm实例所在节点上失败后,oracleasm实例和数据库实例会从从幸存的节点上自动恢复。
图1-1显示“单实例数据库服务器”
图1-1显示的是单节点的配置方式,一个oracleasm实例和多个数据库实例,oracleasm实例管理着元数据和提供空间分配给oracleasm文件,当一个数据库实例建立或者打开一个oracleasm文件时,它会把这个请求传给oracleasm实例,这个oracleasm实例将会反馈文件段(fileextent)分布信息给数据库实例。
图1-1中有两个磁盘组,一个磁盘组有4个磁盘。
另外一个组有两个磁盘。
数据库能够访问两个磁盘组。
图1-1中显示多个数据库实例。
但是只有一个oracleasm实例是服务于其他多个数据库实例的。
图1-2
图1-2显示了在rac集群环境中oracleasm,oracleasm提供了一个集群存储池,每个节点上都有一个oracleasm实例这个实例服务于rac集群中多个或者单个数据库实例,rac集群中所有的数据库统一并且共享图1-2两个ASM磁盘组
图1-3
图1-3显示一个集群存储池能够被多个单实例数据库所共享,像图1-3这个情况,多个数据库共享磁盘组,通过oracleclusterware可以实现共享oracleasm存储池,所以像这种情况,oracleraclicense不是必须的
5节:
在多个节点之间去共享磁盘组的话你必须安装oracleclusterware软件在每一个节点上。
不论你是否在节点上安装了oraclerac。
Oracleasm实例可以是单独的节点,并不一定是oracleasm集群中的成员。
所以如果你的oracleasm实例不是oracleasmcluster的一部分,他们是不能通信的。
多个节点如果不是oracleasm集群的成员的话,他们是不能共享磁盘组的。
6节:
关于Oracleasm磁盘组
1、一个磁盘组由多个磁盘组成,磁盘是oracleasm基本的管理对象,每个磁盘组包含的元数据是磁盘组中的空间的管理要求,磁盘组的组成部分包括,磁盘,文件,和分配单元。
文件是磁盘组分配的,一个oracleasm文件只能属于一个磁盘组,但是一个磁盘组可以包含属于不通数据库的asm文件。
一个独立的数据库可以使用多个磁盘组文件,对于大多数情况你只需要配置一个磁盘组就够了,再多一点的话就是两个,很少会超过三个。
7节:
关于asm镜像特性(这个功能基本上用不到,因为现在的阵列都会配置raid)
1、两路镜像
2、三路镜像
3、不使用asm镜像功能,(当你配置硬件raid功能时候就可以不使用asm的镜像功能了)
8节:
关于oracleasm磁盘对象
1、oracleasm磁盘是个存储设备,他是oracleasm磁盘组预分配的。
2、oracleasm磁盘组的存储设备可以是下面的设备组成
:
一个存储阵列中的一个磁盘或者一个分区
:
整个磁盘或者磁盘一部分
:
逻辑卷
:
nfs
9节:
当你添加一个磁盘到磁盘组时,你可以手工指定这个磁盘在oracleasm中的名字,或者也可以由oracleasm自动分配的。
当oracleasm分配这些名字时这个名称是不相同的,这些不同的名称由使用的操作系统路径名构成。
在一个集群中,一个磁盘可能被分配不同的操作系统的设备名称在不同的节点上,但是在所有的节点上这个硬盘存放在oracleasm中的名称是相同的。
Oracleasm会把文件均匀分布在所有的磁盘上,确保负载均衡。
因为oracleasm在磁盘组中所有的磁盘做负载均衡,所以不同的oracleasm不应该共享相同的物理驱动器。
10节:
Oracleasm分配单元
每个oracleasm磁盘被分割成一个个的(AU)单位。
AU是磁盘组的基本组成单位。
默认为1M,一个文件段包括一个或多个AU单位,一个oracleasm文件包括一个或多个文件段(extents)。
当你建立一个磁盘组时,你可以设置oracleasm的分配单位即:
au_size
这个值包括1,2,4,8,16,32,64。
单位是MB
11节:
关于oracleasm文件
1、文件存放在oracleasm磁盘组中后被叫做oracleasm文件,oracleasm可以存放的文件包括:
控制文件,数据文件,临时文件,数据文件的拷贝,spfile参数文件,日志文件,归档日志,flashbacklogs(闪回日志),rmanbackup,等等
2、Oracleasm会自动生成oracleasm文件名。
在建立表空间时候不需要在指定文件的路径和名称了。
Oracleasm文件的名称是以+号开头后面跟磁盘路径名。
你可以给oracleasm文件指定别名也可以给目录指定别名。
12节:
oracleasm文件组从部分
1、段(extent)
2、Oracleasmstriping
3、Filetemplates(文件模板)
Extent初始大小等于AU的大小在20000个extent之前(0-19999)
当extent达到20000-39999的范围时候extent的大小就等于4*AU的大小了
当extent的数量达到20000或者40000+的时候extent的大小就等于16*AU的大小了。
13节:
oracleasmstriping(条带)
1、oracleasm条带只要有两个主要目的,一个是将数据均衡分布在磁盘组中的所有磁盘上,第二是均衡I/O挣用,striping(条带)又分为粗粒度条带和细粒度条带,粗粒度条带的大小等于AU的大小,细粒度条带的大小等于128KB。
当文件很大时候使用粗粒度条带,文件很小时候使用细粒度条带,会提高IO的性能。
减少延迟。
14节:
filetemplates(模板文件):
模板文件是用于指定“磁盘集合或者叫磁盘区域”的属性值的集合,当你建立一个文件的时候,你可以选择一个模板文件,并且在模板文件的基础上指定所需要的属性。
一个默认的模板提供了所有oracle文件的类型,但是你能够定制你所要求的,每个磁盘组都有个默认模板这个模板于磁盘组内每个文件都是关联的。
15节:
了解oracle-asm磁盘组的管理
Asm磁盘组的管理包括:
discoveringdisks(发现磁盘),加载和卸载磁盘组,添加和删除磁盘,在线存储重新配置和动态再平衡
1、关于发现磁盘:
磁盘发现进程可以找到并且可以访问位于操作系统下的磁盘,磁盘发现进程会找到磁盘组中包含的所有磁盘并且去加载它。
Oracle-asm-instance(oracle-asm实例)的初始化参数adm_diskstring的值是发现进程所必须的,而且这个参数的值只能是路径的名称
2、组成asm磁盘组的源可以是
1、磁盘分区,这个磁盘分区可以是整个磁盘或者磁盘的一部分,但是不能给这个磁盘分区格式化后给asm使用,而且这个分区内部不能有其他的数据,因为会被覆盖掉。
类似于裸设备
2、LogicalUnitNumber(LUN)即‘逻辑单元号’:
先解释下什么叫做lun—
LUN的全称是LogicalUnitNumber,也就是逻辑单元号。
(这个主要用于存储阵列中)我们知道SCSI总线上可挂接的设备数量是有限的,一般为8个或者16个,我们可以用TargetID(也有称为SCSIID的)来描述这些设备,设备只要一加入系统,就有一个代号,我们在区别设备的时候,只要说几号几号就ok了。
而实际上我们需要用来描述的对象,是远远超过该数字的,于是我们引进了LUN的概念,也就是说LUNID的作用就是扩充了TargetID。
每个Target下都可以有多个LUNDevice,我们通常简称LUNDevice为LUN,这样就可以说每个设备的描述就有原来的Targetx变成TargetxLUNy了,那么显而易见的,我们描述设备的能力增强了。
就好比,以前你给别人邮寄东西,写地址的时候,可以写:
xx市人民大街54号xxx(收)
但是自从高楼大厦越来越多,你不得不这么写:
xx市人民大街54号xx大厦518室xxx(收)
所以我们可以总结一下,LUN就是我们为了使用和描述更多设备及对象而引进的一个方法而已,一点也没什么特别的地方。
(从阵列划过来的空间同样不能格式化给asm用,也就是相当于裸设备)
3、LogicalVolume(逻辑卷):
逻辑卷的意思并不是逻辑分区,具体含义参考QQ日志。
Oracle不推荐这种配置。
(物理磁盘组成---卷组—然后卷组可以划分成N个逻辑卷对逻辑卷进行格式化后就可以给系统使用了。
4、NFS文件系统:
从nfs文件系统中可以建立asm的磁盘组,使用nfs文件系统能够更好的负载均衡和存储规划,在windows上的directnfs能够存储数据文件但不支持oracle的集群文件去安装rac,当从nfs建立磁盘组时候目前它不能够支持oracle-asm动态卷管理器(advm)和oracle-asm集群文件系统(acfs,或internetfilesystem(cifs)
16节:
用于oracle-asm存储资源(构成存储空间的组成部分)的准备过程
1、识别存储资源的名称,比如认到硬盘了:
识别或创建用于OracleASM存储设备通过识别所有的存储资源的设备名称,你可以用它来创建OracleASM磁盘组。
例如,在没有ASMLib的Linux系统中,设备名称通常是从/dev目录与/dev/device_name_identifier的名称。
2、改变存储资源拥有者和权限
17节:
存储准备的建议
1、配置两个磁盘组,一个是数据另外一个是快速恢复区(fastrecoveryarea)
2、每个磁盘组至少有4个lun(逻辑单元号)而且lun的大小相同
3、磁盘组中的硬盘最好选择性能一样的,如果一个硬盘rpm(转速)是10k/s另一个是15K/S,那么磁盘组就会使用最低的那个速度为整个磁盘组的速度。
4、选择硬件raid的stripe大小是2的次方比如2K,4K,8K,128K,但是这个值要小于或者等于oracleasmallocationunit(oracleasm分配单元)的大小。
5、在linux系统中,使用oracleasmlib特性去提供一致的硬件名称和永久的许可权限
6、
18节:
管理oracle-asm实例
1、Oracle-asm实例和数据库实例的版本关系:
asm的版本要大于等于数据库的版本。
对于集群软件oracle的集群软件版本必须高于等于oracle–asm的版本。
2、可以在oracle_asm和数据库实例中查询v$asm_client视图,通过这个视图可以了解oracle_asm版本和兼容的数据库版本。
还有asm的实例名
19节:
配置oracleASM实例的初始化参数
1、关于asminstance的初始化参数文件
1、asminstance在建立的时候会单独建立一个spfile文件和一个passwordfile。
并且存储在asm磁盘组中
2、当安装的asm是在一个asm集群的环境中,那么oui(oracle安装卸载程序)这个工具会建立一个独立的,共享的spfile文件存储在asm磁盘组中。
3、Asminstance可以使用spfile和pfile,如果在asm的集群环境中使用spfile文件的话就必须要把spfile文件放在共享的raw设备或者集群文件系统上。
Oracle推荐把asm的spfile放在磁盘组中。
4、当oracleasm实例去搜索spfile的时候顺序是:
1、gridplugandplay(gpnp)profile,指定的位置
2、如果本地没有设置gridplugandplay(gpnp)profile,这时搜索的顺序改变为
A、oracleasminstancehome主目录,例如在linux系统下当没有使用gridplugandplay(gpnp)profile时候spfile的默认路径是oracle_home/dbs/spfile+asm.ora
B、你可以使用sqlplus,em,asmca,asmcmd来管理oracleasminstance的参数文件spfile
2、备份,拷贝,移动asm实例的参数文件
1、可以通过asmcmd的spbackup,spcopy,spmove命令进行备份,拷贝,移动。
2、设置asm实例初始化参数文件可以通过asmca,如果数据库建立之后也可以通过em,或者altersystem,或者altersession命令
3、instance_type参数是必须的对于asm实例的参数文件,
3、asm的自动内存管理
1、Oracle强烈建议对于asm实例使用自动内存管理
4、Oracleasm参数设置建议
1、ASM_DISKGROUPS
2、ASM_DISKSTRING
3、ASM_POWER_LIMIT
4、ASM_PREFERRED_READ_FAILURE_GROUPS
5、DB_CACHE_SIZE
6、DIAGNOSTIC_DEST
7、INSTANCE_TYPE
8、LARGE_POOL_SIZE
9、PROCESSES
10、REMOTE_LOGIN_PASSWORDFILE
11、SHARED_POOL_SIZE
下面详细的解释下每个参数的意思:
1、ASM_DISKGROUPS:
asm实例启动时候加载的磁盘组列表,这个参数的值是null或者磁盘组的名字,当你在asm实例启动时候指定nomount或者ALTERDISKGROUPALLMOUNT那么这个参数将会被忽略掉。
例:
修改asm_diskgroups参数命令
altersystemsetasm_diskgroups=data,fqa;注意:
data,fqa是磁盘组名
2、ASM_DISKSTRING:
ASM_DISKSTRING:
定义哪些磁盘可以被ASM使用,ASM实例启动时就根据这个参数值扫描发现ASM磁盘,配置了这个参数以后,还必须确认ORACLE用户对这些磁盘有操作的权限
1.如果使用裸设备,用逗号分隔每个设备名:
Asm_diskstring='/dev/raw/raw1','/dev/raw/raw2','/dev/raw/raw3'
2.如果使用ASMLib时,就需要使用"ORCL:
磁盘名"
Asm_diskstring='ORCL:
VOL1'
3.使用ASMLib时,也可以使用通配符
Asm_diskstring='ORCL:
VOL*'
4、在linux下是不能使用asmlib的,举例在linux下设置asm_diskstring参数的例子
altersystemsetASM_DISKSTRING=/dev/rdsk/mydisks/*
如果想只发现mydisks下的disk3和disk4命令如下
altersystemsetASM_DISKSTRING=/dev/rdsk/mydisks/*disk3,/dev/rdsk/mydisks/*disk4
3、ASM_POWER_LIMIT:
设置磁盘再平衡的级别,这个级别范围是0-1024,默认值是1
值越大再平衡的速度就快,但是消耗的磁盘IO和再平衡的进程就更多。
注意:
如果ASMcompatibilitysetto11.2.0.2或者更高,那么ASM_POWER_LIMIT:
参数设置范围是0-1024
如果ASMcompatibility设置低于11.2.0.2那么ASM_POWER_LIMIT:
参数设置范围是小于或者等于11
4、ASM_PREFERRED_READ_FAILURE_GROUPS:
( 最近有一些客户有这样一个需求,一个ASM磁盘组中分别挂载不同性能的存储或磁盘。
希望ASM在读取的时候,优先读取性能好的磁盘,性能差的磁盘更多的是扮演'standby'的角色。
oracle提供一个参数ASM_PREFERRED_READ_FAILURE_GROUPS,来实现ASM优先读取的功能,但是以FAILURE_GROUP为单位实现的。
我们可以将不同性能的存储(磁盘),分别划分到不同的FAILURE_GROUP,然后根据这个参数来指定优先读取哪个FAILURE_GROUP
关于参数说明
ASM_PREFERRED_READ_FAILURE_GROUPSspecifiesthefailuregroupsthatcontainpreferredreaddisks.Preferreddisksareinstancespecific.ThisparameterisonlyvalidinASMinstances.
下面就是在测试环境测试的过程:
1.修改参数(无需重启instance,立即生效)
SQL>altersystemsetASM_PREFERRED_READ_FAILURE_GROUPS='DATA.QR01CEL03';
Systemaltered.
2.检查修改结果
SQL>showparameterprefer
NAMETYPEVALUE
-----------------------------------------------------------------------------
asm_preferred_read_failure_groupsstringDATA.QR01CEL03
下面是测试部分:
1.查询修改后每个FAILGROUP的读取次数
SQL>selectinstname,failgroup,sum(reads),sum(writes)fromv$asm_disk_iostatgroupbyinstname,failgrouporderby1,2;
INSTNAMEFAILGROUPSUM(READS)SUM(WRITES)
---------------------------------------------------------------------------
dbm2QR01CEL01126085470
dbm2QR01CEL0235444529
dbm2QR01CEL0319974107
2.另一个窗口2,执行read操作
select*fromdba_objects;
3.窗口1,可以看到,读取都是QR01CEL03上的reads是一直增加的,而其他的FAILGROUP是没有reads的
SQL>/
INSTNAMEFAILGROUPSUM(READS)SUM(WRITES)
---------------------------------------------------------------------------
dbm2QR01CEL01126085492
dbm2QR01CEL0235454550
dbm2QR01CEL0320814128
SQL>/
INSTNAMEFAILGROUPSUM(READS)SUM(WRITES)
--------------------------------------------------------------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- asm 联机 文档 自己 翻译
![提示](https://static.bingdoc.com/images/bang_tan.gif)