IT Soldier Sakuri !!

Oracle使い。いつのまにかIT戦士になってしまったさくりの可哀想な奮闘記。

Oracle TNS-12638: 資格証明の取出しに失敗しました。

早くも台風に期待してわくわくしてる。
会社お休みにならないかなー♪
今日は上司が揃いも揃って出張なので、まったりお仕事。

ところが、そんなに簡単にサボらせてはもらえないようで、
昨日Oracleのパッチを当てたDBサーバに接続しているクライアントPCが
突然2台だけ接続できなくなった。
その支店は100台くらいあるのに2台だけ。

アプリからDBに接続しているのだけど、
パソコンの画面には、こんなエラーが表示されていた。

ユーザ名またはパスワードが無効です。
ORA-24324: サービス・ハンドルが初期化されていません。

昨日のパッチの所為?!!
でももうDBサーバ10台くらい11.2.0.4.16になってるけど?
どうして?とテンパりながら、アラートログを見る。

TNS-12638: 資格証明の取出しに失敗しました。
    ns secondary err code: 0
    nt main err code: 0
    nt secondary err code: 0
    nt OS err code: 0
opiodr aborting process unknown ospid (856) as a result of ORA-609

資格証明???

Oracleのサポートに問い合わせつつ、ググってみると…
どうやら、突然起こったりする現象らしい。

【対応方法】
接続エラーになったクライアントPCの下記ファイルを書き換える。
sqlnet.ora

SQLNET.AUTHENTICATION_SERVICES = (NTS)
↓
SQLNET.AUTHENTICATION_SERVICES = (NONE)

NTSWindows NTのシステム固有の認証を採用します。
ALL …すべての認証方式を採用します。
NONE …認証方式は採用しません。有効なユーザー名とパスワードを使用すると、データベースにアクセスできます。

アプリでちゃんとユーザ/パスワードを指定して接続しているのなら問題ないので、
NONEに設定したところ、問題なく接続できました。

ドメインに参加したからとか、WindowsログオンのORA_DBAグループにWindowsログオンユーザが属している必要があるとか、書いてあるけど、
ドメイン参加なんて何年も前だし、何か違う気がする。

それにしてもOracleサポートは7時間経っても回答ないんだけど、どういうことだい。