ルーチンの共有ライブラリーの再構築
fenced された、スレッド・セーフではないルーチン。 データベース・マネージャー構成キーワード keepfenced のデフォルト値は YESです。 そのため、fenced モード・プロセスは存続し続けます。 このデフォルト設定によって、ライブラリーの再ロードが妨げられることがあります。 fenced された、スレッド・セーフではないルーチンの開発中はこのキーワードの値を NO に変更しておいて、 最終バージョンの共有ライブラリーをロードする準備ができたら、この値を YES に戻すのが最善の方法です。 詳しくは、 データベース・マネージャー構成パラメーターの更新を参照してください。
信頼できる、またはスレッド・セーフのルーチン。 SQL ルーチン (SQL プロシージャーを含む) を除き、ルーチン・ライブラリーがトラステッド・ルーチンまたはスレッド・セーフ・ルーチンに使用されるときに、更新されたバージョンのルーチン・ライブラリーが確実に取得されるようにする唯一の方法は、コマンド行で db2stop の後に db2start を入力して、 データベース ・インスタンスをリサイクルすることです。 SQL ルーチンではこれは必要ありません。 SQL ルーチンが再作成される際には、コンパイラーは新しいユニークなライブラリー名を使用して、 競合の可能性を回避するからです。
また SQL ルーチン以外のルーチンの場合、ライブラリーに別の名前 (例えば、 foo.a を foo.1.a にする) を付けて新規バージョンのルーチンを作成し、 その新しいライブラリーで ALTER PROCEDURE または ALTER FUNCTION SQL ステートメントのいずれかを使用すると、 キャッシングの問題を避けることができます。