ORACLE 11G asm 管理
2013-05-16 21:27
411 查看
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;
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;
相关文章推荐
- oracle 11g ASM 的管理用户 asm shutdown immediate ORA-01031: insufficient privileges
- Oracle管理监控之为11g asm磁盘组添加磁盘
- Oracle 11G RAC For ASM 利用RMAN COPY进行存储迁移
- Oracle 11G R2 Install 1 ASMLib - 安装错误
- Oracle 11g 学习八:视图、用户管理、数据的导入导出和数据表的冷备份
- Oracle 11g笔记——表空间和数据文件的管理
- Oracle 11g Data Guard环境中的归档管理
- ORACLE 11g将数据库移动到不同的ASM磁盘组/修改ASM磁盘组的冗余属性
- Oracle 11g 新特性 -- ASM 增强 说明
- 在OEL6.1下安装ORACLE 11G R2和ASM(用grid安装包)[未曾亲自试过]
- Oracle ASM 日常管理
- Oracle 11G 单机asm安装
- [Oracle 11g r2(11.2.0.4.0)]集群守护进程CSS资源管理
- Oracle 11g 新特性之---Oracle 内存自动管理
- Oracle 11g ASM Diskgroup Compatibility
- 连接 Oracle 11G R2 ASM实例
- Oracle ASMLib---自动管理
- Oracle 10g RAC (linux) ASM 共享存储的管理详解
- 点评Oracle 11g新特性之执行计划管理
- oracle 11g 最常用的基本管理命令,包括创建用户、表空间、权限等