« スクロールバーあれこれの続き | トップページ | GetCharacterPlacementとカーソル配置 »

2007年1月14日 (日)

時間のかかる処理のタイムアウト

たまに、Oracleである一定の時間以上かかる処理を終了させるには?なんて質問を見受けれられるが、ここでは、そのサーバー側での設定方法を。これをサーバー側で設定するには、Oracleのプロファイルというものを利用する。プロファイルとはユーザーへのリソースの割り当ての制限やパスワードの制限を行うもので、これを使用すれば、一定時間以上かかる処理を自動的に終了させることができる。で、通常CREAT USER文でのユーザー作成時に特に使用するプロファイルを指定していなければ、そのユーザーにはDEFAULTプロファイルというプロファイルが割り当てられる。で、DBA_PROFILESデータディクショナリでDEFAULTプロファイルの内容を取得したのが下の図である。

Profile_2

上の図のように、プロファイルで様々なタイプのリソース・パスワード制限ができるが、ここでは、CPU_PER_CALLを使う。上の図では、CPU_PER_CALLの値がUNLIMITEDつまり無制限(制限しない)になっているのでこれを適切な値に変えればよい。ALTER PROFILE文で既存のプロファイルの内容を変えることができるが、詳しくはマニュアルを参照。

ここでは、事前定義済みのDEFAULTプロファイルを紹介したが、DBA_USERSのPROFILE列を見てわかるように、データベース作成時などに作成されるほとんどのユーザーにDEFAULTプロファイルが割り当てら、DEFAULTプロファイルを変更すると大きな影響が発生するので、実際使用する場合は、CREATE PROFILE文を新たなプロファイルを作成し、それを使用した方がいいと思う。

« スクロールバーあれこれの続き | トップページ | GetCharacterPlacementとカーソル配置 »

Oracle」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1497665/39651887

この記事へのトラックバック一覧です: 時間のかかる処理のタイムアウト:

« スクロールバーあれこれの続き | トップページ | GetCharacterPlacementとカーソル配置 »

自作ソフトウェア

無料ブログはココログ

メモ