• 扩容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不重启识别硬盘

  • 相关阅读:
    Camunda工作流引擎简记
    卸载Gitlab,导入新的备份
    hive Execution
    刚开始学SpringCloud的Eureka带来的问题
    如何在centos安装python3.8.8?详细教程
    Yarn的状态机框架分析
    .NET中委托性能的演变
    C语言练习题(递归)
    【MYSQL】-【子查询】
    泥环算法 (MRA)附matlab代码
  • 原文地址:https://blog.csdn.net/YABIGNSHI/article/details/127120652