之前安裝時diskgroup使用的是external的冗餘層級,現在想把它換成normal的冗餘層級,但是由於diskgroup的冗餘一經建立就無法調整,只能重建。
整個過程的大概步驟如下:
1、備份已有的資料庫DCDB,並傷處asm上的檔案
2、建立一個磁碟組SFRA作為過渡
3、遷移原磁碟組DATA上的vote和ocr以及asm的spfile至SFRA
4、刪除並重建DATA磁碟組為normal冗餘
5、回遷vote和ocr以及asm的spfile至DATA磁碟組
6、恢複資料庫
詳細過程如下:
1、備份已有資料庫,此步略過不做介紹
使用dbca刪除資料庫。
刪除ASM上DCDB資料庫的參數檔案等:
[grid@srcbdb2 ~]$ asmcmd
ASMCMD> cd +DATA/
ASMCMD> ls
DCDB/
ASMCMD> rm -fr DCDB
過程如同在os上執行。
2、建立一個磁碟組SFRA作為過渡
CREATE DISKGROUP SFRA NORMAL REDUNDANCY
FAILGROUP DGFG02 DISK '/dev/iscsi/11gdisk41' SIZE 20480M ,
'/dev/iscsi/11gdisk42' SIZE 20480M ,
'/dev/iscsi/11gdisk43' SIZE 20480M
FAILGROUP DGFG01 DISK '/dev/iscsi/11gdisk31' SIZE 20480M ,
'/dev/iscsi/11gdisk32' SIZE 20480M ,
'/dev/iscsi/11gdisk33' SIZE 20480M
ATTRIBUTE 'compatible.asm'='11.2.0.0.0',
'au_size'='1M';
Diskgroup created.
檢查另一節點上改磁碟組是否mount起來的。
+ASM2@SYS> select * from v$asm_diskgroup;
GROUP_NUMBER NAME SECTOR_SIZE BLOCK_SIZE ALLOCATION_UNIT_SIZE STATE TYPE TOTAL_MB FREE_MB HOT_USED_MB COLD_USED_MB
------------ ------------------------------------------------------------ ----------- ---------- -------------------- ---------------------- ------------ ---------- ---------- ----------- ------------
REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB OFFLINE_DISKS COMPATIBILITY
----------------------- -------------- ------------- ------------------------------------------------------------------------------------------------------------------------
DATABASE_COMPATIBILITY VO
------------------------------------------------------------------------------------------------------------------------ --
0 SFRA 0 4096 0DISMOUNTED 0 0 0 0
0 0 0 0.0.0.0.0
0.0.0.0.0 N
2 DATA 512 4096 1048576 MOUNTED NORMAL 122880 121175 0 1705
304 60435 0 11.2.0.0.0
10.1.0.0.0 Y
如果沒有自動mount起來,則手工mount改磁碟組
+ASM2@SYS> alter diskgroup sfra mount;
Diskgroup altered.
3、遷移SPFILE,OCR和VOTE檔案至SFRA磁碟組
3.1、遷移SPFILE
查看當前asm的spfile位置
+ASM1@SYS> show parameter spfile
NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
spfile string +DATA/srcbdb-cluster/asmparame
terfile/registry.253.788224447
建立一個pfile作為spfile遷移的過渡檔案
+ASM1@SYS> create pfile from spfile;
File created.
建立spfile檔案並指定到過渡磁碟組
+ASM1@SYS> create spfile='+SFRA' from pfile='?/dbs/init+ASM1.ora';
File created.
+ASM1@SYS>
spfile已經在SFRA磁碟組中
[grid@srcbdb2 ~]$ asmcmd
ASMCMD> cd +SFRA/srcbdb-cluster/ASMPARAMETERFILE
ASMCMD> ls
REGISTRY.253.788224447
在另一節點上執行同樣的操作遷移spfile。