web-dev-qa-db-ja.com

ORA-01017:ユーザー名/パスワードが無効です。ログオンはSQL開発者から拒否されましたが、sqlplusログイン

Sqlplusが問題なくログインしているときに、OS認証(4.1.3 32/64ビット)を使用したSQL Developerの奇妙な動作でORA-01017が発生します。

これはsqlplusが私に与える答えの例です:

~ sqlplus  /@XXXX

SQL*Plus: Release 11.2.0.1.0 Production on Wed Jul 27 08:50:10 2016

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

その後、実行中SELECT user FROM DUAL;ドメインユーザーを返します。

これは、データベース->詳細設定で構成されたSQL開発者から取得したものです。

Sql Developer ORA-01017

示されているように、Status : Failure -Test failed: ORA-01017: invalid username/password; logon denied

接続セクションから接続しようとすると、もう少し詳細なエラーが発生します。

An error was encountered performing the requested operation:

ORA-01017: invalid username/password; logon denied
01017. 00000 -  "invalid username/password; logon denied"
*Cause:    
*Action:
Vendor code 1017

任意のアイデアや助けを事前にありがとう

2
Cavva79

問題は、自分のマシン(1つのOracleクライアント 'x86')にインスタントクライアントとOracleクライアントが多すぎるということでした。

インスタントクライアントは古すぎました。

私にとって唯一有効なインスタントクライアントは「12.1.0.2.0」です。

私がダウンロードしました:

  • インスタントクライアントベーシックライトwin64 12.1.0.2.0
  • インスタントクライアントjdbc win64 12.1.0.2.0
  • インスタントクライアントsqlplus win64 12.1.0.2.0

インスタントクライアント'12 .1.0.2.0 'を抽出して他のすべてを削除したパスを使用して、PATH変数を修正しました。

最後に、TNS_ADMINsqlnet.oraを指す環境変数tnsnames.oraを設定しました。これはTNS_ADMINは必要ないと思います。

3
Cavva79

Oracle Sql開発者とsqlplusは、OS認証をまったく異なる方法で処理します。

SQL開発者は、常にユーザー名「\」に置き換えて認証を試みます。 SLQPLUSはユーザー名のみを置き換えます。ユーザー名にドメインを追加するとき。 OSAUTH_PREFIX_DOMAIN = TRUE(Windowsレジストリ)。 Sqlplusはドメイン名を名前に追加します。

SQL開発者は常に、ドメイン名なしでユーザー名「\」に置き換えることで認証を試みます。

例1

CREATE USER "OPS$Oracle.ADMIN" IDENTIFIED EXTERNALLY 
PROFILE DEFAULT 
DEFAULT TABLESPACE tablespace_Oracle_admin 
TEMPORARY TABLESPACE TEMP 
QUOTA UNLIMITED ON tablespace_Oracle_admin 
ACCOUNT UNLOCK ;
 C:\ ORA\DB\product\11.2.0\dbhome_1\bin\sqlplus/SQL>デュアルからユーザーを選択; 
 
 USER 
 _______________________ 
 OPS $ Oracle.ADMIN 

SQL開発者からデータベースに接続するには、パスワードを指定せずにユーザー名の代わりに「/」記号を配置する必要があります。

ユーザーをデュアルから選択します; 
 
 USER 
 _______________________ 
 OPS $ Oracle.ADMIN 

例2

CREATE USER "OPS$\Oracle.ADMIN" IDENTIFIED EXTERNALLY 
PROFILE DEFAULT 
DEFAULT TABLESPACE tablespace_Oracle_admin 
TEMPORARY TABLESPACE TEMP 
QUOTA UNLIMITED ON tablespace_Oracle_admin 
ACCOUNT UNLOCK ; 

SQL開発者を使用して接続すると、OS認証が機能します!!!!

ユーザーをデュアルから選択; 
 
 USER 
 ____________________ 
 OPS $\Oracle.ADMIN 
2
Dmitry Demin

実際に同様の問題が発生しました。データベースサーバーにログインできましたが、エラーORA-01017を受け取りました。パスワードを変更しましたが、うまくいきました。

1
Tini Yang

Oracle SQL開発者をインストールしてシステム接続を作成しようとすると、同じエラーメッセージが表示されました。

これは、OracleXEのインストール時に設定したパスワードとは異なるパスワードを入力したことが原因でした。

正しいパスワードを入力して解決しました。

パスワードを忘れた場合は、OracleXEをアンインストールして再インストールする必要があります。

0
humazed

コマンドプロンプトsql plus plusに移動し、パスワードを変更します。コマンド:connect [ユーザー名]/[パスワード]

その後、新しいパスワードを入力するように求められます新しいパスワードとwhoooを入力してください!!!あなたは終わった。

0
Sahil