Oracle

Windows 環境で Oracle ログインユーザーの OS 認証の設定をする方法

sqlnet.ora を編集する

sqlnet.ora ファイルに以下のパラメタを追記しておく。

SQLNET.AUTHENTICATION_SERVICES = (NTS)

メイン名とユーザー名を確認

OS 上でドメイン名とユーザー名を確認する。

whoami

実行例

D:\Users\Administrator> whoami
mydesktop\Administrator

OS_AUTHENT_PREFIX を確認

os_authent_prefix パラメタを確認する。

SHOW PARAMETER os_authent_prefix

実行例

SQL> SHOW PARAMETER os_authent_prefix

NAME              TYPE        VALUE
----------------- ----------- ------
os_authent_prefix string      OPS$

OPS$ (デフォルト)は OPerating System の頭文字をとったもので、ユーザーがログインするときに Oracle が認証するのに使う接頭辞のことである。もちろん ALTER 文で変更が可能。

OS 認証させたいユーザーを作成

確認したドメイン名、ユーザー名、os_authent_prefix を使ってユーザーを作成する。

ユーザー作成

CREATE USER "OPS$<ユーザー名>" IDENTIFIED EXTERNALLY;

実行例

SQL> CREATE USER "OPS$MYDESKTOP\ADMINISTRATOR" IDENTIFIED EXTERNALLY;

User created.

権限を付与

作成したユーザーに必要な権限を付与する。

ここではログインの確認をしたいだけなので、CREATE SESSION のみを付与しておく。

GRANT CREATE SESSION TO "<ユーザー名>";

SQL> GRANT CREATE SESSION TO "OPS$ADMINISTRATOR\ORACLE";

Grant succeeded.

ここでユーザー名(ADMINISTRATOR)を小文字にしてしまうと、以下のエラーで失敗するので必ず大文字にする必要がある

ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。

ログインできるか確認

D:\Users\Administrator>sqlplus /

に接続されました。

この記事が役に立ったという方は
ボタンをポチッとしてくれたら喜びます

-Oracle
-,