ASM Daten Platte vergrößern (unter Linux)
Problem: Eine Redo Platte wurde zu klein angelegt und soll nun vergrößert werden. Dazu soll die vorhandene Lun auf der NetApp vergrößert werden.
Lösung: Normalerweise ist es sehr zu empfehlen, eine ASM Diskgroup nur durch das Hinzufügen einer möglichst gleich großen Disk zu vergrößern. In diesem Fall soll aber nur die dazugehörige Lun vergrößert werden. Im unseren Fall heißt die ASM Diskgroup „REDOGPI“, as ASM Label für die einzige Platte dieser Gruppe ist „REDO“ vergeben.
1. Physical Device bestimmen
Als user „root“.
Im ersten Schritt ermitteln welches device sich hinter der ASM Platte „versteckt“.
oracleasm querydisk -d <ASM Name>
oracleasm querydisk -d redo
Falls das Device nicht angezeigt wird (vor 11g) die Device ID's merken und selber suchen.
Nach den device ID's wie im Beispiel [8,56] im Ordner /dev/ suchen und damit das physical device bestimmen
ls -la /dev | grep 56 ... crw-rw-----. 1 root 8, 56 26.Jul 10:02 sda1 ...
Überprüfen mit „oracleasm querydisk <device>“ ob das wirklich die richtige Platte ist
oracleasm querydisk /dev/sda1
Bzgl.oracleasm siehe auch diese Zusammenfassung: oracleasm overview
Aktuelle Größe der Platte bestimmen mit fdisk
fdisk /dev/sda -l
2. Datenbank stoppen!
Als User „oracle“, Oracle Umgebung auf DB Home gesetzt.
srvctl stop database -d GPI
3. Platte vom ASM dismounten
Als User „oracle“, Oracle Umgebung auf ASM Home gesetzt.
Anmelden als sysasm an der ASM instance!
sqlplus / as sysasm sql>alter diskgroup redogpi dismount;
4. Disk vergrößeren
Auf dem Storage die Disk entsprechend vergrößern
5. Platte neu in Betriebssystem einlesen und mit fdisk prüfen ob die Platte größer geworden ist
Als user „root“.
Platte neu einlesen mit partprobe oder falls vorhanden mit „rescan-scsi-bus.sh“ (siehe auch Dynamically detecting new disks in Linux )
partprobe -s /dev/sda
Testen mit:
fdisk /dev/sda -l
6. Partitionstabelle mit der neuen Größe erstellen
Als user „root“.
fdisk /dev/sda1
Anzeigen lassen mit p, löschen mit d , Anzeige mit p, mit n neu anlegen (als wie zuvor als Primary) mit p testen und mit w zum Schluss schreiben.
7. Platte wieder am ASM mounten
Anmelden als sysasm am ASM
sqlplus / as sysasm sql>alter diskgroup redogpi mount;
Abfragen:
sql>SELECT group_number, name, TOTAL_MB, FREE_MB FROM V$asm_disk_stat;
8. Disk in der Diskgruppe vergrößern
Als User „oracle“, Oracle Umgebung auf ASM Home gesetzt.
Anmelden als sysasm am ASM
sqlplus / as sysasm sql>alter diskgroup redogpi resize all;
Prüfen mit:
sql>SELECT group_number, name, TOTAL_MB, FREE_MB FROM V$asm_disk_stat;