OPT_PARAM というヒント句を使うと、その SQL の実行中のみ初期化パラメータを変更することができるらしいです。
OPT_PARAMヒントを使用すると、現行の問合せ中にのみ初期化パラメータを設定できます。このヒントは、パラメータOPTIMIZER_DYNAMIC_SAMPLING、OPTIMIZER_INDEX_CACHING、OPTIMIZER_INDEX_COST_ADJ、OPTIMIZER_SECURE_VIEW_MERGINGおよびSTAR_TRANSFORMATION_ENABLEDに対してのみ有効です。たとえば、次のヒントは、ヒントを追加した文のパラメータSTAR_TRANSFORMATION_ENABLEDをTRUEに設定します。
SELECT /*+ OPT_PARAM('star_transformation_enabled' 'true') */ * FROM ... ;
文字列のパラメータ値は、一重引用符で囲まれます。数値のパラメータ値は、一重引用符で囲まずに指定されます。
Oracle SQLの基本要素
OPT_PARAMヒントを使用すると、現行の問合せ中にのみ初期化パラメータを設定できます。 このヒントは、パラメータOPTIMIZER_DYNAMIC_SAMPLING、OPTIMIZER_INDEX_CACHING、OPTIMIZER_INDEX_COST_ADJ、OPTIMIZER_SECURE_VIEW_MERGINGおよびSTAR_TRANSFORMATION_ENABLEDに対してのみ有効です。 たとえば、次のヒントは、ヒントを追加した文のパラメータSTAR_TRANSFORMATION_ENABLEDをTRUEに設定します。
SELECT /*+ OPT_PARAM('star_transformation_enabled' 'true') */ * FROM ... ;
コメント
文字列のパラメータ値は、一重引用符で囲まれます。 数値のパラメータ値は、一重引用符で囲まずに指定されます。
Staring in Oracle 10g release 2, Oracle introduced the opt_param SQL hint, without documentation. It appears that the opt_param hint is very similar to the "alter session" method for changing parameters, but it only applies to that specific SQL statement.
Troubleshooting tip! For testing, you can quickly test the effect of another optimizer parameter value at the query level without using an alter session command, using the new opt_param SQL hint:
Oracle opt_param SQL hint tips
製品マニュアルに登場するのは 11g からですが、10gR2 から存在していたようですね。