Bootstrap

一次卸载ASM磁盘的操作日志

 

 

由于需要重建Stream,导出使用的是expdp,源库版本为10.2.0.1(目标库11.2.0.2),10gexpdpCOMPRESSION效果不好,导出来的dmp比较大,有450G左右,而本地磁盘空间不够只有400左右,查看ASM空间还有很多空闲空间,下面操作为从Oracle ASM中分出来一个100G左右的LUN给本地文件系统使用

 

 

1    操作环境

操作系统版本:AIX 6.1

数据库版本:Oracle 11.2.0.2 RAC

 

 

2    查看asm磁盘的大小

SQL> select t.name,t.GROUP_NUMBER,t.OS_MB,t.TOTAL_MB,t.FREE_MB,t.PATH from v$asm_disk t where path like '%arch%';

NAME               GROUP_NUMBER      OS_MB   TOTAL_MB    FREE_MB PATH

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

ARCHDG_0000              1     102400     102400     102374 /dev/archdisk1

ARCHDG_0001              1     102400     102400     102375 /dev/archdisk2

ARCHDG_0002              1     102400     102400     102375 /dev/archdisk3

ARCHDG_0003              1     102400     102400     102375 /dev/archdisk4

ARCHDG_0004              1     102400     102400     102374 /dev/archdisk5

18 rows selected

SQL>

 

3    查看对应的磁盘

计划把/dev/archdisk5卸载用于文件系统,查看对应的磁盘,设备号为19

bash-3.00# ls -lrt /dev/archdisk5

crw-rw----    1 grid     asmdba       23, 19 Apr 20 22:00 /dev/archdisk5

bash-3.00#

再看一下对应的磁盘,可以看到ASM使用了下面磁盘,设备号23,19对应的磁盘为/dev/rhdisk19

bash-3.00# ls -lrt /dev/rhdisk*

…….(省略部分磁盘)

crw-------    1 root     system       23, 19 Jun 06 2011  /dev/rhdisk19

crw-------    1 root     system       23, 20 Jun 06 2011  /dev/rhdisk20

crw-------    1 root     system       23, 21 Jun 06 2011  /dev/rhdisk21

crw-------    1 root     system       23, 22 Jun 06 2011  /dev/rhdisk22

crw-------    1 root     system       23, 23 Apr 22 10:19 /dev/rhdisk23

 

再次验证设备号,对应的磁盘为hdisk19

bash-3.00# ls -lrt |grep '23, 19'

crw-------    1 root     system       23, 19 Jun 06 2011  rhdisk19

brw-------    1 root     system       23, 19 Jun 06 2011  hdisk19

crw-rw----    1 grid     asmdba       23, 19 Apr 20 22:00 archdisk5

bash-3.00#

 

查看磁盘的对应情况,对应的磁盘为hdisk19

bash-3.00# lspv

……….(省略部分PV)

hdisk19         none                                None

hdisk20         00f6a21d6a03bb66                    bkvg            active

hdisk21         00f6a21d6a03bbc9                    bkvg            active

hdisk22         00f6a21d6a03bc2b                    bkvg            active

hdisk23         00f6a21d2f863681                    bkvg            active

 

4    删除ASM磁盘

根据上面查询/dev/archdisk5对应的ASM里面的disk_nameARCHDG_0004,这个LUN刚好100G左右,查看对应的diskgroup名称

 

SQL> select name,total_mb,free_mb from v$asm_diskgroup where group_number=1;

 

NAME                     TOTAL_MB    FREE_MB

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

ARCHDG                 512000     511873

 

SQL>

bash-3.00# su - grid

grid@circdb1>bash

bash-3.00$ sqlplus "/as sysasm"

 

SQL*Plus: Release 11.2.0.2.0 Production on Mon Apr 22 11:12:32 2013

 

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 Real Application Clusters and Automatic Storage Management options

 

SQL> ALTER DISKGROUP ARCHDG DROP DISK ARCHDG_0004;

 

Diskgroup altered.

 

SQL>

 

在操作过程中可以通过V$ASM_DISK.HEADER_STATUS查看状态,在数据平衡过程中可以查看V$ASM_OPERATION 可以查看进度

 

select HEADER_STATUS from V$ASM_DISK  where name='ARCHDG_0004';

select * from  V$ASM_OPERATION ;

 

下面为执行成功后的结果HEADER_STATUS的状态为FORMER,组和磁盘数都为0

 

SQL> select t.GROUP_NUMBER,t.DISK_NUMBER,t.MOUNT_STATUS,t.HEADER_STATUS,t.PATH from V$ASM_DISK t where path like '%archdisk5%' ;

 

GROUP_NUMBER DISK_NUMBER MOUNT_STATUS HEADER_STATUS PATH

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

0           0 CLOSED       FORMER        /dev/archdisk5

 

SQL>

 

 

5    加入文件系统

删除hdisk19对应的索引节点,也就是/dev/archdisk5,这样可以解除asm过程对这个磁盘的锁定

 

bash-3.00# cd /dev/

bash-3.00# ls -lrt archdisk5

crw-rw----    1 grid     asmdba       23, 19 Apr 20 22:00 archdisk5

bash-3.00# rm archdisk5

bash-3.00# ls -lrt archdisk5

ls: 0653-341 The file archdisk5 does not exist.

bash-3.00#

 

 

把磁盘加入到文件系统中,注意这种系统级别的操作都是使用root

 

 

bash-3.00# smit extendvg

 

Add a Physical Volume to a Volume Group

 

Type or select values in entry fields.

Press Enter AFTER making all desired changes.

 

[Entry Fields]

Force the creation of a volume group?               no                                                                         +

* VOLUME GROUP name                                  [bkvg]                                                                      +

* PHYSICAL VOLUME names                              [hdisk19]                                                                   +

 

Command: running       stdout: yes           stderr: no

 

Before command completion, additional instructions may appear below.

 

0516-1339 /usr/sbin/extendvg: Physical volume contains some 3rd party volume group.

0516-1397 /usr/sbin/extendvg: The physical volume hdisk19, will not be added to

the volume group.

0516-792 /usr/sbin/extendvg: Unable to extend volume group.

 

根据上面报错,在网上看到的解决方案为使用dd清理磁盘信息

 

bash-3.00# dd if=/dev/zero/ f=/dev/rhdisk19  bs=1024 count=10

10+0 records in.

10+0 records out.

bash-3.00# smit extendvg

 

Add a Physical Volume to a Volume Group

 

Type or select values in entry fields.

Press Enter AFTER making all desired changes.

 

[Entry Fields]

Force the creation of a volume group?               no                                                                         +

* VOLUME GROUP name                                  [bkvg]                                                                      +

* PHYSICAL VOLUME names                              [hdisk19]                                                                   +

Command: running       stdout: yes           stderr: no

Before command completion, additional instructions may appear below.

0516-1254 /usr/sbin/extendvg: Changing the PVID in the ODM.

0516-1397 /usr/sbin/extendvg: The physical volume hdisk19, will not be added to

the volume group.

0516-792 /usr/sbin/extendvg: Unable to extend volume group.

 

执行上面操作后又报了另一个错,于是把数据库重启后再操作,这个时间发现成功了

COMMAND STATUS

Command: OK            stdout: yes           stderr: no

Before command completion, additional instructions may appear below.

0516-1254 /usr/sbin/extendvg: Changing the PVID in the ODM.

 

下面显示磁盘空间已释放

bash-3.00# lsvg bkvg

VOLUME GROUP:       bkvg                     VG IDENTIFIER:  00f6a21d00004c00000001306a03bc53

VG STATE:           active                   PP SIZE:        64 megabyte(s)

VG PERMISSION:      read/write               TOTAL PPs:      7990 (511360 megabytes)

MAX LVs:            256                      FREE PPs:       69 (4416 megabytes)

LVs:                2                        USED PPs:       7921 (506944 megabytes)

OPEN LVs:           2                        QUORUM:         3 (Enabled)

TOTAL PVs:          5                        VG DESCRIPTORS: 5

STALE PVs:          0                        STALE PPs:      0

ACTIVE PVs:         5                        AUTO ON:        yes

MAX PPs per VG:     32768                    MAX PVs:        1024

LTG size (Dynamic): 256 kilobyte(s)          AUTO SYNC:      no

HOT SPARE:          no                       BB POLICY:      relocatable

PV RESTRICTION:     none

bash-3.00#

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21605631/viewspace-759181/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/21605631/viewspace-759181/

;