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

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
oracle:asm:migrate_diskgroup_ocr [26/10/2025 19:47] mdloracle:asm:migrate_diskgroup_ocr [26/10/2025 20:24] (Version actuelle) mdl
Ligne 3: Ligne 3:
 Il s'agit du diskgroup **OCR** avec redondance //normal// sur 3 disques (perte 1 disque toléré). Il s'agit du diskgroup **OCR** avec redondance //normal// sur 3 disques (perte 1 disque toléré).
  
-Ce diskgroup est particulier, car il contient OCR,OLR et les voting disks.+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>