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:
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;
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;
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)
In unserer Know-How Datenbank finden Sie mehr als 300 ausführliche Beiträge zu den
Oracle-Themen wie DBA, SQL, PL/SQL, APEX und vielem mehr.
Hier erhalten Sie Antworten auf Ihre Fragen.