Oracle ASM存储组件管理
ASM实例其实是和oracle实例类似的,都是有SGA和一系列后台进程组成。
ASM实例本身也是一个oracle实例,区别在于,oracle db实例管理的是db数据库,而asm实例只管理asm磁盘。
一、asm的存储组件
1、ASM Disk(磁盘)
An Oracle ASM disk is a storage device that is provisioned to an Oracle ASM disk group. An Oracle ASM disk can be a physical disk or partition, a Logical Unit Number (LUN) from a storage array, a logical volume, or a network-attached file.
Oracle ASM disks can be added or dropped from a disk group while the database is running. When you add a disk to a disk group, you either assign a disk name or the disk is given an Oracle ASM disk matically.
Oracle ASM磁盘是配置给Oracle ASM的存储设备磁盘组。Oracle ASM磁盘可以是物理磁盘或分区,也可以是逻辑磁盘存储阵列、逻辑卷或网络中的单元号(LUN)-附件。
可以从磁盘组添加或删除Oracle ASM磁盘,而数据库正在运行。将磁盘添加到磁盘组时,可以指定磁盘名或该磁盘被赋予Oracle ASM磁盘是的。
2、ASM Disk Group(磁盘组)
An Oracle ASM disk group is a collection of Oracle ASM disks managed as a logical unit. The data structures in a disk group are self-contained and consume some disk space in a disk group.
Within disk group, Oracle ASM exposes a file system interface for Oracle database files. The content of files that are stored in a disk group are evenly distributed, or striped, to eliminate hot spots and to provide uniform performance across the disks. The performance is comparable to the performance of raw devices.
Oracle ASM磁盘组是Oracle ASM磁盘的集合,作为逻辑单元。磁盘组中的数据结构是自包含的,并且消耗磁盘组中的一些磁盘空间。
在磁盘组中,Oracle ASM为Oracle公开了一个文件系统接口数据库文件。
存储在磁盘组中的文件的内容是均匀的分布的或条纹的,以消除热点并提供统一的跨磁盘的性能。其性能可与原始设备的性能。
3、ASM file(文件)
4、ASM Extent(区)
5、ASM Allocate Unit(分配单元)
二、ASM实例
三、ASM实例的启动
四、ASM实例的关闭
五、ASM磁盘管理
1、有3种管理方式:
SQL*PLUS EM(Enterprise Mnager) ASMCA
2、格式化磁盘(使用asmlib绑定磁盘可以使用下述命令;如果使用udev绑定,则直接查看ls /dev/asm*即可)
(1)对新增磁盘进行分区
fdisk /dev/sdd fdisk /dev/sde fdisk /dev/sdf fdisk /dev/sdg
(2)列出当前的磁盘组
/etc/init.d/oracleasm listdisks
(3)创建新的asm磁盘
/etc/init.d/oracleasm createdisk dgdata02_d /dev/sdd1 /etc/init.d/oracleasm createdisk dgdata02_e /dev/sde1 /etc/init.d/oracleasm createdisk dgdata02_f /dev/sdf1 /etc/init.d/oracleasm createdisk dgdata02_g /dev/sdg1
3、磁盘组操作1—创建:
(1)create 磁盘组
普通冗余(normal):每个磁盘组有2个故障组 高 冗 余( high ):每个磁盘组有3个故障组。
SQL>create diskgroup dgdata02 normal redundancy
failgroup controller1 'ORCL:dgdata02_d','ORCL:dgdata02_e'
failgroup controller2 'ORCL:dgdata02_f','ORCL:dgdata02_g';
在我们的常规配置中不使用failgroup,默认的是一块磁盘就是一个failgroup
(2)查看磁盘组相关视图
SQL> v$asm_disk SQL> v$asm_diskgroup
4、磁盘组操作2—更改:alter
SQL>alter diskgroup dgdata02 mount;
5、磁盘组操作3—删除:drop
SQL>drop diskgroup dgdata02; SQL>drop diskgroup dgdata02 including contents;
6、磁盘组操作4—挂载:mount
SQL>alter diskgroup dgdata02 mount;
7、磁盘组操作5—卸载:dismount
SQL>alter diskgroup dgdata02 dismount;
8、ASM磁盘组管理图
六、ASMCMD命令行工具
1、ASMCMD的作用
asmcmd是一个命令行程序,可以管理Oracle的asm实例,磁盘组,磁盘组的文件访问控制,磁盘组中的文件和目录,磁盘组的临时文件以及卷。
可以在asmcmd命令行使用交互(interactive)或非交互模式(noninteractive)
2、ASMCMD命令分类
(1)实例管理命令
--最实用的:
spset:设置asm spfile的位置; spcopy:复制asm spfile; spbackup:备份asm spfile;
(2)文件管理命令
(3)磁盘组管理命令
七、ASMCMD环境下对象管理
1、表空间创建
两种方式:
(1)create tablespace test_tbsp datafile '+dgdata01'; (2)create tablespace test_tbsp;--这个默认的位置是在DB_CREATE_FILE_DEST=+dgdata01;
2、重做日志创建
SQL>alter database add logfile ('+dgdata01','+dgdata02'); --会创建2个成员。 SQL>alter database add logfile; --这个默认位置,需要设置db_create_online_log_dest_1=+dgdata01,db_create_online_log_dest_2=+dgdata02,
3、归档日志创建