从11g RAC的ASM 磁盘组中剔出一块磁盘



首先,切换到grid用户,连接到ASM实例:

nbasdb1:/grid$id

uid=1001(grid) gid=1001(oinstall)

nbasdb1:/grid$sqlplus / as sysdba

SQL> select group_number, name, state, type, total_MB, free_mb from v$asm_diskgroup;

GROUP_NUMBER NAME STATE TYPE TOTAL_MB FREE_MB

———— ———- ———– —— ———- ———-

1 DATA MOUNTED EXTERN 61339520 49784512

SQL> col path for a30

SQL> select disk_number, path, name, total_mb, free_mb from v$asm_disk where group_number = 1 and rownum < 5;

 DISK_NUMBER PATH NAME TOTAL_MB FREE_MB

———– ———————————– ———- ———- ———-

0 /dev/rdsk/c0t00173800506800ACd0s6 DATA_0000 557632 452032

1 /dev/rdsk/c0t00173800506800ADd0s6 DATA_0001 557632 452864

2 /dev/rdsk/c0t00173800506800AEd0s6 DATA_0002 557632 451968

3 /dev/rdsk/c0t00173800506800AFd0s6 DATA_0003 557632 452352

  

这里报权限不足,是因为当前是11g的ASM,需要用sysasm来登录操作。

 nbasdb1:/grid$sqlplus / as sysasm

 SQL*Plus: Release 11.2.0.4.0 Production on Wed Dec 10 10:08:43 2014

Copyright (c) 1982, 2013, Oracle. All rights reserved.

 Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production

With the Real Application Clusters and Automatic Storage Management options

 

SQL> alter diskgroup DATA drop disk ‘/dev/rdsk/c0t00173800506800ACd0s6′;

alter diskgroup DATA drop disk ‘/dev/rdsk/c0t00173800506800ACd0s6′

*

ERROR at line 1:

ORA-01948: identifier’s name length (33) exceeds maximum (30)

 

path的名称太长,超过了限制,改为使用name来删除:

 

SQL> alter diskgroup DATA drop disk DATA_0000;

 

Diskgroup altered

 

这里虽然操作成功,但是磁盘并没有真正被删掉,ASM需要先在后台将该磁盘上的数据挪到其他盘上。查询该磁盘的状态如下:

 

SQL> col path for a35

SQL> col name for a10

SQL> set line 200

SQL> select disk_number, path, name, state, total_mb, free_mb from v$asm_disk where group_number = 1 and disk_number = 0;

 

DISK_NUMBER PATH NAME STATE TOTAL_MB FREE_MB

———– ———————————– ———- ——– ———- ———-

0 /dev/rdsk/c0t00173800506800ACd0s6 DATA_0000 DROPPING 557632 498368

 

 

可以看到,这时磁盘的状态为DROPPING。

 

SQL> /

 

DISK_NUMBER PATH NAME STATE TOTAL_MB FREE_MB

———– ———————————– ———- ——– ———- ———-

0 /dev/rdsk/c0t00173800506800ACd0s6 DATA_0000 DROPPING 557632 509120

 

SQL> /

 

DISK_NUMBER PATH NAME STATE TOTAL_MB FREE_MB

———– ———————————– ———- ——– ———- ———-

0 /dev/rdsk/c0t00173800506800ACd0s6 DATA_0000 DROPPING 557632 512896

 

同时可以看到,free_mb的大小在不断增大,说明盘上的数据在不断被挪走。

 

SQL> /

 

DISK_NUMBER PATH NAME STATE TOTAL_MB FREE_MB

———– ———————————– ———- ——– ———- ———-

0 /dev/rdsk/c0t00173800506800ACd0s6 DATA_0000 DROPPING 557632 521792

 

SQL> /

 

no rows selected

 

SQL>

 

最后,当该盘上的数据全部迁移到其他盘上去时,ASM才正式将该盘剔出磁盘组。此时,在ASM中,已经查不到该盘的记录了。

首先,切换到grid用户,连接到ASM实例:

nbasdb1:/grid$id

uid=1001(grid) gid=1001(oinstall)

nbasdb1:/grid$sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.4.0 Production on Wed Dec 10 09:54:38 2014

 

Copyright (c) 1982, 2013, Oracle. All rights reserved.

 

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production

With the Real Application Clusters and Automatic Storage Management options

 

SQL> select group_number, name, state, type, total_MB, free_mb from v$asm_diskgroup;

 

GROUP_NUMBER NAME STATE TYPE TOTAL_MB

———— —————————— ———– —— ———-

FREE_MB

———-

1 DATA MOUNTED EXTERN 61339520

49784512

 

 

SQL> col name for a10

SQL> /

 

GROUP_NUMBER NAME STATE TYPE TOTAL_MB FREE_MB

———— ———- ———– —— ———- ———-

1 DATA MOUNTED EXTERN 61339520 49784512

 

 

SQL> col path for a30

SQL> select disk_number, path, name, total_mb, free_mb from v$asm_disk where group_number = 1 and rownum < 5;

 

DISK_NUMBER PATH NAME TOTAL_MB FREE_MB

———– ———————————– ———- ———- ———-

0 /dev/rdsk/c0t00173800506800ACd0s6 DATA_0000 557632 452032

1 /dev/rdsk/c0t00173800506800ADd0s6 DATA_0001 557632 452864

2 /dev/rdsk/c0t00173800506800AEd0s6 DATA_0002 557632 451968

3 /dev/rdsk/c0t00173800506800AFd0s6 DATA_0003 557632 452352

 

 

SQL> alter diskgroup DATA drop disk ‘/dev/rdsk/c0t00173800506800ACd0s6′;

alter diskgroup DATA drop disk ‘/dev/rdsk/c0t00173800506800ACd0s6′

*

ERROR at line 1:

ORA-15032: not all alterations performed

ORA-15260: permission denied on ASM disk group

 

这里报权限不足,是因为当前是11g的ASM,需要用sysasm来登录操作。

 

nbasdb1:/grid$sqlplus / as sysasm

 

SQL*Plus: Release 11.2.0.4.0 Production on Wed Dec 10 10:08:43 2014

 

Copyright (c) 1982, 2013, Oracle. All rights reserved.

 

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production

With the Real Application Clusters and Automatic Storage Management options

 

SQL> alter diskgroup DATA drop disk ‘/dev/rdsk/c0t00173800506800ACd0s6′;

alter diskgroup DATA drop disk ‘/dev/rdsk/c0t00173800506800ACd0s6′

*

ERROR at line 1:

ORA-01948: identifier’s name length (33) exceeds maximum (30)

 

path的名称太长,超过了限制,改为使用name来删除:

 

SQL> alter diskgroup DATA drop disk DATA_0000;

 

Diskgroup altered

 

这里虽然操作成功,但是磁盘并没有真正被删掉,ASM需要先在后台将该磁盘上的数据挪到其他盘上。查询该磁盘的状态如下:

 

SQL> col path for a35

SQL> col name for a10

SQL> set line 200

SQL> select disk_number, path, name, state, total_mb, free_mb from v$asm_disk where group_number = 1 and disk_number = 0;

 

DISK_NUMBER PATH NAME STATE TOTAL_MB FREE_MB

———– ———————————– ———- ——– ———- ———-

0 /dev/rdsk/c0t00173800506800ACd0s6 DATA_0000 DROPPING 557632 498368

 

 

可以看到,这时磁盘的状态为DROPPING。

 

SQL> /

 

DISK_NUMBER PATH NAME STATE TOTAL_MB FREE_MB

———– ———————————– ———- ——– ———- ———-

0 /dev/rdsk/c0t00173800506800ACd0s6 DATA_0000 DROPPING 557632 509120

 

SQL> /

 

DISK_NUMBER PATH NAME STATE TOTAL_MB FREE_MB

———– ———————————– ———- ——– ———- ———-

0 /dev/rdsk/c0t00173800506800ACd0s6 DATA_0000 DROPPING 557632 512896

 

同时可以看到,free_mb的大小在不断增大,说明盘上的数据在不断被挪走。

 

SQL> /

 

DISK_NUMBER PATH NAME STATE TOTAL_MB FREE_MB

———– ———————————– ———- ——– ———- ———-

0 /dev/rdsk/c0t00173800506800ACd0s6 DATA_0000 DROPPING 557632 521792

 

SQL> /

 

no rows selected

 

SQL>

 

最后,当该盘上的数据全部迁移到其他盘上去时,ASM才正式将该盘剔出磁盘组。此时,在ASM中,已经查不到该盘的记录了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值