ORACLE 11G asm 管理

 

oracle 11g asm相对于oralce 10g asm有以下几个方面的加强:

1 支持rac的voting盘和crs盘放置于asm空间中,不需要安装在裸设备上。

2 新的文件系统ACFS

3 可以划分diskgroup的AU大小

一、ASM 存储准备

1 ASM discover disk 准备

ASM discover disk 可以由 disk partition、lun、logical volume、NFS提供,本文由本地disk partition提供:

Disk /dev/sdb: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 3916 31455238+ 5 Extended
/dev/sdb5 1 609 4891729+ 83 Linux
/dev/sdb6 610 1218 4891761 83 Linux
/dev/sdb7 1219 1827 4891761 83 Linux
/dev/sdb8 1828 2436 4891761 83 Linux
/dev/sdb9 2437 3045 4891761 83 Linux
/dev/sdb10 3046 3654 4891761 83 Linux
/dev/sdb11 3655 3916 2104483+ 83 Linux

变更 asm discover disk 的权限

chown grid:asmadmin /dev/sdb*

创建DISK GROUP的时候,分区状态应该为candidate状态才能使用。

二 disk group管理

1 创建diskgroup

创建external disk group

SQL> create diskgroup data01 external redundancy disk '/dev/sdb6' attribute 'au_size'='4M';

Diskgroup created.

查看状态

select group_number,name,BLOCK_SIZE,ALLOCATION_UNIT_SIZE,STATE,type from v$asm_diskgroup
2 ;

GROUP_NUMBER NAME BLOCK_SIZE ALLOCATION_UNIT_SIZE
------------ ------------------------------ ---------- --------------------
STATE TYPE
----------- ------
1 DATA 4096 1048576
MOUNTED EXTERN

2 DATA01 4096 4194304
MOUNTED EXTERN

创建normal disk group

SQL> create diskgroup data02 normal redundancy failgroup controller1 disk '/dev/sdb7' failgroup controller2 disk '/dev/sdb8' attribute 'au_size'='4M';

Diskgroup created.

正常情况下,将disk的宿主控制器分开,达到冗余的目的。

查看状态

SQL> select group_number,name,BLOCK_SIZE,ALLOCATION_UNIT_SIZE,STATE,type from v$asm_diskgroup;

GROUP_NUMBER NAME BLOCK_SIZE ALLOCATION_UNIT_SIZE
------------ ------------------------------ ---------- --------------------
STATE TYPE
----------- ------
1 DATA 4096 1048576
MOUNTED EXTERN

2 DATA01 4096 4194304
MOUNTED EXTERN

3 DATA02 4096 4194304
MOUNTED NORMAL

2 diskgroup 添加 disk

external diskgroup 添加

SQL> alter diskgroup data01 add disk '/dev/sdb9' rebalance power 5;

Diskgroup altered.

normal diskgroup 添加

SQL> alter diskgroup data02 add failgroup controller1 disk '/dev/sdb10';

Diskgroup altered.

查看状态

select name,header_status,mount_status,total_mb,failgroup,path from v$asm_disk;

NAME HEADER_STATUS MOUNT_STATUS TOTAL_MB FAILGROUP PATH

CANDIDATE CLOSED 0 /dev/sdb
CANDIDATE CLOSED 0 /dev/sdb11
DATA02_0002 MEMBER CACHED 4776 CONTROLLER1 /dev/sdb10
DATA01_0000 MEMBER CACHED 4776 DATA01_0000 /dev/sdb6
DATA02_0000 MEMBER CACHED 4776 CONTROLLER1 /dev/sdb7
DATA02_0001 MEMBER CACHED 4776 CONTROLLER2 /dev/sdb8
DATA_0000 MEMBER CACHED 4777 DATA_0000 /dev/sdb5
DATA01_0001 MEMBER CACHED 4776 DATA01_0001 /dev/sdb9

select name,state,type,total_mb,free_mb,usable_file_mb,offline_disks from v$asm_diskgroup;

NAME STATE TYPE TOTAL_MB FREE_MB USABLE_FILE_MB OFFLINE_DISKS

DATA MOUNTED EXTERN 4777 4718 4718 0
DATA01 MOUNTED EXTERN 9552 9472 9472 0
DATA02 MOUNTED NORMAL 14328 14176 4700 0
查看到data02 diskgroup空闲空间还是只能使用5g,必须将controller2也进行添加硬盘。

SQL> alter diskgroup data02 add failgroup controller2 disk '/dev/sdb9';

Diskgroup altered.

select name,state,type,total_mb,free_mb,usable_file_mb,offline_disks from v$asm_diskgroup;
NAME STATE TYPE TOTAL_MB FREE_MB USABLE_FILE_MB OFFLINE_DISKS

DATA MOUNTED EXTERN 4777 4718 4718 0
DATA01 MOUNTED EXTERN 4776 4704 4704 0
DATA02 MOUNTED NORMAL 19104 18944 7084 0
可用空间达到8g。

3 diskgroup 删除 disk

SQL> alter diskgroup data02 drop disk data02_0001;

Diskgroup altered.

SQL> alter diskgroup data02 drop disk data02_0002;

Diskgroup altered.

每一个failgroup必须有一个disk,是不能删除的

SQL> alter diskgroup data02 drop disk data02_0010;
alter diskgroup data02 drop disk data02_0010
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15054: disk "DATA02_0010" does not exist in diskgroup "DATA02"

ASM相关管理视图
v$ASM_ALIAS
:每个disk group的列的别名
V$ASM_ATTRIBUTE
:显示每一列属性定义
v$ASM_CLIENT
ASM实例
V$ASM_DISK
:显示DISK属性
V$ASM_DISK_IOSTAT
:显示DISK IO操作统计
V$ASM_DISK_STAT
:与v$ASM_DISK显示一样,但是基于性能考虑不进行扫描硬盘操作
V$ASM_DISKGROUP
:显示ASM DISKGROUP信息
V$ASM_FILE
:显示基于ASM存储的文件信息
VASM_OPERATION
:查看基于ASM大型运行操作信息

查看DISKGROUP属性:

SELECT dg.name AS diskgroup, SUBSTR(a.name,1,18) AS name,SUBSTR(a.value,1,24) AS value, read_only FROM V$ASM_DISKGROUP dg,V$ASM_ATTRIBUTE a WHERE dg.name = 'DATA' AND dg.group_number = a.group_number;

查看DISKGROUP的兼容性

SELECT name AS diskgroup, compatibility AS asm_compat,database_compatibility AS db_compat FROM V$ASM_DISKGROUP;

DISKGROUP
------------------------------
ASM_COMPAT
------------------------------------------------------------
DB_COMPAT
------------------------------------------------------------
DATA
11.2.0.0.0
10.1.0.0.0

DATA01
10.1.0.0.0
10.1.0.0.0

查看连接DISKGROUP INSTANCE信息
SELECT dg.name AS diskgroup, SUBSTR(c.instance_name,1,12) AS instance,SUBSTR(c.db_name,1,12) AS dbname, SUBSTR(c.SOFTWARE_VERSION,1,12) AS software,SUBSTR(c.COMPATIBLE_VERSION,1,12) AS compatible FROM V$ASM_DISKGROUP dg, V$ASM_CLIENT c WHERE dg.group_number = c.group_number;
监控ASM使用率
SET LINESIZE 145
SET PAGESIZE 9999
SET VERIFY off
COLUMN group_name FORMAT a20 HEAD 'Disk Group|Name'
COLUMN sector_size FORMAT 99,999 HEAD 'Sector|Size'
COLUMN block_size FORMAT 99,999 HEAD 'Block|Size'
COLUMN allocation_unit_size FORMAT 999,999,999 HEAD 'Allocation|Unit Size'
COLUMN state FORMAT a11 HEAD 'State'
COLUMN type FORMAT a6 HEAD 'Type'
COLUMN total_mb FORMAT 999,999,999 HEAD 'Total Size (MB)'
COLUMN used_mb FORMAT 999,999,999 HEAD 'Used Size (MB)'
COLUMN pct_used FORMAT 999.99 HEAD 'Pct. Used'

break on report on disk_group_name skip 1
compute sum label "Grand Total: " of total_mb used_mb on report
SELECT
name group_name
, sector_size sector_size
, block_size block_size
, allocation_unit_size allocation_unit_size
, state state
, type type
, total_mb total_mb
, (total_mb - free_mb) used_mb
, ROUND((1- (free_mb / total_mb))*100, 2) pct_used
FROM
v$asm_diskgroup
ORDER BY
name
查看ASM硬盘信息
column PATh format a10
column FAILGROUP a10
set linesize 128
column name format a10
select group_number, disk_number, name, mount_status, header_status,
mode_status, state, path, failgroup, mount_date, total_mb, free_mb
from v$asm_disk order by group_number, disk_number;

查看diskgroup空间大小,以及ASM状态
select name, total_mb, free_mb, usable_file_mb, state
from v$asm_diskgroup
查看现行的操作
select * from v$asm_operation;

原文地址:https://www.cnblogs.com/weixun/p/3082688.html