====== ASM Disks verkleinern ====== 10g/11g Aufgaben: In einer RAC Umgebung mit zwei Luns sind für den Upgrade nach 11g die VOT/OCR Platten zu klein. Die bestehende ASM Partition muss nun um wenige GB verkleinert werden um Platz für eine neue Partition für die VOTING Platten zu schaffen. Unter Linux kommt die ASMLib zum Einsatz, unter Solaris RAW devices. Zuvor ein vollständiges Backup auf eine nicht ASM Platte inkl. current controlfile erstellen! Ablauf: - Umgebung analysieren - Links bestimmen - DB Umgebung stoppen - ASM Diskgroup verkleinern und dismounten - Physikalische Partition verkleinern - Neue Partionen für die Voting Disks anlegen und Device Pointer Rechte setzen - ASM Diskgroup wieder mounten - ASM Diskgroup wieder kompletten Platzplatz füllen - Neue Platten bereitstellen/prüfen Die ganzen Arbeiten finden in der ASM Umgebung statt. === Umgebung analysieren - Links bestimmen === User Oracle sqlplus / as sysasm column diskpath format A15 column name format A12 select GROUP_NUMBER , name , path as diskpath , TOTAL_MB , FREE_MB , total_mb-free_mb as used from v$asm_disk / GROUP_NUMBER NAME DISKPATH TOTAL_MB FREE_MB USED ------------ ------------ --------------- ---------- ---------- ---------- 1 GPI01_0000 /opt/oracle/ora 280808 218479 62329 links/asm1 1 GPI01_0001 /opt/oracle/ora 281059 218758 62301 links/asm2 === DB Umgebung stoppen === Stop der Datenbank die diese Umgebung verwendet. === ASM Diskgroup verkleinern und dismounten === # Beide Platten anpassen alter diskgroup GPI resize disk GPI01_0000 size 250G; alter diskgroup GPI resize disk GPI01_0001 size 250G; alter diskgroup GPI REBALANCE POWER 11 WAIT; # alter diskgroup GPI dismount; # auf zweiten Knoten wechseln alter diskgroup GPI dismount; # prüfen das die Diskgroup offline ist! select group_number , name , state , type from v$asm_diskgroup / === Physikalische Partition verkleinern === #Linux fdisk /dev/sdx #Anzeigen lassen #Block zu Größe ausrechnen #Partition löschen #Neu anlegen mit Startblock wie zuvor, EndBlock auf min 255GB brechnet. #Tabelle Schreiben Evlt. ist nun ein Reboot auf allen Knoten notwendig damit die Änderung auch wirksam wird! #Solaris format # Disk auswählen partition #Anzeigen lassen #Block zu Größe ausrechnen #Partition löschen #Neu anlegen mit Startblock wie zuvor, EndBlock auf min 255GB brechnet. #Tabelle Schreiben === Neue Partionen für die Voting Disks anlegen und Device Pointer Rechte setzen === Die neuen Partition (3* je 2 GB erstellen) und Devicepointer merken. Unter Linux mit oracleasm initialisieren und auf zweiten Knoten neu scannen lassen. Unter Solaris Rechte auf raw device setzen und entsprechend verlinken. === ASM Diskgroup wieder mounten ASM Diskgroup wieder kompletten Platzplatz füllen === alter diskgroup flash mount; alter diskgroup flash resize all; # Größe anzeigen lassen (siehe Punkt 1 ) === Neue Platten bereitstellen/prüfen === Die neuen Platten sollten nun unter den Candiate Platten angezeigt werden: # SQL Query Punkt 1 === Quellen === * Metalink: How to resize a physical disk or LUN and an ASM DISKGROUP [ID 311619.1] * http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_1006.htm