Benutzer-Werkzeuge

Webseiten-Werkzeuge


dba:rac_asm_acfs_filesystem

Das Oracle ACFS Filesystem auf einer ASM Umgebung 11g verwenden

Auf einer Oracle 11g R2 11.2.0.4 Cluster Umgebung sollen die DIAG Dateien auf einem gesharten Laufwerk abgelegt werden.

Dazu bietet sich das Oracle ACFS Filesystem an.

Ablauf:

  • Prüfen ob der ACFS Treiber laden werden kann und bei Bedarf ACFS einrichten
  • ACFS Filesystem auf Knoten 1 einrichten
    • Ein ASM Volume in einer ASM Disk Gruppe anlegen
    • Volume Namen ermitteln
    • Filesystem auf dem Volume anlegen
    • Filesystem registrieren
    • Filesystem mounten
  • ACFS Filesystem auf Knoten 2 einrichten
    • Ein ASM Volume enablen und Volumeninformation abfragen
    • Filesystem mounten
    • Filesystem testen

Linzenz

Noch letzte Jahr (vor Oktober 2014) war das ACFS NUR frei bei Verwendung als Datastore for Oracle Datenbank relevante Dateien.

Seit Oktober 2014 kann das ACFS Filesystem frei verwendet werden, solange das darunterliegend ASM lizensiert ist.

⇒ siehe 12c Dokumentation (gilt auch für 11g) E49206-6

Prüfen ob der ACFS Treiber laden werden kann und bei Bedarf ACFS einrichten

Unter einem Oracle Linux 6.5 kommt es allerdings ohne Patch in der Clusterware 11.2.0.4 zu einem Fehler.

ADVM/ACFS is not supported on this OS version: '3.8.13-16.2.1.el6uek.x86_64

Fehler beim Anlegen des Volumens:

ASMCMD> volcreate -G ACFS -s 15G voldiag1
ORA-15032: not all alterations performed
ORA-15477: cannot communicate with the volume driver (DBD ERROR: OCIStmtExecute)
 
#!! acfs ist nicht geladen!!
acfsdriverstate version
ACFS-9129: ADVM/ACFS not installed
 
# Prüfen ob bereits installiert
acfsdriverstate version
ACFS-9129: ADVM/ACFS not installed
 
#prüfen ob das hier überhaupt gehen würde:
 
acfsdriverstate supported
ACFS-9459: ADVM/ACFS is not supported on this OS version: '3.8.13-16.2.1.el6uek.x86_64'
ACFS-9201: Not Supported

Lösung:

A) Böser Hack für überhaupt nicht unterstützte Systeme:

Editieren der $ORACLE_HOME/lib/osds_acfslib.pm und dort entsprechend das supported = 1 eintragen

B) Patch „16318126 für Oracle Linux - Unbreakable Enterprise Kernel 6 3.8.13 and later UEK 3.8.13 kernels“ einspielen

siehe ⇒ * „ACFS Support On OS Platforms (Certification Matrix). (Doc ID 1369107.1)“

Vorbereitung: Vor dem eigentlichen Patch den aktuellen Opatch herunterladen und installieren/auspacken (im RAC auf allen Knoten!)

#
# auf jedem Knoten OPatch  aktualisieren und den Patch einspielen!
#
 
# Zuvor als root Schreibrechte der oinstall Gruppe testen!
#
# falls keine Rechte Schreibrecht auf das Oracle Home Verzeichnis einrichten!
 
#als Root 
chmod g+w $ORACLE_HOME
 
#als Oracle User
# Grid Oracle Home setzen
 
mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_old
unzip p6880880_112000_Linux-x86-64_opatch.zip -d $ORACLE_HOME
 
$ORACLE_HOME/OPatch/opatch version
 
 
#OCM Configuration anlegen
$ORACLE_HOME/OPatch/ocm/bin/emocmrsp
 
 
#Patch auspacken
unzip p16318126_112040_Linux-x86-64.zip -d ./oracle_patch/
 
# Alle Datenbanken auf den RAC Knoten stoppen!
srvctl stop database -d <xxxx>
 
#Als user root automatisch im Cluster installieren
export ORACLE_HOME=/u01/app/11.2.0.4/grid
export PATH=$PATH:$ORACLE_HOME/OPatch
 
opatch auto /home/oracle/install/oracle_patch -ocmrf /home/oracle/install/ocm.rsp
 
 
#Cluster wird gestoppt und gepatched
 
 
 
#
# User oracle
# 
$ORACLE_HOME/OPatch/opatch lsinventory
 
 
#+ACFS Testen:
 
acfsdriverstate supported
ACFS-9200: Supported
 
acfsdriverstate version
ACFS-9325:     Driver OS kernel version = 3.8.13-13.el6uek.x86_64(x86_64).
ACFS-9326:     Driver Oracle version = RELEASE.
 
 
# Datenbank wieder starten
srvctl start database -d <xxxx>

ACFS Treiber laden

Als Root prüfen ob das Modul zu ACFS geladen ist:

su -
 
 
# Falls nicht per Hand laden
# ACFS per Hand laden
 
/u01/app/11.2.0.4/grid/bin/acfsload start -s
 
 
[root@srvora01 ~]# lsmod | grep oracle
oracleacfs           1984438  0
oracleadvm            243430  0
oracleoks             424483  2 oracleacfs,oracleadvm
oracleasm              53591  1

ACFS Filesystem auf Knoten 1 einrichten

Ein ASM Volume in einer ASM Disk Gruppe anlegen

Als User mit SYSASM Rechten über asmcmd anmelden:

#Anlegen
ASMCMD> volcreate -G ACFS -s 15G voldiag1

Volume Namen ermitteln

#Anzeigen lassen:
ASMCMD> volinfo -G ACFS voldiag1
Diskgroup Name: ACFS
 
         Volume Name: VOLDIAG1
         Volume Device: /dev/asm/voldiag1-16
         State: ENABLED
         Size (MB): 15360
         Resize Unit (MB): 32
         Redundancy: UNPROT
         Stripe Columns: 4
         Stripe Width (K): 128
         Usage:
         Mountpath:

Filesystem auf dem Volume anlegen

Als root:

/sbin/mkfs -t acfs /dev/asm/voldiag1-16
 
mkfs.acfs: version                   = 11.2.0.4.0
mkfs.acfs: on-disk version           = 39.0
mkfs.acfs: volume                    = /dev/asm/voldiag1-16
mkfs.acfs: volume size               = 16106127360
mkfs.acfs: Format complete.

Filesystem registrieren

Als root:

mkdir /u01/oracle/diag
 
[root@srvora01 ~]# /sbin/acfsutil registry -a /dev/asm/voldiag1-16 /u01/app/oracle/diag_acfs
acfsutil registry: mount point /u01/oracle/diag_acfs successfully added to Oracle Registry

Filesystem mounten

Als root:

/bin/mount -t acfs /dev/asm/voldiag1-16 /u01/app/oracle/diag_acfs
 
chown -R oracle:dba /u01/app/oracle/diag_acfs

Fileystem prüfen

Als Oracle User:

cd /u01/app/oracle/diag_acfs
 
touch test.txt

Auf dem zweiten Knoten verwenden

Ein ASM Volume enablen und Volumeninformation abfragen

Auf Knoten 2 als User Oracle:

mkdir /u01/app/oracle/diag_acfs
 
asmcmd
 
ASMCMD> volenable -G ACFS voldiag1
 
ASMCMD> volinfo -G ACFS voldiag1
Diskgroup Name: ACFS
 
         Volume Name: VOLDIAG1
         Volume Device: /dev/asm/voldiag1-16
         State: ENABLED
         Size (MB): 15360
         Resize Unit (MB): 32
         Redundancy: UNPROT
         Stripe Columns: 4
         Stripe Width (K): 128
         Usage: ACFS
         Mountpath: /u01/app/oracle/diag_acfs

Filesystem mounten

Mounten als User Root:

su -
 
/bin/mount -t acfs /dev/asm/voldiag1-16 /u01/app/oracle/diag_acfs

Filesystem testen

Als User Oracle testen:

ls -la /u01/app/oracle/diag_acfs
total 72
...
-rw-r--r--   1 oracle oinstall     0 Nov  8 18:40 test.txt

Datei ist da!

Tail Fehler

Nach einem Linux Upgrade fällt folgendes Verhalten auf:

tail -f alert_GPIDB1.log
..
tail: unrecognized file system type 0x61636673 for 'alert_GPIDB1.log'. Reverting to polling.
...

Im Support Portal keine eindeutigen Daten zu diesem Problem …. kann ignoriert werden, hier fehlt wohl ein Filesystem Feature.


Vergrößern

  • Neue ASM Disks hinzufügen
  • Vergrößen mit „acfsutil size +20G /u01/app/oracle/diag_acfs“ falls auf der ASM Diskgroup noch Platz ist bzw. dort neue asm disk hinzufügen.
    acfsutil size +20G /u01/app/oracle/diag_acfs

Verkleinern

Aufgabe: eine 100GB ASM Platte soll vom ACFS Volume entfernt werden um einer anderen LUN zugeordnet werden zu können.

Übersicht:

acfsutil info fs
 
..
primary volume: /dev/asm/volbackup01-430
..
total size:   697932185600  ( 650.00 GB )
total free:   236225093632  ( 220.00 GB )
..
 
acfsutil info fs -o freespace /u01/app/oracle/acfs
236225093632

Nun um 110 GB verkleinern mit:

acfsutil size -110G /u01/app/oracle/acfs

Das funktioniert nicht!

Problem: ACFS-03006: smallest size, without loss of data

acfsutil size: ACFS-03006: smallest size, without loss of data, is: 697924845568 (665593MB)

Siehe ACFSUTIL resize operation fails with „ACFS-03006: smallest size“ (Doc ID 1597710.1)

D.h. das ACFS muss komplett neu angelegt werden!

  • Daten retten ( auf anderes Filesystem umkopieren)
  • Alles auschalten was auf das Filesystem schreibt ( Backup etc!)
  • ACFS Filesystem auf beiden Knoten dismounten
  • ACFS Filesystem löschen mit acfsutil [-h] rmfs <device>
     acfsutil rmfs /dev/asm/volbackup01-430
     
  • ACFS Diskgroup umkonfiguriren
     alter disksgroup ACFS drop disk .... 
  • ACFS Filesystem neu anlegen( siehe oben)
  • Daten wieder auf das ACFS legen
  • Jobs wieder aktivieren die das Filesystem nützen

Quellen

Oracle:

Web:

Support:

  • „ACFS Support On OS Platforms (Certification Matrix). (Doc ID 1369107.1)“
  • How to Mount or Unmount ACFS File System While Applying GI Patches? (Doc ID 1494652.1)
  • How To Mount An ACFS Filesystem Through NFS On Linux. (Doc ID 1522878.1)
Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
"Autor: Gunther Pipperr"
dba/rac_asm_acfs_filesystem.txt · Zuletzt geändert: 2018/05/10 08:30 von Gunther Pippèrr