2010-02-26

Oracle RAC 11gR1 erfahren (Teil 7) Abschluss

7             Problemsammlung

a)    Performanceeinstellungen des Rechners bzw. Notebook:
Auf dem Rechner bzw. Notebook sind zunächst alle Powermanagementfunktionen zu deaktivieren. Den Rechner also auf maximale Performance einstellen. Einen automatischen Standby Modus, automatische Plattenabschaltung usw. deaktivieren. Auch den Bildschirmschoner abstellen.

b)    Hänger der VM Maschinen:
Nach der Clusterware Installation bleiben die VM Maschinen bei umfangreicheren Disk-Aktionen (z.B. Entpacken der DB-Installationsdateien) hängen. Folgende Einträge finden sich dann im VMware-Log
(z.B. …\Virtual Machines 11g\OEL5_RAC\rac1\vmware.log):

...

Nov 19 21:21:40: vcpu-0| DISKLIB-LIB   : Opened "c:\dokumente und einstellungen\ra\eigene dateien\my virtual machines\virtual machines 11g\oel5_rac\share\OLE5_OraDB11gR1_OCFS2.vmdk" (flags 0x2).

Nov 19 21:21:40: vmx| SCSI0:0: Command READ(10) took 22.426 seconds (ok)

Nov 19 21:21:40: vmx| Msg_Post: Error

Nov 19 21:21:40: vmx| [msg.scsi.reservation.locktimeoutrecover] This virtual machine has been unresponsive for more than 20 seconds and has caused another virtual machine sharing a disk with it via SCSI reservations to believe it has died. It is therefore unsafe for this virtual machine to resume activity, and this virtual machine will now terminate. If a 20 second delay is not long enough to be an accurate 'death heuristic' it can be changed by setting the "reslck.timeout" configuration variable. It is extremely unlikely that this should ever be necessary.

Nov 19 21:21:40: vmx| ----------------------------------------

Nov 19 21:21:40: vmx| POST(no connection): This virtual machine has been unresponsive for more than 20 seconds and has caused another virtual machine sharing a disk with it via SCSI reservations to believe it has died. It is therefore unsafe for this virtual machine to resume activity, and this virtual machine will now terminate. If a 20 second delay is not long enough to be an accurate 'death heuristic' it can be changed by setting the "reslck.timeout" configuration variable. It is extremely unlikely that this should ever be necessary.

Nov 19 21:21:40: vmx|

Nov 19 21:21:40: vmx| SCSI DISK: key0=28686 key1=28682

Nov 19 21:21:40: vmx| NOT_IMPLEMENTED C:/ob/bora-108231/pompeii2005/bora/devices/scsi/scsiDisk.c:2874 bugNr=41568

...

Lösung folgenden Parameter in den VMX Dateien setzen, der Beispielwert ist willkürlich sehr hoch gesetzt:
reslck.timeout="1200"

c)    Performance Ergänzungen für VMware:
In der VMware Maschine das Memory Page Trimming deaktivieren, über

·    “VM > Settings > Options > Advanced” oder

·    MemTrimRate = "0" in den VMX Dateien

Das Memory Sharing zwischen den virtuellen Maschinen ausschalten:
sched.mem.pshare.enable = "FALSE” in den VMX Dateien

Das Schreiben von VMware Virtual Memory Dateien ausschalten durch
mainMem.useNamedFile = FALSE
in “C:\Documents and Settings\All Users\Application Data\VMware\VMware Server\settings.ini”
(Je nach VMware Version heißt die Datei auch config.ini)

d)    Konfiguration der Antivirensoftware:
Der Echtzeit Virenscan der Antivirensoftware sollte für folgende VMware Dateien deaktiviert werden:

·   VMware Virtual Memory Dateien        (.vmem Endung)

·    VMware Virtual Disk Dateien              (.vmdk Endung)

e)    Konkurrierende Entscheidungen zwischen Performance und Platzverbrauch:
Shared Disks für ASM bzw. OCFS2 sollten in VMware möglichst mit der Option „Allocate all disk space now“ erstellt werden. Dies verbraucht aber unabhängig von der Datenbankgröße mehr Plattenplatz.

f)     Schnellere RAC Installation:
Wenn die Zeit drängt, kann das Booten zur Kontrolle zwischen den einzelnen Installationsschritten in Abschnitt 5 ausgelassen werden.

g)    Netzwerkkonfiguration:
Wenn das Notebook in einem Netz mit DHCP Server hängt, dann kann es beim Installieren der Datenbanksoftware genauer beim Prüfen der Voraussetzungen zu einer Warnung kommen und die Netzwerkkonfiguration wird im OUI nicht geprüft.

ADF News Session - Deployment von ADF Applikationen

heute morgen fand die zweite ADF News Session zum Thema "Deployment von ADF Applikationen auf den WebLogic Server" statt.

image

Inhalt

  • Installation und Konfiguration einer ADF-Domäne
  • Vorbereitung Deployment
    • Datenquelle
    • Security
    • MDS-Registry
  • Überblick und Diskussion Deploymentverfahren
    • JDeveloper: WLS-Connection
    • Web: Admin Console/Enterprise Manager
    • Script: Ant / WLST
  • Best Practices / Automatisierung

Download der Präsentation als PDF

Diskussion im OTN-Forum

Weitere Informationen zu den ADF News Session gibt es unter http://www.oracle.com/global/de/community/adf/documents/ADF%20News%20Sessions.pdf.

2010-02-19

Oracle RAC 11gR1 erfahren (Teil 6)

6             Installation Datenbank

Nun wird die Oracle Software für Datenbank installiert. Dies erfolgt unter dem Benutzer oracle nur von einem Knoten, vom ersten Knoten vmrac1, aus. Danach wird eine einfache RAC Datenbank angelegt.

6.1         Vorarbeiten und mit cvu prüfen

Vorarbeiten sind für die Installation der Datenbank nicht mehr erforderlich. Die Datenbanksoftware Installationsdateien liegen bereits entpackt vor und dass die Installationsvoraussetzungen für die Datenbanksoftware auf allen Knoten gegeben sind wurde mit dem Clusterverification Utility (CVU) bereits geprüft. (siehe Abschnitt 5.1)

6.2         Datenbank Software installieren

1)    Den Oracle Universal Installer als Betriebssystembenutzer oracle vom ersten Knoten (vmrac1) aus zur Installation der Datenbanksoftware starten.
cd /u01/software/database
./runInstaller

2)    Den Willkommen Dialog mit Weiter bestätigen.
clip_image002

3)    Als Installationsart „Enterprise Edition“ auswählen und mit Weiter bestätigen.
clip_image004

4)    Das Oracle Base Verzeichnis (/u01/app) kontrollieren bzw. anpassen. Den Namen für die Installation (OraDB11g_home1) und das Verzeichnis zur Installation der Datenbanksoftware (/u01/app/oracle/product/11.1.0/db_1) angeben und mit Weiter bestätigen.
clip_image006

5)    Es erfolgt eine Cluster-Installation, dazu sind alle Knoten mit „Alle auswählen“ zu markieren. Mit Weiter bestätigen.
clip_image008

6)    Der Prüfdialog sollte keine Probleme ermitteln (0 Anforderungen, die überprüft werden müssen). Mit Weiter bestätigen.
clip_image010
Wenn das Notebook in einem Netz mit DHCP Server hängt, dann kann es zu einer Warnung kommen und die Netzwerkkonfiguration wird nicht geprüft.

7)    Nur Software installieren“ auswählen und mit Weiter bestätigen.
clip_image012

8)    Die Betriebssystemgruppen (OSDBA = dba, OSOPER = oper und ASM = oinstall) kontrollieren. Mit Weiter bestätigen.
clip_image014

9)    Nun aus dem abschließenden Überblick Dialog die Installation mit Installieren starten.
clip_image016

10)  Der Installationsverlauf wird angezeigt.
clip_image018

11)  Wenn dieser Dialog erschein das Skript wie angegeben auf jedem Cluster Knoten unter root ausführen. Danach mit OK bestätigen.
clip_image020

12)  Als Betriebssystembenutzer root das Script (z.B. per Copy und Paste) nacheinander auf den Cluster Knoten ausführen. Dabei alle Rückfragen einfach mit [enter] bestätigen.
/u01/app/oracle/product/11.1.0/db_1/root.sh

Ausgabe (z.B. auf Knoten 1):
[root@vmrac1 ~]# /u01/app/oracle/product/11.1.0/db_1/root.sh

Running Oracle 11g root.sh script...

 

The following environment variables are set as:

    ORACLE_OWNER= oracle

    ORACLE_HOME=  /u01/app/oracle/product/11.1.0/db_1

 

Enter the full pathname of the local bin directory: [/usr/local/bin]:

The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n)

[n]:

The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)

[n]:

The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)

[n]:

 

Entries will be added to the /etc/oratab file as needed by

Database Configuration Assistant when a database is created

Finished running generic part of root.sh script.

Now product-specific root actions will be performed.

Finished product-specific root actions.

[root@vmrac1 ~]#

13)  Den abschließenden Dialog beenden.
clip_image022

14)  Die Nachfrage zum Beenden mit Ja bestätigen.
clip_image024

6.3         SQL-Net Konfiguration übernehmen

Die SQL-Net Konfiguration, welche unter dem ASM-Home angelegt wurde, muss nun auch im Datenbank-Home verfügbar gemacht werden.

1)                   Einen Link auf die sqlnet.ora Datei anlegen.
ln –s /u01/app/asm/network/admin/sqlnet.ora /u01/app/oracle/product/11.1.0/db_1/network/admin/sqlnet.ora

2)    Einen Link auf die tnsnames.ora Datei anlegen.
ln –s /u01/app/asm/network/admin/tnsnames.ora /u01/app/oracle/product/11.1.0/db_1/network/admin/tnsnames.ora

6.4         Datenbank konfigurieren

Es wird nun eine einfache vordefinierte Datenbank erstellt.

1)    Zunächst die Umgebungsvariable ORACLE_HOME setzen.
export ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1

2)    Nun den Oracle Datenbank-Konfigurationsassistenten starten.
cd $ORACLE_HOME/bin
./dbca

3)    Als Konfigurationstyp „Oracle Real Application Cluster-Datenbank“ wählen und mit Weiter bestätigen.
clip_image026

4)    Als Vorgang „Datenbank erstellen“ auswählen und mit Weiter bestätigen.
clip_image028

5)    Über den Button „Alle markieren“ alle Clusterknoten wählen und mit Weiter fortfahren.
clip_image030

6)    Zum Anlegen eine Vorlage verwenden, z.B. „Allgemeiner Gebrauch oder Transaktionsverarbeitung“ wählen und mit Weiter bestätigen.
clip_image032

7)    Als globalen Tatenbanknamen demo angeben. Der SID-Präfix wird automatisch ebenfalls mit demo gefüllt. Mit Weiter bestätigen.
clip_image034

8)    Als Verwaltungsoption den Enterprise Manager aktiviert lassen, damit das Database Control genutzt werden kann. Mit Weiter fortfahren.
clip_image036

9)    Für die Datenbankbenutzer SYS und SYSTEM Kennwörter festlegen, ggf. ein einheitliches Kennwort für alle, und mit Weiter bestätigen.
clip_image038

10)  Als Speicheroption „Automatic Storage Management (ASM)“ wählen und mit Weiter fortfahren.
clip_image040

11)  Die Plattengruppe ORADATA auswählen und mit Weiter bestätigen.
clip_image042

12)  Auf der Plattengruppe „Oracle-Managed Files verwenden“. Mit Weiter bestätigen.
clip_image044

13)  Für den Flash Recovery-Bereich die Plattengruppe +ORARECO angeben, keine Archivierung wählen und mit Weiter fortfahren.
clip_image046

14)  Damit die Datenbank auch Daten für Tests enthält „Beispielschemata“ anwählen, danach mit Weiter fortfahren.
clip_image048

15)  Die Speichergröße festlegen (300MB), kein „Automatic Memory Management verwenden“ auswählen. Die Details der Instanzparameter über „Alle Initialisierungsparameter…“ abändern (siehe folgenden Punkt). Danach auf die nächste Registerkarte „Skalierung“ wechseln.
clip_image050

16)  In der Übersicht „Alle Initialisierungsparameter“ durch „Zusatzparameter anzeigen“ alle Parameter sichtbar machen.
Den Parameter SGA_MAX_SIZE auf einen höheren Wert (400M) setzen als SGA_TARGET um ein dynamisches Vergrößern des Hauptspeichers zu ermöglichen.
Die Änderungen mit Schließen übernehmen.

clip_image052

17)  Die Angaben zu Prozesse werden ohne Änderung übernommen, auf die nächste Registerkarte „Zeichensätze“ wechseln.
clip_image054

18)  Auch den Zeichensatz und die übrigen Spracheinstellungen unverändert lassen und auf die nächste Registerkarte „Verbindungsmodus“ wechseln.
clip_image056

19)  Nach Bedarf den Verbindungsmodus, nur „Dedizierter Server-Modus“ oder „Shared Server-Modus“, der beides zulässt, wählen. Mit Weiter fortfahren.
clip_image058

20)  Die Standardsicherheitseinstellungen unverändert mit Weiter übernehmen.
clip_image060

21)  Die Konfiguration zu Automatische Wartungs-Tasks unverändert mit Weiter übernehmen.
clip_image062

22)  Im Schritt zum Datenbankspeicher bzw. zu den Dateien die Konfiguration unverändert mit Weiter übernehmen.
clip_image064

23)  Im letzten Schritt „Datenbank erstellen“ und falls gewünscht zur Dokumentation der initialen Konfiguration „Scripts für das Erstellen von Datenbanken generieren“ auswählen. Den Assistenten beenden und damit die Installation starten.
clip_image066

24)  Die abschließende HTML Zusammenfassung noch einmal kontrollieren und mit OK bestätigen.
clip_image068

25)  Zunächst werden ggf. die Scripte angelegt, ein entsprechender Dialog ist mit OK zu bestätigen, dann erfolgt die Installation der Datenbank.
clip_image070

26)  Den letzten Dialog mit Beenden verlassen.
clip_image072

27)  Es folgt das abschließende Durchstarten der Datenbank als Clusterdatenbank. Dies kann recht lange dauern. Wenn das erfolgreich durchgeführt ist, dann schließt sich dieser Dialog automatisch und mit ihm auch der  Datenbank-Konfigurationsassistent.
clip_image074

28)  Als Betriebssystembenutzer oracle vom Knoten 1 aus prüfen, ob je Knoten eine Datenbankinstanz als Service im Cluster angelegt ist und ordnungsgemäß läuft.
/u01/app/crs/bin/crs_stat –t

Ausgabe:
[oracle@vmrac1]~% /u01/app/crs/bin/crs_stat -t
Name           Type           Target    State     Host       
------------------------------------------------------------
ora....SM1.asm application    ONLINE    ONLINE    vmrac1     
ora....C1.lsnr application    ONLINE    ONLINE    vmrac1     
ora.vmrac1.gsd application    ONLINE    ONLINE    vmrac1     
ora.vmrac1.ons application    ONLINE    ONLINE    vmrac1     
ora.vmrac1.vip application    ONLINE    ONLINE    vmrac1     
ora....SM2.asm application    ONLINE    ONLINE    vmrac2     
ora....C2.lsnr application    ONLINE    ONLINE    vmrac2     
ora.vmrac2.gsd application    ONLINE    ONLINE    vmrac2     
ora.vmrac2.ons application    ONLINE    ONLINE    vmrac2     
ora.vmrac2.vip application    ONLINE    ONLINE    vmrac2     
[oracle@vmrac1]~%

29)  Reboot aller Knoten als root durchführen, um zu testen, dass die Clusterware mit den Datenbankservices sauber startet.
init 6

30)  Danach wieder auf allen Knoten mit oracle anmelden, ein Terminalfenster öffnen und Test aus Schritt 28) wiederholen.

2010-02-16

Download: team-vertumnus-sample

In unserem Artikel: “Migration von Forms über APEX zu Oracle ADF” der in den DOAG News veröffentlich wurde hat sich leider ein falscher Download eingeschlichen. Das dort angegebene Sample gibt es hier:  team-vertumnus-sample

Hinter dem nächsten Bild versteckt sich ein kleines Viewlet, dass zeigt wie man mit dem von uns beschriebenen Ansatz eine entsprechende PL/SQL Table API erzeugen kann.

image