(Les05 ASM Instance)[20180208]

学习目标     描述使用ASM的好处     管理ASM实例     创建和删除ASM磁盘组     扩展ASM磁盘组     通过使用各种实用程序检索ASM元数据  

 

 

 

ASM对于管理员的好处     使用ASM可以免除:         -I/O性能优化:ASM采用条带化和镜像所有数据的策略,且执行自动重新平衡操作。         -数据文件移动和重新组织:不再需要更改数据文件的位置来满足性能要求和空间约束条件。         -文件名管理:不再需要定义和强制执行文件命名策略         -逻辑卷/文件系统/集群文件系统/裸设备管理:不再需要这些存储元素     使用ASM可以减少下列工作:         -逻辑单元号(LUN)管理工作减少,ASM通常需要的逻辑单元较少且大小较大         -数据库原理员与系统管理员之间的依赖性大大减少,如迁移磁盘组不再需要系统管理员干预。         -减少手动执行维护任务时发生的错误。如新增数据文件文件命名不规范,导致数据库的其余部分不支持。   ASM实例     每次启动ASM或数据库时,都会分配名为系统全局区(SGA)的共享内存区域并启动Oracle ASM和数据库后台进程,。后台进程和SGA的组称为Oracle ASM实例或Oracle DB实例。     ASM实例中的SGA分为四个主要区域:         -共享池:用于元数据         -大型池:用于并行         -ASM高速缓存:用于在重平衡操作期间读取和写入块         -空闲内存:可用的未分配内存         ASM的建议最低内存为256M。ASM实例默认启用自动内存管理,该功能将动态优化各个SGA内存组件的大小。ASM实例所需的内存量将取决于ASM管理的磁盘空间量。ASM实例的第二部分是后台进程。ASM实例可以具有多个后台进程,并不是所有进程始终都会出现。         ASM组件                 -ARCn:归档进程                 -SMON:系统监控进程                 -PMON:程式监控进程                 -DBWn:数据库写入进程                 -LGWR:日志写入进程                 -CKPT:检查点进程                 -DIGA:诊断进程                 -Jnnn:作业队列进程                 -QMNn:队列监控进程                 -PSP0:进程衍生进程                 -RECO:恢复器进程                 -VKTM:虚拟计时器进程                 -MMAN:内存管理器进程                 ASM在RAC集群中的进程                 -LMON:全局入队服务监控进程                 -LMDn:全局入队服务守护程序                 -LMSn:全局高速缓存服务进程                 -LCKn:锁定进程               ASM实例-主要进程                 -RBAL:协调重新平衡活动                 -ARBn:一个或多个从属进程,用于执行重平衡活动                 -GMON:负责管理磁盘级活动,如删除或脱机以及提高ASM磁盘组兼容性                 -MARK:根据需要将ASM分配单元标记为过时                 -Onnn:一个或多个ASM从属进程,形成与ASM实例的一组连接,用于交换消息                 -PZ9n:一个或多个并行从属进程,用于从GV$视图提取有关集群ASM安装的数据           ASM实例初始化参数                 -INSTANCE_TYPE:设置ASM,这是唯一一个必须定义的参数。对于数据库实例,该参数值设置为RDBMS                 -ASM_POWER_LIMIT:控制重平衡操作的速度。值的范围从1到11(默认值为1)。                 -ASM_DISKSTRING:是一个与操作系统相关的值,ASM使用它来限制搜索时考虑的磁盘集(默认为空,表示所有)。                 -ASM_DISKGROUPS:ASM实例需要装载的磁盘组的名称列表。该参数没有默认值。                 -ASM_PREFERRED_READ_FAILURE_GROUPS:指定包含首选读取磁盘的故障组。                 -DIAGNOSTIC_DEST:指定自动诊断存储(ADR)主目录。跟踪文件/预警日志/核心文件和意外事件文件。该参数的默认值由ORACLE_BASE派生                 -LARGE_POOL_SIZE:指定大型池分配堆的大小(以字节表示)                 -REMOTE_LOGIN_PASSWORDFILE:指定Oracle软件是否检查密码文件。默认值为EXCLUSIVE                      数据库实例与ASM之间的交互                 1.数据库请求创建文件                 2.ASM前台进程创建一个持续操作目录(COD) 条目并在磁盘组中为新的文件分配空间。                 3.ASM数据库进程接收新文件的区映射                 4.现在文件处于打开状态,数据库进程直接初始化该文件。                 5.初始化后,数据库进程请求提交文件创建。这会导致ASM前台进程清除COD条目并将文件标记为已创建。                 6.文件提交确认会隐式关闭该文件。将来发生I/O时,数据库实例需要重新打开该文件。                 –数据库实例和ASM实例协同工作。数据库实例必须与ASM交互,以便将数据库文件映射到ASM区。                 –数据库I/O不通过ASM实例来传输。实际上,数据库直接根据ASM文件执行I/O操作。   ASM实例:动态性能视图             -ASM实用程序使用SQL语言访问这些表来检索仅含元数据的信息             -包含许多专用的ASM相关视图                 V$ASM_ALIAS V$ASM_ATTRIBURE V$ASM_CLIENT                 V$ASM_DISK  V$ASM_DISK_IOSTAT V$ASM_DISK_STAT                 V$ASM_DISKGROUP V$ASM_DISKGROUP_STAT V$ASM_FILE                 V$ASM_OPERATION V$ASM_TEMPLATE     ASM系统权限     -ASM实例没有数据字典         SYSASM–OSASM(asmadmin)—全部管理权限         SYSDBA–OSDBA(asmdba)—可访问ASM中存储的数据,在当前版本中还具有SYSASM权限         SYSOPER–OSOPER(asmoper)—受限权限,可使用一组非破坏ALTER DISKGROUP命令以及启动和停止ASM实例   启动和停止ASM实例使用SQL*Plus     $sqlplys / as sysasm         SQL>startup             ALTER DISKGROUP … MOUNT;         SQL>shutwon abort         【OPEN】         -FORCE:在重新启动ASM实例之前向它发出SHUTDOWN ABORT         -MOUNT或OPEN:装载ASM_DISKGROUPS初始化参数中指定的磁盘组         -NOMOUNT:启动ASM实例而不装载任何磁盘组         -RESTRICT:在受限模式下启动实例。RESTRICT可以与MOUNT/NOMOUNT/OPEN组合使用(受限模式下数据库实例不能对磁盘进行操作)         【SHUTDOWN】         -NORMAL(默认关闭模式):ASM在卸载所有磁盘组并关闭ASM实例之间,等待正在进行的SQL操作完成,等待当前连接的用户从该实例断开。不会接受新的连接         -IMMEDIATE或TRANSACTIONAL:ASM在卸载所有磁盘组并关闭实例之前,等待正在进行的SQL操作完成,不会等待当前连接的用户断开连接。         -ABORT:ASM实例立即关闭,而不是按顺序卸载磁盘组。这将导致下次启动ASM时进行恢复操作。如果有任何数据库实例与ASM实例连接,则该数据库实例也将终止。          启动和停止ASM实例使用srvctl         $srvctl start asm -o mount         $srvctl stop asm -f         $srvctl status asm                         启动ASM实例             srvctl start asm [-o <start_option>]                  <start_option>启动选项 (FORCE/MOUNT/OPEN/NOMOUNT或RESTRICT)         停止ASM实例             srvctl stop asm [-o <stop_option> ] -f                 <stop_option>关闭选项 NORMAL/IMMEDIATE/TRANSACTIONAL或ABORT                 -f是强制         ASM实例的状态             srvctl status asm   启动和停止ASM实例使用asmcmd         ASMCMD>startup         ASMCMD>shutdown –abort                  启动选项             –nomount 不装载磁盘组的情况下启动ASM实例             –restrict 启动ASM实例并限制数据库使用             -pfile <pfile.ora> 使用定制pfile启动ASM实例         关闭选项             –immediate 立即执行关闭             –abort 中止所有现有操作     磁盘组         磁盘组是一个或多个磁盘的逻辑分组,ASM将其作为一个集合来管理。每个磁盘组都包含与自身相关联的元数据。在概念上,ASM磁盘组类似于典型存储区域网络中的逻辑卷。         一个磁盘组可以包含属于多个数据库的文件,而一个数据库可以使用来自多个磁盘组的不同文件。                  磁盘组的冗余设置:             -外部冗余,其中ASM不提供任何镜像,磁盘都是假设为高度可靠。             -正常冗余,其中ASM默认支持双向镜像,从而保证在较不可靠的存储上实现数据完整性。             -高冗余,其中ASM默认支持三向镜像,从而更改地保证数据完整性。             ASM最多支持创建63个磁盘组。           ASM磁盘             -是为ASM磁盘组预配的存储设备             -通过正常O/S接口来访问             -必须可由ASM所有者读取和写入             -必须可由集群中的所有节点访问             -在不同的节点上可以有不同的O/S名称或路径             -可以是:                 -整个物理磁盘或物理磁盘的分区                 -存储阵列中的磁盘或分区                 -逻辑卷(LV)或逻辑单元(LUN)                 -网络连接文件(NFS)                     ASM分配单元             ASM磁盘划分为分配单元(AU)                 -在创建磁盘组时可以配置AU大小                 -AU默认大小为1MB                     -足够小,能够被数据库缓存;但又足够大,能够提供高效的后续访问                 -允许的AU大小                     -1,2,4,8,16,32或64MB                     -在超大型数据库(VLDB)中或使用专门的存储硬件,较大的AU可能非常有用。                  ASM文件                 -是由AU组成的ASM区的集合                     -可变大小的区支持大型文件                 -对数据库内核显示为普通文件                 -文件名称以“+”开头                     -例如,+DATA/orcl/datafile/system.256.68912343                 -可以与可选的文件名别名相关联                     -例如,+DATA/datafile/mydb/system01.dbf                 -在磁盘组中的磁盘中平均分布                 -根据磁盘组中定义的策略进行镜像           ASM区映射                 ASM文件–>区映射–>磁盘组                 ASM通过称为区映射的元数据跟踪文件的分布。区映射是一个表,将文件中的数据区映射到磁盘上的分配单元。                   文件区与分配单元之间的关系:                     -一个AU用于前20,000个区(0-19999)                     -4个AU用于接下来的20,000个区(20000-39999)                     -16个AU用于40,000以上的区         条带化粒度             ASM用于负载平衡的条带化策略与用于等待时间的条带化策略不同             条带化主要用途:                         -在磁盘组的所有磁盘中执行I/O负载平衡                         -改善I/O等待时间                 -对于负载平衡,粗粒度条带化(AU/区单位)将多个分配单元连接起来使用                                                                               细粒度条带化                         细粒度条带化在分配单元组中放置128KB条带单元                             -磁盘组具有8个磁盘和外部冗余                             -使用默认的AU大小:1MB                             -第一个1MB区在8个AU中以128KB条带形式写入                                                                                   注意:控制文件和联机重做日志文件只能使用细粒度条带化                   ASM故障组                     -共享需要容错的一项公用资源的一组磁盘                     -镜像的区副本存储在不同的故障组中                                                 故障组可以用于避免单个磁盘/磁盘控制器/I/O网络组件以及甚至整个存储系统的故障。                                                              条带化镜像和故障组示例                                                                故障演练                                                 管理磁盘组             CREATE DISKGROUP             DROP DISKGROUP             ALTER DISKGROUP             ASM实例主要目的是管理磁盘组和保护器数据。ASM实例还将文件分布传送到数据库实例。这里,数据库实例就可以直接访问磁盘组中存储的文件。             执行这些命令都需要SYSASM或SYSDBA权限,且必须从ASM实例发出。               CREATE DISKGROUP dgroupA NORAML REDUNDANCY                 FAILGROUP controller1 DISK                     ‘/devices/A1’ NAME diskA1 size 120G FORCE,                     ‘/devices/A2’                 FAILGROUP controller2 DISK                     ‘/devices/B1’,                     ‘/devices/B2’;               DROP DISKGROUP dgroupA INCLUDING CONTENTS;                 ALTER DISKGROUP dgroupA ADD DISK                 ‘/dev/sde1’ NAME A5,                 ‘/dev/sdf1’ NAME A6,                 ‘/dev/sdg1’ NAME A7,                 ‘/dev/sdh1’ NAME A8;               ALTER DISKGROUP dgroupA ADD DISK ‘/devices/A*’;               ALTER DISKGROUP dgroupA DROP DISK A5;               ALTER DISKGROUP dgroupA DROP DISK A6                     ADD FAILGROUP controller3 DISK ‘/dev/sdi1’ NAME A9;                          ALTER DISKGROUP dgroupA UNDROP DISKS;               ALTER DISKGROUP dgroupA REBALANCE POWER 5;–手动开始重平衡             ALTER DISKGROUP dgroupA DISMOUNT;–卸载dgroupA磁盘组   ASM磁盘组兼容性         每个磁盘组的兼容性都可以分别控制:             -ASM兼容性控制磁盘上ASM元数据结构             -RDBMS兼容性控制最低使用者客户端级别             -ADVM兼容性确定磁盘组是否可以包含Oracle ASM卷         设置磁盘组兼容性的操作时不可逆的                          DB实例 >=ASM磁盘组(RDBMS<=ASM>=ADVM)<=ASM实例       ASM磁盘组属性         -au_size,ASM允许使用在创建磁盘组时指定的不同分配单元(AU)大小。1/2/4/8/16/32或64MB         -compatible.rdbms,RDBMS数据库版本,数据库与ASM之间交换的消息的格式         -compatible.asm,ASM实例版本,磁盘上ASM元数据结构的格式         -compatible.advm,ADVM兼容性 ASM实例版本,允许在磁盘中包含Oracle ASM卷         -disk_repair_time,0M到2^32D,磁盘脱机之后删除此磁盘之间的时间量,默认值3.6H,ALTER DISKGROUP …DISK OFFLINE;         -template.tname.redundancy,UNPROTECT|MIRROR|HIGH,指定模板的冗余         -template.tname.stripe,COARSE|FINE,指定模板的条带化属性           对于每个已定义的磁盘组,可以通过V$ASM_ATTRIBUTE固定视图查看所有已定义的属性。       检索ASM元数据              SELECT f.TYPE,        f.redundancy,        f.striped,        f.modification_date,        a.system_created,        a.name       FROM v$asm_alias a, v$asm_file f      WHERE     a.file_number = f.file_number        AND a.group_number = f.group_number        AND TYPE = ‘DATAFILE’;       ASMCMD>ls -l +DATA/orcl/datafile                       

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐