Zu Oracle

Bereich:
Versionsinfo:
DBA
10.2
Erstellung:
Letzte Überarbeitung:
07/2009 MP
07/2009 MP
 Als PDF Downloaden!

Empfehlungslisten für Initialisierungsparameter (bei APEX 3.2)

Bei manchen (äh fast allen) Applikationen gibt es die geliebten ReadMe (RTFM) Dateien. Jeder liest diese Dateien natürlich ordnungsgemäß komplett von vorne bis hinten durch. :-)

Sollten durch die Installation einer Applikation diverse Initialisierungsparameter auf bestimmte Werte gesetzt werden müssen, könnte man dem Benutzer folgenden kleinen SQL-Befehl (natürlich angepasst an Ihre Wünsche) mitgeben:

REM Beispielempfehlung für die Installation von Apex 3.2 mit dem EPG Gateway auf Oracle 10.2/11.1/11.2 Datenbanken:

SELECT * FROM (
                SELECT name, nvl(display_value,'NULL') as Wert, CASE
                WHEN name='db_create_file_dest'
                   THEN (select substr(name,1,instr(name,'\',-1)-1) from                          v$datafile where rownum=1)
                WHEN name='shared_servers'
                   THEN '>=5 bei EPG'
                WHEN name='max_shared_servers'
                   THEN '>=20 bei EPG'
                WHEN name='job_queue_processes'
                   THEN '>=10'
                WHEN name='session_cached_cursors'
                   THEN '>=50'
                WHEN name='sga_max_size'
                   THEN '>=350M'
                WHEN name='sga_target'
                   THEN '>=350M'
                WHEN name='dispatchers'
                   THEN (select'(PROTOCOL=TCP) (SERVICE='||value ||'XDB)
                         (DISPATCHERS=3)' from v$parameter where
                         name='instance_name')
                WHEN name='audit_trail'
                   THEN 'db,extended oder xml,extended'
                END as empfehlung
                FROM v$parameter)
                WHERE empfehlung IS NOT NULL;

REM Ausgabe:

NAME                   Wert   EMPFEHLUNG
---------------------- ------ ----------------------------------------
sga_max_size           440M   >=350M
sga_target             440M   >=350M
db_create_file_dest    NULL   C:\ORACLE\PRODUCT\10.2.0\ORADATA\O10G
dispatchers            NULL   (PROTOCOL=TCP)(SERVICE=o10gXDB)
                              (DISPATCHERS=3)
shared_servers         0      >=5 
max_shared_servers     NULL   >=20 
session_cached_cursors 20     >=50 
job_queue_processes    10     >5
audit_trail            NONE   db,extended oder xml,extended

Oder Sie basteln dem Benutzer ein Skript, das die Parameter gleich selber umsetzt: 

SELECT * FROM (
                SELECT CASE
                WHEN name='db_create_file_dest'
                   THEN (select 'ALTER SYSTEM SET db_create_file_dest='
                         ||substr(name,1,decode(instr(name,'\'),0,
                         instr(name,'/',-,2),instr(name,'\',-1,2))-1)
                         ||';' from v$datafile where rownum=1)
                WHEN name='shared_servers'
                   THEN 'ALTER SYSTEM SET shared_servers=5;'
                WHEN name='max_shared_servers'
                   THEN 'ALTER SYSTEM SET max_shared_servers=20;'
                WHEN name='job_queue_processes'
                   THEN 'ALTER SYSTEM SET job_queue_processes=10;'
                WHEN name='session_cached_cursors'
                   THEN 'ALTER SYSTEM SET session_cached_cursors=50;'
                WHEN name='sga_max_size'
                   THEN 'ALTER SYSTEM SET sga_max_size=350M SCOPE=SPFILE;'
                WHEN name='sga_target'
                   THEN 'ALTER SYSTEM SET sga_target=350M SCOPE=SPFILE;'
                WHEN name='dispatchers'
                   THEN (select 'ALTER SYSTEM SET dispatchers=
                         (PROTOCOL=TCP)(SERVICE='|| value || 'XDB)
                         (DISPATCHERS=3) scope=spfile;' from v$parameter
                         where name='instance_name')
                WHEN name='audit_trail'
                   THEN 'ALTER SYSTEM SET audit_trail='||chr(39)||
                        'db,extended'||chr(39)||'scope=spfile;'
                END as empfehlung
                FROM v$parameter)
                WHERE empfehlung IS NOT NULL;

REM Ausgabe:
ALTER SYSTEM SET sga_max_size=350M SCOPE=SPFILE;
ALTER SYSTEM SET sga_target=350M SCOPE=SPFILE;
ALTER SYSTEM SET db_create_file_dest=/opt/oracle/oradata;
ALTER SYSTEM SET dispatchers=(PROTOCOL=TCP) (SERVICE=orclXDB) (DISPATCHERS=3) scope=spfile;
ALTER SYSTEM SET shared_servers=5;
ALTER SYSTEM SET max_shared_servers=20;
ALTER SYSTEM SET session_cached_cursors=50;
ALTER SYSTEM SET job_queue_processes=10;
ALTER SYSTEM SET audit_trail='db,extended' scope=spfile;

Natürlich können Sie die Parameterempfehlungen mit Ihren eigenen Wünschen optimieren.

Diese und noch viele weitere Tricks lernen Sie z.B. in unserem APEX Kurs (PS: ab August 2009 zwei Kurse mit je 5 Tagen)

Suche

Kontakt

Niederlassungen

  Witneystraße

    089 6228 6789-0

  Grünwalder Weg

    089 679090-40

E-Mail Verteiler Monatstipps

Bitte nehmen Sie mich in den Verteiler der monatlichen Tipps & Tricks auf.