初期設定のまま導入したoracleの場合
セッション数やプロセス数という
oracleと処理をやり取りする窓口が小さい場合がある
具体的には 150セッション程度の場合がある
このとき
プログラムを起動している先
(サバクラの場合クライアント)
(winターミナル接続のアプリサーバー側)
のイベントビューアーに
ORA-12516: TNS: リスナーは、一致するプロトコル・スタックが使用可能なハンドラを検出できませんでした
というエラーが出力される
状況の確認用sql
SELECT
RESOURCE_NAME リソース名,
CURRENT_UTILIZATION 現在数,
MAX_UTILIZATION 最大数,
LIMIT_VALUE 上限
FROM
V$RESOURCE_LIMIT
WHERE
RESOURCE_NAME IN ('processes','sessions');
SELECT
S.machine,
TO_CHAR(S.LOGON_TIME, 'YYYY/MM/DD HH24:MI:SS') LOGON_TIME,
S.sid,
S.serial#,
P.PID ORACLE_PID,
P.SPID OS_PID,
S.STATUS,
S.USERNAME ORACLE_USER,
S.OSUSER OS_USER,
S.TERMINAL,
S.PROGRAM
FROM
V$PROCESS P
LEFT OUTER JOIN V$SESSION S
ON P.ADDR = S.PADDR
WHERE
P.BACKGROUND IS NULL AND
P.PID > 1
ORDER BY
S.machine,
TO_CHAR(S.LOGON_TIME, 'YYYY/MM/DD HH24:MI:SS');
などで現在どのくらい接続されているかなど確認する必要がある
上記SQLの最大値と上限に現在数が達している場合
プロセス数又はセッション数の増強を考える必要がある
0 件のコメント:
コメントを投稿