Hallo zusammen! Habe mich heute hier angemeldet und was ich bisher gesehen und gelesen habe, gefällt mir!
Was ich nun brauche ist folgendes:
Folgende Situation: Ich habe auf einer VMWare (Win2k) einen Oracle Server rennen und steuere diesen über ein anderes Notebook ohne VM im Netzwerk an - über HTML! Meine Frage ist nun: Wie kann man den Server-PC schneller machen? Welche Einstellungen muss ich in der VMWare und im OS der VM sowie im normalen OS des Server-PCs verändern, damit das ganze noch schneller geht?
Ich danke schonmal für die antworten und freue mich, dass ich dieses Forum gefunden habe!
Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!
Netzwerkeinstellungen optimieren
Hallo,
da wären natürlich erstmal die normalen DB-Optimierungen:
-1- fehlende Indexe,
-2- DB Cache-size
-3- Shared Pool
-4- Java und Large-Pool
-5- sonstiges, wie Latches, etc.
-6- Redo-Log Größe und Redo-Buffer
-7- IO-Verteilung
danach Optimierung der Virtuellen Maschine
-1- die VM sollte nicht swappen, der Host aber natürlich auch nicht
-2- Verzicht auf unnötige Services (spziell Virenscanner bremsen die DB total aus! wenn falsch eingestellt)
-3- die Laufwerkes-Container der VM sollten auf unterschiedlichen physikalischen Platten liegen
-4- anstelle von dyn. wachsenden Platten, alles auf einmal allokieren
-5- die physikalischen Platten defragmentieren
-6- die Platten innerhalb der VM defragmentieren
Wenn man's sich traut:
-1- Raw-Devices anlegen und der VM als Raw-Partitions geben dann
-2- Oracle DB auf diese packen, das nimmt den Overhead bei Zugriffen raus, interessant wäre das ggf. für die Redo-Logs (ggf. auch Temp und UNDO-Bereiche), weil dort emsig geschrieben wird. (Wie und ob Raw Devices unter W2K genutzt werden weiss ich nicht...). Ggf. über ASM.
VMWare spezifische Optimierungen fallen mir ausser der letzten keine ein.
Grüße, Martin
da wären natürlich erstmal die normalen DB-Optimierungen:
-1- fehlende Indexe,
-2- DB Cache-size
-3- Shared Pool
-4- Java und Large-Pool
-5- sonstiges, wie Latches, etc.
-6- Redo-Log Größe und Redo-Buffer
-7- IO-Verteilung
danach Optimierung der Virtuellen Maschine
-1- die VM sollte nicht swappen, der Host aber natürlich auch nicht
-2- Verzicht auf unnötige Services (spziell Virenscanner bremsen die DB total aus! wenn falsch eingestellt)
-3- die Laufwerkes-Container der VM sollten auf unterschiedlichen physikalischen Platten liegen
-4- anstelle von dyn. wachsenden Platten, alles auf einmal allokieren
-5- die physikalischen Platten defragmentieren
-6- die Platten innerhalb der VM defragmentieren
Wenn man's sich traut:
-1- Raw-Devices anlegen und der VM als Raw-Partitions geben dann
-2- Oracle DB auf diese packen, das nimmt den Overhead bei Zugriffen raus, interessant wäre das ggf. für die Redo-Logs (ggf. auch Temp und UNDO-Bereiche), weil dort emsig geschrieben wird. (Wie und ob Raw Devices unter W2K genutzt werden weiss ich nicht...). Ggf. über ASM.
VMWare spezifische Optimierungen fallen mir ausser der letzten keine ein.
Grüße, Martin
OK, da tun sich natürlich einige Problem auf: Wo stell ich die ganzen Geschichten ein?
In erster Linie geht es mir hierum:
-1- fehlende Indexe,
-2- DB Cache-size
-3- Shared Pool
-4- Java und Large-Pool
-5- sonstiges, wie Latches, etc.
-6- Redo-Log Größe und Redo-Buffer
-7- IO-Verteilung
und dann sind mir diese Sachen auch nicht ganz eindeutig, sprich ich weiß nicht, wo und wie...:
-1- die VM sollte nicht swappen, der Host aber natürlich auch nicht
-4- anstelle von dyn. wachsenden Platten, alles auf einmal allokieren
-1- Raw-Devices anlegen und der VM als Raw-Partitions geben dann
-2- Oracle DB auf diese packen, das nimmt den Overhead bei Zugriffen raus
Danke!
In erster Linie geht es mir hierum:
-1- fehlende Indexe,
-2- DB Cache-size
-3- Shared Pool
-4- Java und Large-Pool
-5- sonstiges, wie Latches, etc.
-6- Redo-Log Größe und Redo-Buffer
-7- IO-Verteilung
und dann sind mir diese Sachen auch nicht ganz eindeutig, sprich ich weiß nicht, wo und wie...:
-1- die VM sollte nicht swappen, der Host aber natürlich auch nicht
-4- anstelle von dyn. wachsenden Platten, alles auf einmal allokieren
-1- Raw-Devices anlegen und der VM als Raw-Partitions geben dann
-2- Oracle DB auf diese packen, das nimmt den Overhead bei Zugriffen raus
Danke!
Hallo,
tja, Oracle ist ein weites Feld...
Wenn Du Dir nicht sicher bist, lass lieber erstmal die Finger von Oracle's Konfig. Für den Fall, dass Du "spielen" möchtest, hier ein paar Tipps:
die Parameter stehen in der Konfiguration, dem sog. spfile.
Damit Du hier was mit Notepad und Konsorten ändern kannst, mach folgendes im cmd:
sqlplus " / as sysdba"
create pfile from spfile;
shutdown
exit
Öffne die Datei C:\oracle\oraXY\database\initORCL.ora mit dem Notepad. Pass die Parameter mit cache und size an. Die Werte sind jeweils in Byte angegeben, wenn kein K oder M folgt. Speichere alles und lösch hernach das spfileORCL.ora (besser Sicherheitskopie machen).
Danach:
sqlplus " / as sysdba"
create spfile from pfile;
startup
exit
Danach ist das Spfile wieder angelegt und in Benutzung. Die initORCL.ora (ORCL= SID, bei mit TLOKAL anpassen wenn Deine Instanz anders heisst) kannst dann löschen.
Das pfile sollte ungefähr folgende Zeilen enthalten. Fett = tuning-relevant:
*._parallel_broadcast_enabled=FALSE
*.aq_tm_processes=1
*.background_dump_dest='F:\oracle\admin\tLOKAL\bdump'
*.compatible='9.2.0.0.0'
*.control_files='F:\oradata\tLOKAL\CONTROL01.CTL','F:\oradata\tLOKAL\CONTROL02.CTL','F:\oradata\tLOKAL\CONTROL03.CTL'
*.core_dump_dest='F:\oracle\admin\tLOKAL\cdump'
*.cursor_sharing='SIMILAR'
*.db_block_size=4096
*.db_cache_size=100663296
*.db_create_file_dest='F:\ORADATA\Tlokal'
*.db_create_online_log_dest_1='F:\ORADATA\Tlokal'
*.db_domain=''
*.db_file_multiblock_read_count=8
*.db_name='tLOKAL'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=tLOKALXDB)'
*.fast_start_mttr_target=300
*.hash_join_enabled=FALSE
*.instance_name='tLOKAL'
*.java_pool_size=157286400
*.job_queue_processes=10
*.large_pool_size=33554432
*.local_listener='(Address_list=(Address=(Protocol=TCP)(Host=172.30.254.142)(Port=1522)))'
*.log_archive_dest_1='location=F:\oracle\admin\tLOKAL\archive\'
*.log_archive_start=TRUE
*.max_enabled_roles=40
*.open_cursors=300
*.pga_aggregate_target=67108864
*.processes=150
*.query_rewrite_enabled='FALSE'
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_max_size=1073741824
*.shared_pool_size=157286400
*.shared_servers=2
*.sort_area_size=524288
*.star_transformation_enabled='FALSE'
*.timed_statistics=TRUE
*.undo_management='AUTO'
*.undo_retention=9000
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='F:\oracle\admin\tLOKAL\udump'
Welche Indizes sinnvoll sind hängt von Deinen SQLs ab.
Guck mal im technet.oracle.com vorbei. Da gibt's Infos in Hülle und Fülle.
Wenn Du aber der einzige Nutzer bist, kannste das obige vergessen. Für wenige oder nur einen Benutzer sind die Default-Werte bei Oracle absolut ausreichend!!
Grüße, Martin
tja, Oracle ist ein weites Feld...
Wenn Du Dir nicht sicher bist, lass lieber erstmal die Finger von Oracle's Konfig. Für den Fall, dass Du "spielen" möchtest, hier ein paar Tipps:
die Parameter stehen in der Konfiguration, dem sog. spfile.
Damit Du hier was mit Notepad und Konsorten ändern kannst, mach folgendes im cmd:
sqlplus " / as sysdba"
create pfile from spfile;
shutdown
exit
Öffne die Datei C:\oracle\oraXY\database\initORCL.ora mit dem Notepad. Pass die Parameter mit cache und size an. Die Werte sind jeweils in Byte angegeben, wenn kein K oder M folgt. Speichere alles und lösch hernach das spfileORCL.ora (besser Sicherheitskopie machen).
Danach:
sqlplus " / as sysdba"
create spfile from pfile;
startup
exit
Danach ist das Spfile wieder angelegt und in Benutzung. Die initORCL.ora (ORCL= SID, bei mit TLOKAL anpassen wenn Deine Instanz anders heisst) kannst dann löschen.
Das pfile sollte ungefähr folgende Zeilen enthalten. Fett = tuning-relevant:
*._parallel_broadcast_enabled=FALSE
*.aq_tm_processes=1
*.background_dump_dest='F:\oracle\admin\tLOKAL\bdump'
*.compatible='9.2.0.0.0'
*.control_files='F:\oradata\tLOKAL\CONTROL01.CTL','F:\oradata\tLOKAL\CONTROL02.CTL','F:\oradata\tLOKAL\CONTROL03.CTL'
*.core_dump_dest='F:\oracle\admin\tLOKAL\cdump'
*.cursor_sharing='SIMILAR'
*.db_block_size=4096
*.db_cache_size=100663296
*.db_create_file_dest='F:\ORADATA\Tlokal'
*.db_create_online_log_dest_1='F:\ORADATA\Tlokal'
*.db_domain=''
*.db_file_multiblock_read_count=8
*.db_name='tLOKAL'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=tLOKALXDB)'
*.fast_start_mttr_target=300
*.hash_join_enabled=FALSE
*.instance_name='tLOKAL'
*.java_pool_size=157286400
*.job_queue_processes=10
*.large_pool_size=33554432
*.local_listener='(Address_list=(Address=(Protocol=TCP)(Host=172.30.254.142)(Port=1522)))'
*.log_archive_dest_1='location=F:\oracle\admin\tLOKAL\archive\'
*.log_archive_start=TRUE
*.max_enabled_roles=40
*.open_cursors=300
*.pga_aggregate_target=67108864
*.processes=150
*.query_rewrite_enabled='FALSE'
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_max_size=1073741824
*.shared_pool_size=157286400
*.shared_servers=2
*.sort_area_size=524288
*.star_transformation_enabled='FALSE'
*.timed_statistics=TRUE
*.undo_management='AUTO'
*.undo_retention=9000
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='F:\oracle\admin\tLOKAL\udump'
Welche Indizes sinnvoll sind hängt von Deinen SQLs ab.
Guck mal im technet.oracle.com vorbei. Da gibt's Infos in Hülle und Fülle.
Wenn Du aber der einzige Nutzer bist, kannste das obige vergessen. Für wenige oder nur einen Benutzer sind die Default-Werte bei Oracle absolut ausreichend!!
Grüße, Martin
-1- die VM sollte nicht swappen, der Host aber natürlich auch nicht =>
wenn Du 2 GB RAM hast, gib der VM max. 1-1,5GB, die DB sollte nicht mehr als 50% RAM der VM belegen
-4- anstelle von dyn. wachsenden Platten, alles auf einmal allokieren =>
das kann man beim Anlegen der VM, beim Anlegen neuer Platten oder nachträglich mit vmware-vdiskmanager.exe erreichen
wenn Du 2 GB RAM hast, gib der VM max. 1-1,5GB, die DB sollte nicht mehr als 50% RAM der VM belegen
-4- anstelle von dyn. wachsenden Platten, alles auf einmal allokieren =>
das kann man beim Anlegen der VM, beim Anlegen neuer Platten oder nachträglich mit vmware-vdiskmanager.exe erreichen
- continuum
- UNSTERBLICH(R.I.P.)
- Beiträge: 14759
- Registriert: 09.08.2003, 05:41
- Wohnort: sauerland
- Kontaktdaten:
Lesendswerter Artikel ueber Swapping bei Windows
http://aumha.org/win5/a/xpvm.php
Zur Verwendung von Raw-disks:
Bei dieser Sache bin ich mir hoechst unsicher - ich denke ich habe die Tuecken der Sache ziemlich im Griff - aber den Nutzen zur Performancesteigerung sehe ich nicht wirklich. Ich benutze Rawdisks eigentlich nur zur Datenrettung, oder um Festplatten fuer Windows-Installationen vorzubereiten oder um mal eben schnell eine Linuxplatte einzulesen.
Ansonsten finde ich die Sache so extrem anfaellig fuer Bedienungsfehler dass ich von einem Dauereinsatz nur abraten wuerde.
Bei NT4 und 2k wuerde ich es vielleicht noch nehmen - bei XP und 2k3 kann wegen Restorepoints und Shadowcopies so viel schiefgehen - ich mache dass schon auf einem Experimentalhost nur ungern.
!!! Vorsicht mit IDE-platten groesser als 136GB !!!!
Wenn dann noch mehrere User an dem Host hantieren ...
Ulli
http://aumha.org/win5/a/xpvm.php
Zur Verwendung von Raw-disks:
Bei dieser Sache bin ich mir hoechst unsicher - ich denke ich habe die Tuecken der Sache ziemlich im Griff - aber den Nutzen zur Performancesteigerung sehe ich nicht wirklich. Ich benutze Rawdisks eigentlich nur zur Datenrettung, oder um Festplatten fuer Windows-Installationen vorzubereiten oder um mal eben schnell eine Linuxplatte einzulesen.
Ansonsten finde ich die Sache so extrem anfaellig fuer Bedienungsfehler dass ich von einem Dauereinsatz nur abraten wuerde.
Bei NT4 und 2k wuerde ich es vielleicht noch nehmen - bei XP und 2k3 kann wegen Restorepoints und Shadowcopies so viel schiefgehen - ich mache dass schon auf einem Experimentalhost nur ungern.
!!! Vorsicht mit IDE-platten groesser als 136GB !!!!
Wenn dann noch mehrere User an dem Host hantieren ...
Ulli
Zurück zu „VMware Workstation und VMware Workstation Pro“
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste