• 扩容ASM共享存储


    一 问题描述

    由于归档日志占用了较大空间,共享存储磁盘空间不足,因此需要对共享存储进行扩容。

    二 实验步骤

    2.1 查看下目前磁盘组使用情况

    #查看下目前磁盘组大小,可用空间,方便后面扩容后进行比对

    select group_number,name,total_mb,free_mb from v$asm_diskgroup;

     

    2.2 添加共享盘

    --这里演示用virtualbox模拟添加共享磁盘,然后进行扩容,详细步骤可以参考

    virtualbox里怎样实现共享存储_雅冰石的博客-CSDN博客_virtualbox 共享磁盘

    这里添加了一块儿5G的盘/dev/sdd。

    生产环境添加共享盘需要运维同事添加磁盘。

    2.3 对新加的磁盘进行分区

    在其中一个节点上执行(这里在rac1上执行):

    fdisk -l

    先看下新增了哪个磁盘,这里是新增了sdd

    1. [root@rac1 ~]# fdisk /dev/sdd
    2. Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
    3. Building a new DOS disklabel with disk identifier 0xa7799732.
    4. Changes will remain in memory only, until you decide to write them.
    5. After that, of course, the previous content won't be recoverable.
    6. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
    7. WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
    8.          switch off the mode (command 'c') and change display units to
    9.          sectors (command 'u').
    10. Command (m for help): n
    11. Command action
    12.    e   extended
    13.    p   primary partition (1-4)
    14. p
    15. Partition number (1-4): 1
    16. First cylinder (1-1305, default 1):
    17. Using default value 1
    18. Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305):
    19. Using default value 1305
    20. Command (m for help): t
    21. Selected partition 1
    22. Hex code (type L to list codes): 8e
    23. Changed system type of partition 1 to 8e (Linux LVM)
    24. Command (m for help): p
    25. Disk /dev/sdd: 10.7 GB, 10737418240 bytes
    26. 255 heads, 63 sectors/track, 1305 cylinders
    27. Units = cylinders of 16065 * 512 = 8225280 bytes
    28. Sector size (logical/physical): 512 bytes / 512 bytes
    29. I/O size (minimum/optimal): 512 bytes / 512 bytes
    30. Disk identifier: 0xa7799732
    31.    Device Boot      Start         End      Blocks   Id  System
    32. /dev/sdd1               1        1305    10482381   8e  Linux LVM
    33. Command (m for help): w
    34. The partition table has been altered!
    35. Calling ioctl() to re-read partition table.
    36. Syncing disks.

    在另一个节点上也能看到分区后的共享盘了:

     2.4 创建asm磁盘

    /*

    创建之前先进数据库里查询下现有asm磁盘,避免建重复了,示例:

    SQL> select GROUP_NUMBER,name from v$asm_disk;

    GROUP_NUMBER NAME

    ------------ ------------------------------

       1 DATA_0000

    */

    #在rac1上执行

    oracleasm createdisk DATA_0001 /dev/sdd1

    #在其他节点上识别下刚建的asm磁盘

    [root@rac2 opt]# oracleasm scandisks

    Reloading disk partitions: done

    Cleaning any stale ASM disks...

    Scanning system for ASM disks...

    Instantiating disk "DATA_0001"

    [root@rac2 opt]# oracleasm listdisks

    DATA

    DATA_0001

    2.5 查询已新创建的ASM磁盘信息

    su - grid

    sqlplus / as sysasm

    SELECT     NVL(a.name, '[CANDIDATE]')      disk_group_name     , b.path                          disk_file_path     , b.name                          disk_file_name     , b.failgroup                     disk_file_fail_group FROM  v$asm_diskgroup a RIGHT OUTER JOIN v$asm_disk b USING (group_number)ORDER BY a.name;

     可以看到DATA_0001的disk_group目前是CANDIDATE状态,我们需要将其加入到DATA磁盘组里。

    2.6 将新建的磁盘添加到磁盘组

    ALTER DISKGROUP 磁盘组名称 ADD DISK '磁盘文件路径/磁盘名';

    /*

    磁盘组这样查,示例:

    SQL> select name from v$asm_diskgroup;

    NAME

    ------------------------------

    DATA

    */

    示例:

    ALTER DISKGROUP DATA ADD DISK '/dev/oracleasm/disks/DATA_0001';

    注意,这里一定要在磁盘名前指定磁盘路径,否则执行命令的时候会报错:

    ORA-15031: disk specification 'DATA_0001' matches no disks

    示例:

     2.7 验证

    2.7.1 验证磁盘新建是否成功

    SQL> select name from v$asm_disk;

    NAME

    ------------------------------------------------------------

    DATA_0000

    DATA_0001

    2.7.2 查看下磁盘组的空间是否扩容成功

    select group_number,name,total_mb,free_mb from v$asm_diskgroup;

     

    --本篇文章主要参考了

    百度安全验证

    --udev方式的可以参考这篇文章扩容(还没验证,有时间了可以验验):

    Linux不重启识别新挂载磁盘_Linux小百科的博客-CSDN博客_linux不重启识别硬盘

  • 相关阅读:
    UVA 1152 和为 0 的 4 个值 4 Values whose Sum is 0
    42.【Java 基础之数组】
    如何实现企业软件的“超级 App 化”?
    大数据热点城市波动图案例【CSS3实现 + 原理分析 + 源码获取】
    tomcat修改默认端口详细步骤(包含运行测试)
    Linux学习记录——삼 基本指令(3)及了解权限
    Random频率太快,产生的随机数相同
    MySQL增删改查进阶 — 表的设计
    linux系统安全及应用【上】
    三菱FX3U——ST编程点动与自锁
  • 原文地址:https://blog.csdn.net/YABIGNSHI/article/details/127120652