关键词不能为空

当前您在: 主页 > 英语 >

杂货asm维护手册

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-01-28 13:00
tags:

杂货-扭

2021年1月28日发(作者:firmament)


ASM


(自动存储管理)


是一个专门为


Oracle


数据库服务的数据文件存储机制,


通过


ASM


管理


数据文件,

< p>
DBA


不用再担心


I/O


性能问题,也不需要知道文件的名称,同时


ASM


也提供了文< /p>


件系统到卷管理器的集成,下面依次介绍。



一、


ASM


的特点



1


)自动调整


I/O


负载



ASM


可以在所有可用的磁盘中自动调整


I/O


负载,不但避免了人工调整


I/O< /p>


的难度,而且也


优化了性能,同时,利用


ASM


可以在线增加数据库的大小,而无需关闭数据库。




2


)条带化存储



ASM


将文件分为多个分配单元(


Al location Units



AU


)进行存储,并在所有磁盘间平均


分配每个文件的


AU





3

< p>
)在线自动负载均衡



当共享存储设备有变化时,


ASM


中的数据会自动均匀分配到现有存储设备中。同时,还可 以


调节数据的负载均衡速度。




4


)自动管理数据库文件




ASM


存储管理中,


Ora cle


数据文件是


ASM


自动管理的。


ASM


创建的任何文件一旦不再需要,


就会被自动删除。但是,


ASM


不管理二进制文件、跟踪文件、 预警日志和口令文件。




5


)数据冗余



ASM


通 过磁盘组镜像可以实现数据冗余,不需要第三方工具。




6


)支持各种


Oracle


数据文件



ASM


存储支持< /p>


Oracle


数据文件、日志文件、控制文件、归档日志、


RMAN


备份集等。



二、


ASM


的体系结构与后台进程




1


显示了


A SM


的物理构成。





从图


1


可以 看出,


在顶层是


ASM


磁盘组,


ASM


实例和数据库实例可以直接访问这些磁盘组;

< br>然后是


ASM


文件,每个


ASM


文件只能包含在一个磁盘组中,不过,一个磁盘组中可以包含


属 于多个数据库的多个


ASM


文件,并且单个数据库可以使用来自 多个磁盘组的存储空间;


第三部分是


ASM

磁盘,多个


ASM


磁盘组成了


AS M


磁盘组,但每个


ASM


磁盘只能属于 一个


磁盘组;接着是


AU


(分配单元)



AU



AS M


磁盘组分配的最小连续磁盘空间,


ASM

磁盘按



AU


进行分区,


每个


AU


的大小为


1M B



这个结构的底层是


Oracle< /p>


数据块,


由于


AU



ASM


分配的最小连续磁盘空间,因此,

< br>ASM


是不允许跨分配单元拆分一个


Oracle


数据块的。




要使用


ASM


,需要在启动数据库实例之前,先 启动一个名为“


+ASM


”的实例,


A SM


实例不会装载数据库,启动它的目的是为了管理磁盘组和保护其中的数据。同时,< /p>


ASM



例还可以向数据库实例传递有关 文件布局的信息。


通过这种方式,


数据库实例就可以直接访


问磁盘组中存储的文件。图


2


显示了


ASM


的一般体系结构。






从图


2


可以看出,


ASM

< br>实例与数据库实例进行通信的桥梁是


ASMB


进程,此进 程运行在每


个数据库实例上,是两个实例间信息交换的通道。


A SMB


进程先利用磁盘组名称通过


CSS



得管理该磁盘组的


ASM


实例连接 串,


然后建立一个到


ASM


的持久连接 ,


这样两个实例之间就


可以通过这条连接定期交换信息,同时这 也是一种心跳监控机制。




另外,在


ASM


实例中还存在另外一个新的进程,即< /p>


RBAL


,此进程负责规划和协调


磁盘组 的重新平衡活动。除此之外,


ASM


实例还有一些与数据库实例 中的进程相同的后台进


程,例如


LGWR



SMON



PMON



DBWR



CKPT< /p>


等。



如果一个数据库实例使用


ASM


作为存储,


那么它将多出两个后台进程,



RBAL



ASMB



RBAL


负责打开磁盘组 中所有磁盘和数据,而


ASMB


负责和


ASM


实例进程通信。



三、管理


ASM


实例



< /p>


在使用


ASM


作为数据存储时,


ASM


实例管理显得非常重要,


Oracle< /p>


提供了丰富的管理功能,



ASM


实例进行管理需要具备


SYSDBA


权限,在


Oracle 11g


中可以使用一个新角色



,即< /p>


SYSASM


,此角色只用于管理


ASM


实例。



1


. 创建


ASM


实例


创建


ASM


实例有两种方法,第一种是利用


dbca


创建,这种方法只需运行


Database


Configuration Assistant



DBCA


),然后根据提示即可创建一个


ASM


实例,此种方式在前


面已有讲述,


这里 不再多说。


第二中方法是用命令行方式创建


ASM


实例,


下面进行简单介绍。




1


)创建


ASM

< br>磁盘



可以使用


RAID


划分的


LUN



分区 和裸设备等来创建


ASM


磁盘,


但是在 使用


LUN



分区或裸设


备时,要注意将属主和属组改为


Oracle


用户及 其对应的组,这个在前面节已经讲述过,另


外一种简单的方法就是使用

< br>Oracle


提供的


ASMLib


来完成


ASM


磁盘的创建,


下面将讲 述这种


方法。



在创建


ASM


实例之前,


首先应该确保节点上已经安装了


ASMlib


包,


同时确认


ASMLib


是否已


经自动加载:


[root@node1 ~]# lsmod | grep oracleasm


oracleasm 46356 1


然后,通过


ASMlib


提供的< /p>


oracleasm


将已经划分好的磁盘分区转化为


ASM


磁盘,例如:



[root@node1 ~]#/etc/init.d/oracleasm createdisk ASMDISK1 /dev/sdc5


Marking disk


[root@node1 ~]#/etc/init.d/oracleasm createdisk ASMDISK2 /dev/sdc6


Marking disk


[root@node1 ~]#/etc/init.d/oracleasm createdisk ASMDISK3 /dev/sdc7


Marking disk


[root@node1 ~]#/etc/init.d/oracleasm createdisk ASMDISK4 /dev/sdc8


Marking disk


[root@node1 ~]#/etc/init.d/oracleasm createdisk ASMdisk5 /dev/sdc9


Marking disk


创建完


ASM


磁盘后,


可以查看系统的


/dev/oracleasm/disks/


目录下是否已经生成磁盘设备,


可以采用的命令如如下:

< p>


[root@node1 ~]# ll /dev/oracleasm/disks/ASMDISK*


brw- rw---- 1 oracle oinstall 8, 21 Sep 10 23:40 /dev/oracleasm/disks/ASMDISK1


brw- rw---- 1 oracle oinstall 8, 22 Sep 10 23:40 /dev/oracleasm/disks/ASMDISK2


brw- rw---- 1 oracle oinstall 8, 23 Sep 10 23:36 /dev/oracleasm/disks/ASMDISK3


brw- rw---- 1 oracle oinstall 8, 24 Sep 10 23:40 /dev/oracleasm/disks/ASMDISK4


brw- rw---- 1 oracle oinstall 8, 25 Sep 10 23:40 /dev/oracleasm/disks/ASMDISK5


也可以通过如下方式查看:



[root@node1 ~]#service oracleasm listdisks


ASMDISK1


ASMDISK2


ASMDISK3


ASMDISK4


ASMDISK5


如果要删除


ASM


磁盘可通过以下命令:



[root@node1 ~]#/etc/init.d/oracleasm deletedisk ASMDISK5


Removing ASM disk



RAC


环境中,

要注意另外一个节点是否能够发现对应的


ASM


磁盘,


执行如下命令,


让另外


一个节点来获取这种 变化。



[root@node2 ~]#/etc/init.d/oracleasm scandisks


到此位 置,


ASM


磁盘已经创建完毕了。


< /p>



2


)初始化参数



启动


ASM


实例只需要如下几个参 数即可,


利用这些参数可以实现


ASM


实例的内存的自动分配


和自动管理。



下面介绍


ASM


实例初始化参数:



instance_type=asm


cluster_database=true


DB_UNIQUE_NAME=+ASM


ASM_POWER_LIMIT=1


large_pool_size=60M


asm_disk groups='FLASH_DISK','ARCH_DISK','DATA_DISK'


asm_diskstring='/dev/oracleasm/disks/*'


每个参数的含义如下:



insta nce_type


,指定实例的类型,对于


ASM


实例,应设置为


ASM


cluster_dat abase


,指定是否是数据库集群,


true


表示是


ASM


集群



DB_UNIQUE_NAME


,指定


ASM


实例的名称,默认是


+ASM


ASM_POWER_LIMIT


,该参数用来控制


ASM


中数据的负载均衡速度



large_pool_size


,设置大池的大小,由于< /p>


ASM


文件的分配单元映射是从


larg e_pool



配的,因此


large _pool_size


至少要


8MB


, 建议越大越好



asm_diskgroups


,指定实例启动时可用的


ASM


磁盘组,

< p>
ASM


实例将在启动时自动挂载这


些磁盘组



asm_diskstring


,用于限 制


ASM


实例可用于创建磁盘组的磁盘设备。如果该值为


NULL




ASM


实例可见的所有磁盘都可以成为创建磁盘组的可选磁盘




3


)创建密码文件



[oracle@node1 ~]$$su - oracle


[oracle@node1 ~]$$ cd $$ORACLE_HOME/dbs


[oracle@node1 ~]$$orapwd file=orapw+ASM password=oracle



4

)创建目录结构



[oracle@node 1~]$$su



oracle


[oracle@node1 ~]$$cd $$ORACLE_HOME/dbs


[oracle@node1 ~]$$mkdir



p $$ORALCE_BASE/admin/+ASM/udump


[oracle@node1 ~]$$ mkdir



p $$ORALCE_BASE/admin/+ASM/bdump


[oracle@node1 ~]$$mkdir



p $$ORALCE_BASE/admin/+ASM/adump


[oracle@node1~]$$ mkdir



p $$ORALCE_BASE/admin/+ASM/cdump


2


.启动


ASM


实例




无论在


RAC


环境中还是单实例环境,


ASM


实例都需要用到


CSS


进程,在


RAC


环境 中,启动


CRS



CSS


已经运行,而在单实例环境下,需要以


root


用户 运行脚本,初始化


CSS


服务,


否则, 在启动


ASM


实例时会报如下错误:



ORA-29701



unable to connect to Cluster Manager


执行初始化脚本的过程如下:



[root@node1 ~]#$$ORACLE_HOME/bin/localconfig add


/etc/oracle does not exist. Creating it now.


Successfully accumulated necessary OCR keys.


Creating OCR keys for user 'root', privgrp 'root'..


Operation successful.


Configuration for local CSS has been initialized


Cleaning up Network socket directories


Setting up Network socket directories


Adding to inittab


Startup will be queued to init within 30 seconds.


Checking the status of new Oracle init process...


Expecting the CRS daemons to be up within 600 seconds.


Cluster Synchronization Services is active on these nodes.


node1


Cluster Synchronization Services is active on all the nodes.


Oracle CSS service is installed and running under init(1M)


然后启动


ASM


实例:


[oracle@node1 ~]$$export ORACLE_SID=+ASM


[oracle@node1 ~]$$sqlplus / as sysdba


SQL> startup


ASM instance started


Total System Global Area 134217728 bytes


Fixed Size 1218124 bytes


Variable Size 107833780 bytes


ASM Cache 25165824 bytes


ORA-15110: no diskgroups mounted


因为首次启动


ASM


实例并没有创建


ASM


磁盘组,所以显示

15110


错误是正常的。



3


.管理


ASM


磁盘组



ASM


磁盘组是作为逻辑单元进行统一管理的一组 磁盘,在


ASM


实例中,可以创建和添加新

的磁盘组,


可以修改现有的磁盘组,


在其中添加一个磁盘或 者删除一个磁盘,


也可以删除现


有的磁盘组。

< br>



1


)添加磁盘组

< p>


SQL> create diskgroup FLASH_DISK external redundancy disk


'/dev/oracleasm/disks/ASMDISK1' name flashdisk;


Diskgroup created.


SQL> create diskgroup ARCH_DISK external redundancy disk


'/dev/oracleasm/disks/ASMDISK2' name archdisk1;


Diskgroup created.


SQL> create diskgroup DATA_DISK normal redundancy disk


'/dev/oracleasm/disks/ASMDISK4' name datadisk1, '/dev/oracleasm/disks/ASMDISK5'


name datadisk2;


Diskgroup created.



2


)查看磁盘组 状态



SQL> select name,state from v$$asm_diskgroup;


NAME STATE

杂货-扭


杂货-扭


杂货-扭


杂货-扭


杂货-扭


杂货-扭


杂货-扭


杂货-扭



本文更新与2021-01-28 13:00,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/579568.html

asm维护手册的相关文章