meta données pour cette page
  •  

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
oracle:asm:migrate_diskgroup_ocr [26/10/2025 19:14] – créée mdloracle:asm:migrate_diskgroup_ocr [26/10/2025 20:24] (Version actuelle) mdl
Ligne 1: Ligne 1:
-rr+====== Migrer Diskgroup OCR ====== 
 + 
 +Il s'agit du diskgroup **OCR** avec redondance //normal// sur 3 disques (perte 1 disque toléré). 
 + 
 +Ce diskgroup est particulier, car il contient les OCR,OLR et les voting disks. 
 + 
 + 
 + * Afficher l'articulation des DISKGROUP: 
 +<code PLSQL> 
 +SQL> 
 +SET lines 800 
 +column disk_group_name format a30 
 +column PATH format a50 
 +column disk_file_name format a30 
 +column FAILGROUP_TYPE format a20 
 +SELECT NVL(a.name, '[CANDIDATE]') disk_group_name, b.PATH, b.name disk_file_name, a.TYPE 
 +FROM v$asm_diskgroup a RIGHT OUTER JOIN v$asm_disk b USING (group_number) 
 +ORDER BY a.name; 
 + 
 + 
 +DISK_GROUP_NAME        PATH   DISK_FILE_NAME TYPE 
 +------------------------------ -------------------------------------------------- ------------------------------ ------ 
 +DATA        /dev/oracleasm/disks/ASM_DATA1   DATA_0000 NORMAL 
 +DATA        /dev/oracleasm/disks/ASM_DATA2   DATA_0001 NORMAL 
 +DATA        /dev/oracleasm/disks/ASM_DATA3   DATA_0002 NORMAL 
 +FRA        /dev/oracleasm/disks/ASM_FRA1   FRA_0000 EXTERN 
 +OCR        /dev/oracleasm/disks/ASM_OCR2   OCR_0001 NORMAL 
 +OCR        /dev/oracleasm/disks/ASM_OCR1   OCR_0002 NORMAL 
 +OCR        /dev/oracleasm/disks/ASM_OCR3   OCR_0000 NORMAL 
 + 
 +</code> 
 + 
 +__**Ajout disques**__ 
 +  * ajouter 3 nouveaux disques au niveau OS et y créer une partition primaire 
 + 
 +  * nous devons ensuite les initialiser par ASM: 
 +<code BASH> 
 +[root@oracle2 bin]# oracleasm createdisk ASM_OCR4 /dev/sdl1 
 +[root@oracle2 bin]# oracleasm createdisk ASM_OCR5 /dev/sdm1 
 +[root@oracle2 bin]# oracleasm createdisk ASM_OCR6 /dev/sdn1 
 +</code> 
 + 
 +  * on rafraichi les disques ASM sur l'autre noeud RAC 
 +<code BASH> 
 +[root@oracle3 ~]# oracleasm scandisks 
 +Reloading disk partitions: done 
 +Cleaning any stale ASM disks... 
 +Scanning system for ASM disks... 
 +Instantiating disk "ASM_OCR6" 
 +Instantiating disk "ASM_OCR5" 
 +Instantiating disk "ASM_OCR4" 
 +  
 +[root@oracle3 ~]# oracleasm listdisks 
 +ASM_DATA4 
 +ASM_DATA5 
 +ASM_DATA6 
 +ASM_FRA2 
 +ASM_OCR1 
 +ASM_OCR2 
 +ASM_OCR3 
 +ASM_OCR4 
 +ASM_OCR5 
 +ASM_OCR6 
 +</code> 
 + 
 + 
 +  * Une fois nos disques initialisés, ils sont disponibles dans ASM 
 +<code PLSQL> 
 +SQL> 
 +set lines 800 
 +col disk_file_path format A40 
 +SELECT a.name disk_group_name 
 + , b.path disk_file_path 
 + , b.name disk_file_name 
 + , b.failgroup disk_file_fail_group 
 +FROM  v$asm_diskgroup a RIGHT OUTER JOIN v$asm_disk b USING (group_number) 
 +ORDER BY a.name; 
 + 
 +DISK_GROUP_NAME        DISK_FILE_PATH DISK_FILE_NAME        DISK_FILE_FAIL_GROUP 
 +------------------------------ ---------------------------------------- ------------------------------ ------------------------------ 
 +DATA        /dev/oracleasm/disks/ASM_DATA6 DATA_0005        DATA_0005 
 +DATA        /dev/oracleasm/disks/ASM_DATA4 DATA_0003        DATA_0003 
 +DATA        /dev/oracleasm/disks/ASM_DATA5 DATA_0004        DATA_0004 
 +FRA        /dev/oracleasm/disks/ASM_FRA2 FRA_0001        FRA_0001 
 +OCR        /dev/oracleasm/disks/ASM_OCR1 OCR_0002        OCR_0002 
 +OCR        /dev/oracleasm/disks/ASM_OCR3 OCR_0000        OCR_0000 
 +OCR        /dev/oracleasm/disks/ASM_OCR2 OCR_0001        OCR_0001 
 +        /dev/oracleasm/disks/ASM_OCR6 
 +        /dev/oracleasm/disks/ASM_OCR5 
 +        /dev/oracleasm/disks/ASM_OCR4 
 + 
 +10 rows selected. 
 + 
 + 
 +</code>  
 + 
 + 
 +  * Nous les ajoutons au Diskgroup **DATA** et lançons un //rebalance// des données. 
 +     * à noter que plus l'option **//POWER X//** est grande, plus il y aura de consommation CPU, IO disque et plus vite la reconstruction des bandes de parité et le transfert des données sera rapide (//integer// de 0 à 1024, où 0=annulation) 
 +     * ici la volumétrie des **OCR** est suffisament faible pour mettre un //POWER 50//) 
 +<code PLSQL> 
 +SQL> alter diskgroup OCR add disk '/dev/oracleasm/disks/ASM_OCR4','/dev/oracleasm/disks/ASM_OCR5','/dev/oracleasm/disks/ASM_OCR6' rebalance power 50; 
 + 
 +Diskgroup altered. 
 +</code> 
 + 
 +  * suivi de l'opération 
 +<code PLSQL> 
 +SQL> select * from v$asm_operation; 
 + 
 +GROUP_NUMBER OPERA PASS      STAT      POWER ACTUAL      SOFAR   EST_WORK EST_RATE EST_MINUTES ERROR_CODE       CON_ID 
 +------------ ----- --------- ---- ---------- ---------- ---------- ---------- ---------- ----------- -------------------------------------------- ---------- 
 +    3 REBAL COMPACT   RUN   50      50 0     0        0    0    0 
 +    3 REBAL REBALANCE DONE   50      50        109   109        0    0    0 
 +    3 REBAL REBUILD   DONE   50      50 0     0        0    0    0 
 +    3 REBAL RESYNC    DONE   50      50 0     0        0    0    0 
 + 
 +</code> 
 + 
 + 
 +== Suppression des disques == 
 + 
 + 
 +<code PLSQL> 
 +SQL>  
 +set lines 800 
 +column disk_group_name format a30 
 +column path format a50 
 +column disk_file_name format a50 
 +SELECT NVL(a.name, '[CANDIDATE]') disk_group_name, b.path, b.name disk_file_name 
 +FROM v$asm_diskgroup a RIGHT OUTER JOIN  v$asm_disk b USING (group_number) 
 +ORDER BY a.name; 
 + 
 +DISK_GROUP_NAME        PATH   DISK_FILE_NAME 
 +------------------------------ -------------------------------------------------- -------------------------------------------------- 
 +DATA        /dev/oracleasm/disks/ASM_DATA4   DATA_0003 
 +DATA        /dev/oracleasm/disks/ASM_DATA5   DATA_0004 
 +DATA        /dev/oracleasm/disks/ASM_DATA6   DATA_0005 
 +FRA        /dev/oracleasm/disks/ASM_FRA2   FRA_0001 
 +OCR        /dev/oracleasm/disks/ASM_OCR6   OCR_0005 
 +OCR        /dev/oracleasm/disks/ASM_OCR5   OCR_0004 
 +OCR        /dev/oracleasm/disks/ASM_OCR2   OCR_0001 
 +OCR        /dev/oracleasm/disks/ASM_OCR4   OCR_0003 
 +OCR        /dev/oracleasm/disks/ASM_OCR3   OCR_0000 
 +OCR        /dev/oracleasm/disks/ASM_OCR1   OCR_0002 
 + 
 +10 rows selected. 
 + 
 + 
 + 
 +SQL> alter diskgroup OCR drop disk OCR_0000,OCR_0001,OCR_0002 rebalance power 50; 
 +Diskgroup altered. 
 + 
 +</code> 
 + 
 +  * suivi de l'opération 
 +<code PLSQL> 
 +SQL> select * from v$asm_operation; 
 +no rows selected 
 +</code> 
 + 
 +  * une fois terminé, les disques enlevés sont en **MOUNT_STATE=CLOSED** 
 + 
 +<code PLSQL> 
 +SQL> set lines 1000 
 +col PATH format A50 
 +col FAILGROUP_TYPE format A20 
 +select PATH,MOUNT_STATUS,MODE_STATUS,STATE,REDUNDANCY,TOTAL_MB/1024 "TOTAL GB",FREE_MB/1024 "FREE GB",FAILGROUP_TYPE from v$asm_disk; 
 + 
 +PATH    MOUNT_S MODE_ST STATE    REDUNDA   TOTAL GB   FREE GB FAILGROUP_TYPE 
 +-------------------------------------------------- ------- ------- -------- ------- ---------- ---------- -------------------- 
 +/dev/oracleasm/disks/ASM_OCR2    CLOSED  ONLINE  NORMAL   UNKNOWN      0 0 REGULAR     <----- 
 +/dev/oracleasm/disks/ASM_OCR3    CLOSED  ONLINE  NORMAL   UNKNOWN      0 0 REGULAR     <----- 
 +/dev/oracleasm/disks/ASM_OCR1    CLOSED  ONLINE  NORMAL   UNKNOWN      0 0 REGULAR     <----- 
 +/dev/oracleasm/disks/ASM_OCR4    CACHED  ONLINE  NORMAL   UNKNOWN 9.99609375 9.66796875 REGULAR 
 +/dev/oracleasm/disks/ASM_FRA2    CACHED  ONLINE  NORMAL   UNKNOWN 39.9990234 35.8339844 REGULAR 
 +/dev/oracleasm/disks/ASM_OCR5    CACHED  ONLINE  NORMAL   UNKNOWN 9.99609375 9.6640625 REGULAR 
 +/dev/oracleasm/disks/ASM_DATA6    CACHED  ONLINE  NORMAL   UNKNOWN 19.9990234 12.1269531 REGULAR 
 +/dev/oracleasm/disks/ASM_DATA5    CACHED  ONLINE  NORMAL   UNKNOWN 19.9990234 12.1269531 REGULAR 
 +/dev/oracleasm/disks/ASM_DATA4    CACHED  ONLINE  NORMAL   UNKNOWN 19.9990234 12.1259766 REGULAR 
 +/dev/oracleasm/disks/ASM_OCR6    CACHED  ONLINE  NORMAL   UNKNOWN 9.99609375 9.671875 REGULAR 
 + 
 +10 rows selected. 
 + 
 +</code> 
 + 
 + 
 + 
 +  * Il ne reste plus qu'à les supprimer d'ASM, pour les rendre à l'OS 
 + 
 +<code BASH> 
 +[root@oracle2 bin]# oracleasm deletedisk ASM_OCR1  
 +Clearing disk header: done 
 +Dropping disk: done 
 +[root@oracle2 bin]# oracleasm deletedisk ASM_OCR2 
 +Clearing disk header: done 
 +Dropping disk: done 
 +[root@oracle2 bin]# oracleasm deletedisk ASM_OCR3 
 +Clearing disk header: done 
 +Dropping disk: done 
 +[root@oracle2 bin]#  
 +[root@oracle2 bin]#  
 +[root@oracle2 bin]# oracleasm listdisks 
 +ASM_DATA4 
 +ASM_DATA5 
 +ASM_DATA6 
 +ASM_FRA2 
 +ASM_OCR4 
 +ASM_OCR5 
 +ASM_OCR6 
 +[root@oracle2 bin]#  
 +</code> 
 + 
 +  * on rafraichi les disques ASM sur l'autre noeud RAC 
 + 
 +<code BASH> 
 +[root@oracle3 ~]# oracleasm scandisks 
 +Reloading disk partitions: done 
 +Cleaning any stale ASM disks... 
 +Cleaning disk "ASM_OCR1" 
 +Cleaning disk "ASM_OCR2" 
 +Cleaning disk "ASM_OCR3" 
 +Scanning system for ASM disks... 
 +[root@oracle3 ~]#  
 +[root@oracle3 ~]#  
 +[root@oracle3 ~]# oracleasm listdisks 
 +ASM_DATA4 
 +ASM_DATA5 
 +ASM_DATA6 
 +ASM_FRA2 
 +ASM_OCR4 
 +ASM_OCR5 
 +ASM_OCR6 
 + 
 +</code> 
 + 
 + 
 +  * on valide l'état de nos VOTEDISK sur le noeud1 
 +<code BASH> 
 +[root@oracle2 bin]# ./crsctl query css votedisk 
 +##  STATE    File Universal Id                File Name Disk group 
 +--  -----    -----------------                --------- --------- 
 + 1. ONLINE   5643ad2acdc64f18bf02d801c68fe657 (/dev/oracleasm/disks/ASM_OCR4) [OCR] 
 + 2. ONLINE   be3aab53696d4f82bfcd958d3f4b2c33 (/dev/oracleasm/disks/ASM_OCR5) [OCR] 
 + 3. ONLINE   b8c35a5752764f4dbf4bee3c7f1a3899 (/dev/oracleasm/disks/ASM_OCR6) [OCR] 
 +Located 3 voting disk(s). 
 + 
 + 
 +[root@oracle2 bin]# ./ocrcheck 
 +Status of Oracle Cluster Registry is as follows : 
 + Version                  :          4 
 + Total space (kbytes)     :     491684 
 + Used space (kbytes)      :      84388 
 + Available space (kbytes) :     407296 
 + ID                       :  897499287 
 + Device/File Name         :       +OCR 
 +                                    Device/File integrity check succeeded 
 + 
 +                                    Device/File not configured 
 + 
 +                                    Device/File not configured 
 + 
 +                                    Device/File not configured 
 + 
 +                                    Device/File not configured 
 + 
 + Cluster registry integrity check succeeded 
 + Logical corruption check succeeded 
 + 
 +</code> 
 + 
 +  * on valide aussi l'état de nos VOTEDISK sur le noeud2 
 + 
 +<code BASH> 
 +[root@oracle3 bin]# ./crsctl query css votedisk 
 +##  STATE    File Universal Id                File Name Disk group 
 +--  -----    -----------------                --------- --------- 
 + 1. ONLINE   5643ad2acdc64f18bf02d801c68fe657 (/dev/oracleasm/disks/ASM_OCR4) [OCR] 
 + 2. ONLINE   be3aab53696d4f82bfcd958d3f4b2c33 (/dev/oracleasm/disks/ASM_OCR5) [OCR] 
 + 3. ONLINE   b8c35a5752764f4dbf4bee3c7f1a3899 (/dev/oracleasm/disks/ASM_OCR6) [OCR] 
 +Located 3 voting disk(s). 
 +[root@oracle3 bin]#  
 +[root@oracle3 bin]#  
 +[root@oracle3 bin]# ./ocrcheck 
 +Status of Oracle Cluster Registry is as follows : 
 + Version                  :          4 
 + Total space (kbytes)     :     491684 
 + Used space (kbytes)      :      84388 
 + Available space (kbytes) :     407296 
 + ID                       :  897499287 
 + Device/File Name         :       +OCR 
 +                                    Device/File integrity check succeeded 
 + 
 +                                    Device/File not configured 
 + 
 +                                    Device/File not configured 
 + 
 +                                    Device/File not configured 
 + 
 +                                    Device/File not configured 
 + 
 + Cluster registry integrity check succeeded 
 + 
 + Logical corruption check succeeded 
 + 
 +[root@oracle3 bin]#  
 + 
 +</code>