0
点赞
收藏
分享

微信扫一扫

ASM添加磁盘-ASMLIB

爪哇驿站 2022-01-06 阅读 28
oracle

rdbms 11.2.0.3 (手头的测试环境)

-- 本次模拟添加磁盘操作中,数据库是关闭状态的 。
-- 检查节点中的裸设备,检查已有的磁盘

/etc/init.d/oracleasm listdisks 

-- 初始化裸设备

dd if=/dev/zero of=/dev/sdb1 bs=1024000K count=10 

-- 在host01上创建asm磁盘 

/etc/init.d/oracleasm createdisk ASMDISK1 /dev/sdb1 

-- 在host01上scan disk

/etc/init.d/oracleasm scandisks 
/etc/init.d/oracleasm listdisks 

--在host02上scan disk

/etc/init.d/oracleasm scandisks 
/etc/init.d/oracleasm listdisks 

-- 查看磁盘组信息

SYS@+ASM1>select group_number,name from v$asm_diskgroup;

GROUP_NUMBER NAME
------------ ------------------------------
           0 FRA
           1 DATA
           2 OCR

SYS@+ASM1>

SYS@+ASM1>select name from v$asm_disk where group_number=1;

NAME
------------------------------
DATA_0003
DATA_0002
DATA_0001
DATA_0000

SYS@+ASM1>

-- 查看原来磁盘的大小

SYS@+ASM1>col name for a10 
SYS@+ASM1>col state for a10
SYS@+ASM1>col path for a30
SYS@+ASM1>select os_mb ,name,state,path from v$asm_disk where group_number=1;

     OS_MB NAME       STATE      PATH
---------- ---------- ---------- ------------------------------
      2447 DATA_0003  NORMAL     /dev/oracleasm/disks/ASMDISK9
      2447 DATA_0002  NORMAL     /dev/oracleasm/disks/ASMDISK8
      2447 DATA_0001  NORMAL     /dev/oracleasm/disks/ASMDISK7
      2447 DATA_0000  NORMAL     /dev/oracleasm/disks/ASMDISK5

SYS@+ASM1>

-- 查看asm磁盘在OS上的物理路径

[root@host01 disks]# ls -al
total 0
drwxr-xr-x 1 root root         0 Jan  6 12:08 .
drwxr-xr-x 4 root root         0 Jan  6 11:25 ..
brw-rw---- 1 grid asmadmin 8, 17 Jan  6 12:09 ASMADD01
brw-rw---- 1 grid asmadmin 8, 33 Jan  6 12:09 ASMADD02
brw-rw---- 1 grid asmadmin 8, 49 Jan  6 12:58 ASMDISK1
brw-rw---- 1 grid asmadmin 8, 59 Jan  6 11:25 ASMDISK10
brw-rw---- 1 grid asmadmin 8, 60 Jan  6 11:25 ASMDISK11
brw-rw---- 1 grid asmadmin 8, 61 Jan  6 11:25 ASMDISK12
brw-rw---- 1 grid asmadmin 8, 62 Jan  6 11:25 ASMDISK13
brw-rw---- 1 grid asmadmin 8, 63 Jan  6 11:25 ASMDISK14
brw-rw---- 1 grid asmadmin 8, 50 Jan  6 12:58 ASMDISK2
brw-rw---- 1 grid asmadmin 8, 51 Jan  6 12:58 ASMDISK3
brw-rw---- 1 grid asmadmin 8, 53 Jan  6 11:30 ASMDISK4
brw-rw---- 1 grid asmadmin 8, 54 Jan  6 11:30 ASMDISK5
brw-rw---- 1 grid asmadmin 8, 55 Jan  6 11:25 ASMDISK6
brw-rw---- 1 grid asmadmin 8, 56 Jan  6 11:25 ASMDISK7
brw-rw---- 1 grid asmadmin 8, 57 Jan  6 11:30 ASMDISK8
brw-rw---- 1 grid asmadmin 8, 58 Jan  6 11:30 ASMDISK9
[root@host01 disks]# pwd
/dev/oracleasm/disks
[root@host01 disks]# 

-- DATA是normal的,每个磁盘大小是2447MB ,在虚拟机中中添加2块磁盘,模拟添加磁盘
-- 新加的盘,OS上看到的是sdb,sdc ,2898MB 
-- 格式化磁盘sdb、sdc后,创建磁盘ASMADD01,ASMADD02 

/etc/init.d/oracleasm createdisk ASMADD01 /dev/sdb1
/etc/init.d/oracleasm createdisk ASMADD02 /dev/sdc1

[root@host01 ~]# /etc/init.d/oracleasm createdisk ASMADD01 /dev/sdb1
Marking disk "ASMADD01" as an ASM disk:                    [  OK  ]
[root@host01 ~]# /etc/init.d/oracleasm createdisk ASMADD02 /dev/sdc1
Marking disk "ASMADD02" as an ASM disk:                    [  OK  ]
[root@host01 ~]# 

-- 添加后扫描 (两个节点上都可以到新添加的磁盘),也可以在ASMCA上看到新磁盘

[root@host01 ~]# /etc/init.d/oracleasm scandisks 
Scanning the system for Oracle ASMLib disks:               [  OK  ]
[root@host01 ~]# /etc/init.d/oracleasm listdisks 
ASMADD01
ASMADD02
ASMDISK1
ASMDISK10
ASMDISK11
ASMDISK12
ASMDISK13
ASMDISK14
ASMDISK2
ASMDISK3
ASMDISK4
ASMDISK5
ASMDISK6
ASMDISK7
ASMDISK8
ASMDISK9
[root@host01 ~]# 

[root@host02 ~]# /etc/init.d/oracleasm scandisks 
Scanning the system for Oracle ASMLib disks:               [  OK  ]
[root@host02 ~]# /etc/init.d/oracleasm listdisks 
ASMADD01
ASMADD02
ASMDISK1
ASMDISK10
ASMDISK11
ASMDISK12
ASMDISK13
ASMDISK14
ASMDISK2
ASMDISK3
ASMDISK4
ASMDISK5
ASMDISK6
ASMDISK7
ASMDISK8
ASMDISK9
[root@host02 ~]# 

-- 命令行添加磁盘 ,报ORA错误,主要是因为使用dba登录进去的,要使用sysasm登陆进去

Alter diskgroup data add disk '/dev/oracleasm/disks/ASMADD01','/dev/oracleasm/disks/ASMADD02' size 2447M rebalance power 10;

SYS@+ASM1>Alter diskgroup data add disk '/dev/oracleasm/disks/ASMADD01','/dev/oracleasm/disks/ASMADD02' size 2447M rebalance power 10;
Alter diskgroup data add disk '/dev/oracleasm/disks/ASMADD01','/dev/oracleasm/disks/ASMADD02' size 2447M rebalance power 10
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15260: permission denied on ASM disk group


SYS@+ASM1>

SYS@+ASM1>Alter diskgroup data add disk '/dev/oracleasm/disks/ASMADD01','/dev/oracleasm/disks/ASMADD02' size 2447M rebalance power 10;  -- 这里指定了大小,发现只有ASMADD02磁盘大小是2447,后面可以查询到 

Diskgroup altered.

SYS@+ASM1>

-- 查看平衡

[grid@host02 ~]$ asmcmd
ASMCMD> lsop
Group_Name  Dsk_Num  State  Power  
DATA        REBAL    WAIT   10     
ASMCMD> lsop
Group_Name  Dsk_Num  State  Power  
DATA        REBAL    WAIT   10     
ASMCMD> lsop DATA
Group_Name  Dsk_Num  State  Power  
DATA        REBAL    WAIT   10     
ASMCMD> 


SYS@+ASM1>set linesize 200
SYS@+ASM1>select * from v$asm_operation;

GROUP_NUMBER OPERA STATE           POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE EST_MINUTES ERROR_CODE
------------ ----- ---------- ---------- ---------- ---------- ---------- ---------- ----------- --------------------------------------------
           1 REBAL RUN                10         10       1685       2193       1071           0

SYS@+ASM1>

SYS@+ASM1>/

GROUP_NUMBER OPERA STATE           POWER     ACTUAL      SOFAR   EST_WORK   EST_RATE EST_MINUTES ERROR_CODE
------------ ----- ---------- ---------- ---------- ---------- ---------- ---------- ----------- --------------------------------------------
           1 REBAL RUN                10         10       2194       2207        985           0

SYS@+ASM1>/

no rows selected

SYS@+ASM1>/

no rows selected

SYS@+ASM1>

-- 查看添加后的磁盘

SYS@+ASM1>select os_mb ,name,state,path from v$asm_disk where group_number=1;   -- 注意这里的OS_MB 显示的是OS层面的大小

     OS_MB NAME       STATE      PATH
---------- ---------- ---------- ------------------------------
      2761 DATA_0005  NORMAL     /dev/oracleasm/disks/ASMADD02
      2761 DATA_0004  NORMAL     /dev/oracleasm/disks/ASMADD01
      2447 DATA_0003  NORMAL     /dev/oracleasm/disks/ASMDISK9
      2447 DATA_0002  NORMAL     /dev/oracleasm/disks/ASMDISK8
      2447 DATA_0001  NORMAL     /dev/oracleasm/disks/ASMDISK7
      2447 DATA_0000  NORMAL     /dev/oracleasm/disks/ASMDISK5

6 rows selected.

SYS@+ASM1>

SYS@+ASM1>select total_mb,name,state,path from v$asm_disk where group_number=1;  -- 注意这里的total_mb ,显示的是ASM层面的大小

  TOTAL_MB NAME       STATE      PATH
---------- ---------- ---------- ------------------------------
      2447 DATA_0005  NORMAL     /dev/oracleasm/disks/ASMADD02
      2761 DATA_0004  NORMAL     /dev/oracleasm/disks/ASMADD01
      2447 DATA_0003  NORMAL     /dev/oracleasm/disks/ASMDISK9
      2447 DATA_0002  NORMAL     /dev/oracleasm/disks/ASMDISK8
      2447 DATA_0001  NORMAL     /dev/oracleasm/disks/ASMDISK7
      2447 DATA_0000  NORMAL     /dev/oracleasm/disks/ASMDISK5

6 rows selected.

-- 不指定大小,添加磁盘 ,可以添加磁盘 

Alter diskgroup data add disk '/dev/oracleasm/disks/ASMADD01','/dev/oracleasm/disks/ASMADD02'  rebalance power 10;
SYS@+ASM1>select total_mb,name,state,path from v$asm_disk where group_number=1;

  TOTAL_MB NAME       STATE      PATH
---------- ---------- ---------- ------------------------------
      2761 DATA_0005  NORMAL     /dev/oracleasm/disks/ASMADD02
      2761 DATA_0004  NORMAL     /dev/oracleasm/disks/ASMADD01
      2447 DATA_0003  NORMAL     /dev/oracleasm/disks/ASMDISK9
      2447 DATA_0002  NORMAL     /dev/oracleasm/disks/ASMDISK8
      2447 DATA_0001  NORMAL     /dev/oracleasm/disks/ASMDISK7
      2447 DATA_0000  NORMAL     /dev/oracleasm/disks/ASMDISK5

6 rows selected.

SYS@+ASM1>

-- 补充 oracleasm的命令

[root@host02 ~]# oracleasm
Usage: oracleasm [--exec-path=<exec_path>] <command> [ <args> ]
       oracleasm --exec-path
       oracleasm -h
       oracleasm -V

The basic oracleasm commands are:
    configure        Configure the Oracle Linux ASMLib driver
    init             Load and initialize the ASMLib driver
    exit             Stop the ASMLib driver
    scandisks        Scan the system for Oracle ASMLib disks
    status           Display the status of the Oracle ASMLib driver
    listdisks        List known Oracle ASMLib disks
    querydisk        Determine if a disk belongs to Oracle ASMlib
    createdisk       Allocate a device for Oracle ASMLib use
    deletedisk       Return a device to the operating system
    renamedisk       Change the label of an Oracle ASMlib disk
    update-driver    Download the latest ASMLib driver
[root@host02 ~]# 

END

举报

相关推荐

0 条评论