Nastavit minimum paměti pro Oracle XE instanci je snadné. Pokud používáte SPFILE (doporučeno, zejména pokud pracujete přes APEX), můžete parametry nastavit rovnou "z fleku". Jako sysdba je potřeba provést:

SQL> show parameters sga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 950M
sga_target big integer 800M

SQL> alter system set sga_max_size=300m scope=spfile;

System altered.

SQL> alter system set sga_target=300m;

System altered.

SQL> show parameters pga;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 200M

SQL> alter system set pga_aggregate_target=80m;

System altered.

Doporučená minimální hodnota pro nějaké to experimentování je 400 MB pro SGA a 100 MB pro PGA. Doporučuji nastavit také hodnotu sga_max_size, abyste si byli jisti, že tuhle hodnotu Oracle nepřekročí. Případně ji můžete nastavit o něco výše než je sga_target a doufat, že bude mít databáze paměti dost a vejde se to nařízeného cílového stavu.

Menší hodnoty při jenom trošku náročnějším používání mohou skončit také tak, že se Oracle XE "zasekne" a nepůjde shodit init skriptem ani standardní cestou. V případě "zaseknutí" je nutné přihlásit se jako uživatel "oracle", nastavit si potřebné proměnné a provést SHUTDOWN ABORT.

export ORACLE_BASE=/usr/lib/oracle/xe/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/server
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_SID=XE

$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Wed Sep 15 14:09:42 2010

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected.
SQL> SHUTDOWN ABORT

Pakliže preferujete PFILE konfiguraci, stačí poeditovat soubor /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/dbs/init.ora. Pozor! Nesplést se souborem /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/init.ora! V souboru nastavte tyto hodnoty:

# 100 MB minimum (100000000), default 805306368
sga_target=400000000
sga_max_size=400000000

# 20 MB minimum (20000000), default 268435456
pga_aggregate_target=100000000

Ujistěte se, že instance nepoužívá SPFILE soubor (u Oracle XE je to vždy spfileXE.ora). Pokud tento soubor existuje, init.ora se nepoužije a musíte hodnoty nastavovat výše uvedeným způsobem.