以前のバージョンでは、32bit 版 Linux + 32bit 版 Oracle の組み合わせだと、デフォルトの設定では sga_max_size が1.7GB程度までしか取得できませんでした。
(RHEL3 + 9.2 の組み合わせの場合 1.6GB強までだったような….)
で、32bit のまま頑張るのであれば mapped_base を下げたり、VLM 使ったりとしていました。
Oracle 10g R2 から mapped_base がデフォルトで 0x20000000 になっている (それまでは 0x40000000. もっと昔はもっと上だったような….)ので、デフォルトで +0.5GB 程度確保出来るようになってます。
ちなみに手元の RHEL3 + 10g R2 環境だと 2288MB まで行きました。
以前も使えた手ではあるのですが、どこまでアドレスを下げるかが悩ましく、Oracle のドキュメントに例で出てくる 0x15000000 にしておく事が多かったのですが、そこらへんのストレスが少なくなって良いですね。
まあ、超巨大(512MB以上)な PGAとか取ろうとしたら、問題が出るかもしれませんが…