Oracle之 RAC集群重建数据库

-- 记录整个ASM磁盘的盘符

SQL> 
set pagesize 20000
col path for a30;
select group_number,disk_number,name,path from v$asm_disk order by group_number,disk_number;

-- 查找出 OCR 磁盘的盘符 
SQL> col name for a40
SQL> select group_number, name, TOTAL_MB, FREE_MB from V$asm_disk_stat where group_number in (2,3);

GROUP_NUMBER NAME TOTAL_MB FREE_MB
------------ ---------------------------------------- ---------- ----------
2 FLASH_RECOVERY_0001 102400 95732
3 OCR_0002 5120 4812
3 OCR_0001 5120 4810
3 OCR_0000 5120 4812
2 FLASH_RECOVERY_0000 102400 95688

SQL> 
set pagesize 20000
col path for a30;
select group_number,disk_number,path from v$asm_disk where group_number=3 order by group_number,disk_number;

GROUP_NUMBER DISK_NUMBER PATH
------------ ----------- ------------------------------
3 0 /dev/raw/raw201
3 1 /dev/raw/raw202
3 2 /dev/raw/raw203

-- 分别查看ASM DISKGROUP 磁盘组的情况

SQL> select group_number,disk_number,path from v$asm_disk where group_number=2 order by group_number,disk_number;

GROUP_NUMBER DISK_NUMBER PATH
------------ ----------- ----------------------------------------
2 0 /dev/raw/raw1
2 1 /dev/raw/raw2


-- GI 在 ASM 磁盘层面 T 除磁盘组
alter diskgroup DATA01 dismount force;

drop diskgroup DATA01 force including contents;

alter diskgroup FLASH_RECOVERY dismount force;

drop diskgroup FLASH_RECOVERY force including contents;


-- 记录 RAW 设备绑定
[root@rac01 ~]# cat /etc/rc.d/rc.local 
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
raw /dev/raw/raw01 /dev/mapper/mpath100g01
raw /dev/raw/raw02 /dev/mapper/mpath100g02
。。。。。
raw /dev/raw/raw202 /dev/mapper/mpath5g02
raw /dev/raw/raw203 /dev/mapper/mpath5g03


chown grid:asmdba /dev/raw/raw[1-9]*
chmod 775 /dev/raw/raw[1-9]*

-- 解绑裸设备 (OCR磁盘不能解绑)

raw /dev/raw/raw01 0 0 
raw /dev/raw/raw02 0 0 
raw /dev/raw/raw03 0 0

-- 如果 DBCA 删库删除不了, 另外一种方案是 rm 数据文件 ,然后 DD 磁盘头
dd if=/dev/zero of=/home/oracle/ddTest bs=1k count=1024

-- DD整块盘 
 dd if=/dev/zero of=/dev/raw/raw01  bs=1G 

--绑定raw (如果绑定磁盘有重复,则在ASM创建ASM磁盘组的时候,报 duplicate 二重、重复)
sh /etc/rc.d/rc.local

ASMCMD> lsdg
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 4096 4194304 40960000 18035848 0 18035848 0 N DATA01/
MOUNTED EXTERN N 512 4096 4194304 204800 191420 0 191420 0 N FLASH_RECOVERY/
MOUNTED NORMAL N 512 4096 1048576 15360 14434 5120 4657 0 Y OCR/

补充: ASM中 GROUP_NUMBER 为 0 ,表示该 ASM 磁盘未创建成ASM磁盘,但已经被ASM识别到。


请使用浏览器的分享功能分享到微信等