zoukankan      html  css  js  c++  java
  • 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;

  • 相关阅读:
    Zookeeper 3.4 官方文档翻译
    西门子PLC学习笔记六-(Step7指令简单介绍)
    Leetcode[129]-Sum Root to Leaf Numbers
    一个Exchange 2010 的password不定期弹框的问题处理,希望对大家可以有所帮助。
    数据库分表和分库的原理及基于thinkPHP的实现方法
    电力企业信息化建设方案之调度信息报送系统
    自己定义控件三部曲视图篇(一)——測量与布局
    VS自己定义project向导开发(Custom Wizard)
    Android ROM开发(二)——ROM架构以及Updater-Script脚本分析,常见的Status错误解决的方法
    ALM11需求和测试覆盖率图解1
  • 原文地址:https://www.cnblogs.com/weixun/p/3082688.html
Copyright © 2011-2022 走看看