FC2ブログ

社内SEの徒然なる日記

Oracleのロックの確認とセッションの切断をしてみた【成功】

■ 処理が終わらない

ある日、ユーザーから伝票の更新処理がいつまでたっても終わらないと連絡が来ました。Webシステムと言う関係上、たまにサーバとの切断が切れて同じような現象になったりするのですが、伝票画面を開きなおしても状況が変わらないそうです。

結局、DB(Oracle)でロックが掛ったままになっていたことが原因のようなので、強制的にセッションを切断することにしました。

■ ロックの確認

まず、ロックされているセッションの一覧を表示します。ロックは、V$LOCKED_OBJECTから探せるようです。後でセッションを切断するのに必要な情報(セッション識別子とシリアル番号)は、V$SESSIONから取得します。

-- Oracleのロックを取得するSQL
SELECT
TO_CHAR(S.LOGON_TIME,'YYYY/MM/DD HH24:MI:SS') AS ログイン日時
,L.ORACLE_USERNAME AS Oracleユーザー名
,S.SID AS セッション識別子
,S.SERIAL# AS シリアル番号
FROM
V$LOCKED_OBJECT L
,V$SESSION S
WHERE
L.SESSION_ID = S.SID
ORDER BY
1
,3


もう少し工夫すれば対象のオブジェクトの絞り込みも出来るのですが、私が管理しているシステムは、日中に長時間かかる処理が存在しません。なので、ログイン日時が分れば無駄にロックされているものが分かります。

結果は、こんな感じ。
Oracleのロックの解除

この時の時間は10時頃。DBサーバーは毎日再起動しています。その条件下で見ると、7時のロックが残っているのはちょっと変です。どうやら犯人が見つかったようです。

■ ロックの解除

私はOracle(というかシステム全般)を毎日再起動するようにしています。メーカーなどは、最近は起動しっぱなしでも問題無いと言いますが、私に言わせれば嘘も大概にしろと言いたいです。

実際に、こういう問題が発生するし、そうなっても再起動しておけば対応出来るエンジニアがいなかったとしても、翌日にはロックが解除(DBが再起動されるので、自動的にそうなる)されて問題が解消されます。

なので、放置しても良かったのですが、この日は時間(と心と体に余裕)があったので、手動でロックを解除しました。

-- セッションを切断する
ALTER SYSTEM KILL SESSION
'272, 50867' -- セッション識別子, シリアル番号
IMMEDIATE


ロックの解除は、ALTER SYSTEM KILL SESSION を使用します。上記のように、V$SESSIONから取得したセッション識別子とシリアル番号を指定して実行すれば、それでOKです。

■ 後書き

Oracleのバージョンは、Oracle12cです。2017年頃のサーバーリプレースに合わせて当時の最新バージョンにしたのですが、その辺りからロックが解除されない事象が稀に発生するようになりました。

プログラムは変えていないので、Oracle側の何らかのバグのような気がします。ただ、調査を始めると手間暇かかるし、パッチを当てても、それで新たな問題が発生する気もするので、このまま塩漬けにしようかと。

感覚的な話ですが、どうもOracle12cはバグが多い気がします。

投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end ---
スポンサードリンク

PageTop

年に一度の年次処理(そして異常終了)

■ メール

私が管理しているシステムは、夜間の処理で異常があるとメールが送信されます。はい、本日も深夜にメールが送信されました。

・・・眠い。

システムが稼働してから既に15年以上になり、随時メンテナンスを続けているので滅多なことでは異常終了もしなくなってきたのですが、それでも出る時は出ますね。

■ 年次処理

勤め先の決算は3月末です。なので4月の上旬に年に一度の処理が夜間に実行されるのですが、見事にそれが異常終了しました。困ったものです。

結局出社して対応したのですが、コロナが社会問題になっている昨今の情勢なら、遠隔操作で自宅から対応できるようにした方が良いかもしれません。

・・・眠い。

■ 後書き

うん、改めて見直すと文章に中身がない上にボロボロです。いや、障害対応自体は思ったほどの時間は掛からなかったのですが、興奮したのか寝付けなかったのです。

ちなみに、異常終了したのは年に一度だけ作成されていた帳票の出力処理です。違和感を感じる文章かと思いますが、これはシステム上は出力していたのですが、誰も使っていなかったという良くあるアレです。

今までは放置していたのですが、睡眠を邪魔されてムカついたので処理そのものを削除してやりました。これで来年からは安心です。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

年賀状のためのEPSONのPX-049Aが到着!

■ EPSON PX-049A

年賀状のために新たにプリンタを購入したのですが(年賀状を印刷しようとしたらプリンタが壊れた・・・)、無事に到着しました。

EPSON PX-049Aです。
fc2blog_20181224191333679.jpg

開封すると、トナーが入っていました。
fc2blog_2018122419160533a.jpg

・・・あぁ、やっぱり入っていたか。無かったら困るから別に購入しちゃったんですよね。そんなに大量に印刷する予定も舞から、数年間眠り続けそうです。

プリンタというか、厳密には複合機なので、これまで使っていたプリンタEPSON EP-803AW)と機能的には大差ありません。ですが、大きさはかなり違うようです。
fc2blog_20181224191635680.jpg

■ セットアップ

久しぶりのプリンタのセットアップです。ここ数年はセットアップ系の作業から手を引いているので、少しは進化したのか楽しみです。

同封の説明書を開くと、インターネットに接続するように指示されました。Windowsの場合は同封のCDでも良いようですが、Macはインターネット必須のようです。

接続したホームページから機種(PX-049A)を入力して、指示に従って組み立てて、電源を投入して、パソコンに接続・・・しない!

以前のプリンタでもWi-Fi経由で印刷は出来たのですが(使ったことはないけど)、昨今は無線接続が標準になっているようです。Mac miniのUSBポートの数が足りなくて困っていたので、有難い話です。

インストーラーも優秀で、特に困ることもなくサクサク接続できました。

迷ったのは、トナーをセットした後の初期準備処理が妙に長くて心配になったくらいです。放っておくと電源ランプが点滅から点灯に変わるって話だったのですが、これが思ったよりも長く待たされたので、設定間違っていないか心配になりました。

■ 後書き

本文では大きさが違うと書きましたが、重さもかなり違いました。本体の方の機能(ボタンとか)もスッキリしているし、こちらの方が好みです。

Macの最新OS(macOS Mojave)にも対応していたし、年賀状も問題なく印刷できたので一安心です。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

年賀状を印刷しようとしたらプリンタが壊れた・・・

■ 年賀状

年賀状を印刷しようとしたのですが、プリンタの調子が良くないです。宛名までは問題なく印刷できたのですが、裏面を印刷しようとすると色合いが何やら変です。
年賀状でプリンタ沈黙 - 1

こういう時は、落ち着いてプリンタヘッドのクリーニングです。それで少しは良くなったのですが、改善状況が今ひとつ。さらに2回、3回と続けてクリーニングを行ったのですが、今度は問題なかった色まで印刷できなくなってしまいました。

プリンタのトナー自体は残っている感じなのですが、前回使ったのは去年の年賀状です。長期間放置したせいでダメになったものと仮定して、新たにプリンタトナーを購入。
年賀状でプリンタ沈黙 - 2

ですが、交換しても結果は変わらずです。

・・・うーん、困ったね。

■ 後書き

色々と方法は考えました。年賀状自体を外注するとか、人に頼むとか、コンビニプリントを使うとか、方法はいくらかあると思います。

そもそも、本当にプリンタが壊れたのかっていうのも疑問です。簡単なメンテナンスで復活する気もするのですが、ものが年賀状なので時間がありません。ですので、素直にプリンタを購入することにしました。

今なら12月22日(土曜日)には届くそうですし、サクサク動けば十分に間に合うはずです。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop

NMIスイッチを押すためにiPhoneのSIMを抜く棒を用意して見た

■ NMIスイッチ

去年の春頃にサーバーのリプレースを行ったのですが、それから数ヶ月に一度の頻度でサーバーがダウンするようになりました。

原因の調査はして見たのですが、Windowsのログなどを見ても、ブチっと急にシステムが落ちたようにしか見えません。サポート契約は結んでいるので調べてもらったのですが原因不明。サポートからは、逆にNMIスイッチとやらを押して情報をとってくれと言う依頼をされました。

・・・保守契約を結んでいるんだから、現象発生時に現地に行くくらいの気概は無いものですかね。

NMIスイッチといっても具体的にどこにあるのか分かりません。ネット上でカタログを探しても見つからないので、データセンターに行って現物を見てきました。

サーバー正面にNMIと書いていたので場所は分かったのですが、そこには恐ろしく細い窪んだ穴があるだけです。この穴の中に、NMIスイッチとやらがあるようです。

■ iPhoneのアレ

当初はクリップでも使おうかと思っていたのですが、会社の人と話していると、iPhoneSIMカードを抜くときのアレではダメなのかと言われました。

ん、何のことでしょう?

iPhoneを買ったら必ず付いてくるそうなので、この前購入したiPhoneドコモを捨ててauにして見た(iPhone6→iPhone8))の箱を漁ると、確かにありました。
iPhoneのSIMのアレ - 1

iPhoneのSIMのアレ - 2

iPhoneのSIMのアレ - 3

うん、これなら行けそうな気がします。

■ 後書き

何よりも困るのが、サーバーが手元に無いこと。サーバーを強制的に落として(電源スイッチの長押し)、再起動すればシステムは復旧するのですが、ものがデータセンターにあるので物理的な対応は辛いです。

しっかし、iPhoneを使って結構経ちますが、こんなものがあるとは知りませんでした。というか、そこに穴があることは知っていましたが、SIMカードが入っていることも知りませんでした。

最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/

--- blog end — スポンサードリンク

PageTop