Linux下為ASM增加空間

eymit發表於2012-02-03

Linux下為ASM增加空間

環境:

作業系統centos 5

資料庫版本:11gr2

背景

ASM空間不夠,需要為ASM增加磁碟空間,下面提到兩種方法,每一種方法為直接增加原LV的大小,第二種方式為建立一個新的LV,再把這個LV新增到現有的diskgroup中

方法一:擴充套件原LV大小
1.檢視ASM disk情況

我們看到空閒空間已經不多
SQL> select name,path,os_mb,free_mb from v$asm_disk;
 
NAME      PATH                                   OS_MB    FREE_MB
------ ----------------------------- ------- --------
VOL3      /dev/mapper/VolGroup00-asmdata3        51200       2809
VOL2      /dev/mapper/VolGroup00-asmdata2        51200       2816
VOL1      /dev/mapper/VolGroup00-asmdata1       102400       5606
 
SQL>
1.   檢視磁碟空間情況,
看是否還有空閒空間,如果有空間把空間劃分出來,如果沒有空間就要考慮加物理磁碟
[root@svr188 ~]# vgdisplay
  -- Volume group --
  VG Name               VolGroup00
  System ID            
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  12
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                9
  Open LV               9
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               546.50 GB
  PE Size               32.00 MB
  Total PE              17488
  Alloc PE / Size       14816 / 463.00 GB
  Free  PE / Size       2672 / 83.50 GB
  VG UUID               AB1XBO-ensN-7dKS-i18y-cPZD-4FCf-2cMcMx
  
3.擴充套件原有lv大小
上面看到我們還有83G的空閒空間,本次增加30G空間到原來LV,增加LV物理大小後ASM並不會立即使用,需要使用執行ASM命令定義磁碟的大小
[root@svr188 ~]# lvextend -L +30G /dev/mapper/VolGroup00-asmdata3
  Extending logical volume asmdata3 to 80.00 GB
  Logical volume asmdata3 successfully resized
SQL> select name,path,os_mb,free_mb from v$asm_disk;
 
NAME       PATH                                    OS_MB    FREE_MB
------- ------------------------------ ------- --------
VOL3       /dev/mapper/VolGroup00-asmdata3         81920       2809
VOL2       /dev/mapper/VolGroup00-asmdata2         51200       2816
VOL1       /dev/mapper/VolGroup00-asmdata1        102400       5606
 
SQL>
4.在ASM中重新定義邏輯卷的大小
注意11g中新增了一個角色sysasm,oracle的目的是把ASM和資料庫分開管理,所有和ASM操作相關的語句都需要使用sysasm角色登陸
[grid@svr188 ~]$ sqlplus "/as sysasm"
SQL*Plus: Release 11.2.0.2.0 Production on Wed Aug 31 18:18:01 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Automatic Storage Management option
SQL>  ALTER DISKGROUP DISKGROUP1 RESIZE DISK VOL3 SIZE 80g;
Diskgroup altered.
SQL>
執行上面操作後在oracle使用者下面登陸資料庫檢視當前的ASM情況,可以看到空間已經加上去了
SQL> select name,path,os_mb,free_mb,t.TOTAL_MB from v$asm_disk t;
 
NAME     PATH                            OS_MB    FREE_MB   TOTAL_MB
----- ------------------------- ------- ------ --------
VOL3     /dev/mapper/VolGroup00-asmdata3    81920    32596    81920
VOL2     /dev/mapper/VolGroup00-asmdata2    51200    4677     51200
VOL1     /dev/mapper/VolGroup00-asmdata1    102400   9336     102400
 
SQL>
方法二:建立一個新的LV
1.建立一個LV,並賦權給grid使用者
新增一個LV
[root@svr188 ~]# lvcreate -L +50g -n asmdata4 VolGroup00
  Logical volume "asmdata4" created
檢視LV位置
[root@svr188 ~]# ls -lrt  /dev/mapper/
brw-rw---- 1 root disk 253,  9 Aug 31 18:03 VolGroup00-asmdata4
brwxrwxr-x 1 grid dba  253,  8 Aug 31 18:03 VolGroup00-asmdata3
brwxrwxr-x 1 grid dba  253,  7 Aug 31 18:03 VolGroup00-asmdata2
brwxrwxr-x 1 grid dba  253,  6 Aug 31 18:03 VolGroup00-asmdata1
把這個lv的許可權給grid使用者
[root@svr188 ~]# chown  grid.dba /dev/mapper/VolGroup00-asmdata4
[root@svr188 ~]# ls -lrt  /dev/mapper/
brw-rw---- 1 grid dba  253,  9 Aug 31 18:03 VolGroup00-asmdata4
brwxrwxr-x 1 grid dba  253,  8 Aug 31 18:05 VolGroup00-asmdata3
brwxrwxr-x 1 grid dba  253,  6 Aug 31 18:06 VolGroup00-asmdata1
brwxrwxr-x 1 grid dba  253,  7 Aug 31 18:06 VolGroup00-asmdata2
2.使用asmlib建立硬碟對映
[root@svr188 ~]# /usr/sbin/oracleasm createdisk VOL4 /dev/mapper/VolGroup00-asmdata4
Writing disk header: done
Instantiating disk: done
[root@svr188 ~]# /usr/sbin/oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
[root@svr188 ~]# /usr/sbin/oracleasm listdisks
VOL4
[root@svr188 ~]#
3.檢視磁碟情況
SQL> select name,path,os_mb,free_mb from v$asm_disk;
 
NAME       PATH                                      OS_MB    FREE_MB
------- -------------------------------- ------- --------
VOL3       /dev/mapper/VolGroup00-asmdata3           81920       2809
VOL2       /dev/mapper/VolGroup00-asmdata2           51200       2816
VOL1       /dev/mapper/VolGroup00-asmdata1          102400       5606
           /dev/mapper/VolGroup00-asmdata4           51200          0
           ORCL:VOL4                                 51200          0
 
SQL>
4.在ASM中重新定義邏輯卷的大小
注意11g中新增了一個角色sysasm,oracle的目的是把ASM和資料庫分開管理,所有和ASM操作相關的語句都需要使用sysasm角色登陸
[grid@svr188 ~]$ sqlplus "/as sysasm"
SQL*Plus: Release 11.2.0.2.0 Production on Wed Aug 31 18:18:01 2011
Copyright (c) 1982, 2010, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
With the Automatic Storage Management option
SQL> ALTER DISKGROUP DISKGROUP1 ADD DISK  'ORCL:VOL4';
Diskgroup altered.
SQL>
執行上面操作後在oracle使用者下面登陸資料庫檢視當前的ASM情況,可以看到空間已經加上去了
SQL>  select name,path,os_mb,free_mb from v$asm_disk;
 
NAME   PATH                               OS_MB    FREE_MB
---- --------------------------- ----- -------
VOL3   /dev/mapper/VolGroup00-asmdata3    81920      26616
VOL2   /dev/mapper/VolGroup00-asmdata2    51200      16631
VOL1   /dev/mapper/VolGroup00-asmdata1   102400      33268
VOL4   ORCL:VOL4                          51200      16634
       /dev/mapper/VolGroup00-asmdata4    51200          0
 
SQL>

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21605631/viewspace-715556/,如需轉載,請註明出處,否則將追究法律責任。

相關文章