Bonjour à tous !
Je rencontre un petit soucis sur mes plateforme depuis quelques temps, et malgré mes différentes recherches je ne trouve pas vraiment de solution.
Je précise que je ne suis pas DBA, j'ai seulement quelques notions en administration Oracle.
L'architecture :
Nous utilisons une version 10g. Nos DBM sont sous AIX 5.3. Nous avons deux noeuds RAC. Et nous avons un Dataguard répliquant sur un site de secours.
La problématique :
Nous avons un diskgroup (parmi plusieurs autres) composé de 4 disques.
Ces disques ne sont pas tous de la même taille. ASM par défaut réparti équitablement les données sur tout le diskgroup.
Hors vu que ces disques ne font pas tous la même taille, arriva ce qui devait arriver, il me reste 16Go disponibles sur le diskgroup, mais l'un des disques est plein, du coup lorsque je veux rajouter un dbf ou en agrandir un existant qui se trouve sur ce diskgroup, oracle m'envoie ballader en me disant que je n'ai pas la place (que ce soit un ajout de 1Go ou de 15Go).
J'ai donc tenté de faire un rebalance du diskgroup mais le gain a été minime car il a réparti selon l'espace libre en pourcentage, et non en taille réelle.
Pour illustrer voici les résultats quelques commandes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SQL> select dg.group_number, dg.name DG_name, dsk.disk_number, dsk.name disk_name, dsk.total_mb, dsk.free_mb, dsk.failgroup 2 from v$asm_disk dsk, v$asm_diskgroup dg 3 where dg.group_number = dsk.group_number and dg.name ='ORADATA4'; GROUP_NUMBER DG_NAME DISK_NUMBER DISK_NAME TOTAL_MB FREE_MB FAILGROUP ------------ ------------------------------ ----------- ------------------------------ ---------- ---------- ------------------------------ 11 ORADATA4 0 ORADATA4_0000 102400 4291 ORADATA4_0000 11 ORADATA4 1 ORADATA4_0001 10240 286 ORADATA4_0001 11 ORADATA4 2 ORADATA4_0002 30720 1284 ORADATA4_0002 11 ORADATA4 3 ORADATA4_0003 616299 27584 ORADATA4_0003
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SQL> alter diskgroup ORADATA4 rebalance power 1 ; Diskgroup altered.Si quelqu'un a une idée pour pouvoir rééquilibrer l'espace libre sur chaque disque histoire de ne pas perdre 16Go comme ça ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SQL> select dg.group_number, dg.name DG_name, dsk.disk_number, dsk.name disk_name, dsk.total_mb, dsk.free_mb, dsk.failgroup 2 from v$asm_disk dsk, v$asm_diskgroup dg 3 where dg.group_number = dsk.group_number and dg.name ='ORADATA4'; GROUP_NUMBER DG_NAME DISK_NUMBER DISK_NAME TOTAL_MB FREE_MB FAILGROUP ------------ ------------------------------ ----------- ------------------------------ ---------- ---------- ------------------------------ 11 ORADATA4 0 ORADATA4_0000 102400 4507 ORADATA4_0000 11 ORADATA4 1 ORADATA4_0001 10240 448 ORADATA4_0001 11 ORADATA4 2 ORADATA4_0002 30720 1351 ORADATA4_0002 11 ORADATA4 3 ORADATA4_0003 616299 27139 ORADATA4_0003
Merci d'avance pour votre aide !
Partager