dポイントプレゼントキャンペーン実施中!

solaris9、Oracle10gの環境です。
データベースへの接続はOS認証にて接続しています。
oracle clientの「Oracle Net Manager」にて接続時のuserid/passをOSのuserid/passとしてネットワーク接続をしていますが接続できません。
ご教授願います。

A 回答 (4件)

こんにちは。


下記の点を確認してみていただけませんでしょうか。


■サーバ側の設定確認
--------------------------------------------------
初期化パラメータ設定は次のように設定されているか?
 ・REMOTE_OS_AUTHENT = TRUE

SQLNET.ORAファイルは次のように設定されているか?
 ・SQLNET.AUTHENTICATION_SERVICES = (NTS)


■クライアント側の設定確認
--------------------------------------------------
SQLNET.ORAファイルは次のように設定されているか?
 ・SQLNET.AUTHENTICATION_SERVICES = (NTS)

OSユーザについて
 ・ローカルユーザである事(ドメインユーザでない事)


あと(3)と(4)の間に次の手順を加えて下さい。
(3.1) Client側で作成したOSユーザ「usrXXX」でClient側OSにログイン




あと話は変わりますが、下記の様にOS認証とパスワード認証の
混在ができるようなので、ダメでしたら↓も検討下さい。
Krown#76674 : OS認証が認められているユーザーでデータベース認証を行う方法
もしくはサポートセンターに相談ですかね?

#引っかきまわすだけ引っかき回して
 最後にはサポート行きって…お力になれず申し訳ありません。

この回答への補足

> 初期化パラメータ設定は次のように設定されているか?
> ・REMOTE_OS_AUTHENT = TRUE
REMOTE_OS_AUTHENTの定義はありませんでした。

> SQLNET.ORAファイルは次のように設定されているか?
>  ・SQLNET.AUTHENTICATION_SERVICES = (NTS)
SQLNET.AUTHENTICATION_SERVICES = (NTS)の定義はありませんでした。

> SQLNET.ORAファイルは次のように設定されているか?
>  ・SQLNET.AUTHENTICATION_SERVICES = (NTS)
$ORACLE_HOME\network\admin配下にはSQLNET.ORAのファイルがありませんでした。
$ORACLE_HOME\network\admin\SAMPLE配下にはSQLNET.ORAがありました。

> OSユーザについて
>  ・ローカルユーザである事(ドメインユーザでない事)
ドメインユーザではありません。

> あと(3)と(4)の間に次の手順を加えて下さい。
> (3.1) Client側で作成したOSユーザ「usrXXX」でClient側OSにログイン
すみません。手順が抜けていました。
実際は(3.1)の手順を行っていました。



初期化パラメータ、SQLNET.ORAに設定がないのが原因なのですね。
何度もご回答頂きありがとうございました。
親身になって頂き、感激しました。
ありがとうございます。

補足日時:2005/11/24 20:26
    • good
    • 0

> (1)Client環境のOSユーザが、DBのOS認証ユーザとなっているかどうか。



まずこの件から。

OS認証でDBに接続するためには、DBに『 認証方式が"OS認証"であるDBユーザ 』が
存在している必要があるのです。
例えば、TERATERMで接続した時のOSユーザが"USR1"であれば、DBには
"OPS$USR1"というDBユーザが存在する必要があるのです。
 ※注 : 初期化パラメータ「OS_AUTHENT_PREFIX」がデフォルト値(OPS$)の場合


で、同様にWindows環境からOS認証で接続する場合は、OSにログインした時の
OSユーザに対するDBユーザが存在していなければなりません。
このOS認証のためのDBユーザは存在していますか?という意味だったんです。


> Oracle Net ManagerのユーザID、パスワードには何を設定すればよろしいのでしょうか?

『認証方式が"OS認証"であるDBユーザ』に対してパスワード接続は出来ませんから
パスワード認証が可能なDBユーザを使用してログインするか、OSユーザをOS認証可能なように
DBユーザを作成してもらうかしかないのではないでしょうか。
OS認証が出来ていればユーザID、パスワード無しで接続できるようになります。

#毎度毎度説明が分かりづらくてすみません(;_;)

この回答への補足

ご回答有り難うございます。
しかし、今だ成功していません。
もう一度整理します。
(1)teratermでusrXXX/passXXXにてunix(solaris)にログインすることができる。
(2)teratermでusrXXX/passXXXにてunix(solaris)にログインし、sqlplus /にてsqlplusにログインすることができる。
以上でunixからDB認証はOS認証であることがわかると思います。
以下からはwindowsからのログイン手順
(3)コントロールパネルのユーザのアカウントからusrXXX/passXXXでユーザを追加した。
(4)Oracle Net Managerを起動し、ホスト名、ポート番号等を編集した。
(5)Oracle Net Managerの[ツール]→[サービスのテスト]より接続テスト画面を開く。
(6)ログインの変更ボタンを押してログイン変更画面を開き、ユーザID、パスワードそれぞれをクリアし、OKボタンを押下した。(ユーザID、パスワードそれぞれ空の状態)
(7)Oracle Net Managerの接続テスト画面にてテストボタンを押下した。
(8)以下の画面が表示され接続できなかった。
------------------------------------------------------------
次のユーザーIDを使用して接続中:
テストは失敗しました。
ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。

入力したフィールドでエラーが発生しているか、
またはサーバーの接続準備が完了していない可能性があります。
------------------------------------------------------------
何か手順に誤りがありますでしょうか?
何度も質問してすみません。

※usrXXXはユーザIDを示しています。
※passXXXはパスワードを示しています。

補足日時:2005/11/24 12:38
    • good
    • 0

回答が遅れてしまい、申し訳ありません。



まず1点だけ確認させてください。
DB側でOS認証対象外となっているOSユーザでOSにログインし
DBのOS認証ユーザに接続を行おうとしているわけではありませんよね?
コレだとたぶん無理です。
(方法は探してみましたが、わからず仕舞いでした。スミマセン。)


違う場合は、次の事項を確認していただけませんでしょうか。
(1)Client環境のOSユーザが、DBのOS認証ユーザとなっているかどうか。
(2)SQLNET.ORA等でドメインの食い違いがないかどうか。

上記(1)~(2)を確認した上で「Oracle Net Manager」で
ユーザ、パスワードの指定なしで接続を行えば接続できるはずなのですが…。ご確認下さい。

#説明が分かりづらくてすみません。

この回答への補足

すみません。素人なものでよく質問の意味が分かりません。
> (1)Client環境のOSユーザが、DBのOS認証ユーザとなっているかどうか。
Client環境のOSユーザとありますが、これは、windowsのOSユーザを指していますか?
なのであれば、Oracle Net ManagerのユーザID、パスワードには何を設定すればよろしいのでしょうか?

補足日時:2005/11/21 19:06
    • good
    • 0

こんにちは。


もしかして…ですが。
DBにユーザIDが登録されていなかったりしませんか?

OSのユーザIDとOracleに接続するためのユーザIDは別物です。
OS認証設定をしても関わるのはパスワード部分だけなんですが
このあたりを勘違いしているのでは…と思ってしまいました。
外していたらゴメンナサイ。

接続時にエラーメッセージが表示されているはずなので
差し支えない範囲で、それを貼り付けてもらえると
何かわかるかもしれません。

この回答への補足

teratermでログインして
sqlplus /
でログインできるのでDBにユーザは登録されています。
エラーメッセージを添付します。
宜しくお願いします。
--------------------------------------------------
次のユーザーIDを使用して接続中: XXXXXXXX
テストは失敗しました。
ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。

入力したフィールドでエラーが発生しているか、
またはサーバーの接続準備が完了していない可能性があります。

補足日時:2005/11/18 12:15
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す