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 /
に接続されました。