Oracle SQL Developerでのパスワードの変更


139

ユーザーの多くはSQLPlusを使用していません。ユーザーに変更を与えることはできません。パスワードは60日ごとに期限切れになります。

SQLPlusコマンドの「パスワード」をSQL開発者で機能させることができません。

  1. 実行すると、無効なコマンドエラーが発生する
  2. スクリプトを実行しても、何も起こりません。

データベースがたくさんあるので、パスワードを変更するパッケージを書きたくありません。より良いオプションはありますか?


4
SQL Developerで、SQLコマンドを使用して、期限切れのパスワードを変更することはできません。JDBCスタックではサポートされていません。これにはOCIライブラリが必要です。SQL開発者は、OCIスタックが正しくインストールされていれば、パスワードをリセットして期限切れにするオプションがあります。詳細については、私の回答を参照してください。
Frobbit 2013年

SQL Developer 4.1.0.17でこれを行うことができます。以下の私の答えを参照してください。
ファジー分析

回答:


189

SQL Developerを使用してパスワードを更新するための正しい構文は次のとおりです。

alter user user_name identified by new_password replace old_password ;

このコマンドのその他のオプションは、ここで確認できます。ALTERUSER-Oracle DOCS


29
また、パスワード内の特殊文字をエスケープするために、パスワードを二重引用符で囲む必要がある場合があります。たとえば alter user __user_name__ identified by "newp@ss!!!" replace "oldp@ss!!!"asktom.oracle.com / pls / asktom /…の
Bryant Bowman

6
pwdの有効期限が切れている場合は、ログインしてこれを実行してください。回答質問ですが、質問ではありません。
ベンジョージ

105

SQLワークシートでは:

  • 「パスワード」を入力します(引用符は不要)

  • ハイライトし、CTRL+を押しENTERます。

  • パスワード変更画面が表示されます。


4
また、「パスワードsomeusername」を実行することもできます
Anna

3
「ステートメントの実行」アクションを意味していると思います。デフォルトのショートカットはCtrl + Enterのようです。
アルバロゴンサレス14年

70

SQL Developerには、状況に応じて機能する組み込みのリセットパスワードオプションがあります。ワークステーションにもOracle Instant Clientを追加する必要があります。SQL開発者が起動したときにインスタントクライアントがパスにある場合、次のオプションが有効になります。

SQL Developer:パスワードのリセットオプションを示すドロップダウンメニュー

Oracle Instant Clientをインストールするには、管理者権限は必要ありません。ディレクトリに書き込み、そのディレクトリをユーザーパスに追加する機能だけが必要です。ほとんどのユーザーには、これを実行する権限があります。

要約:Oracle SQL Developerでパスワードのリセットを使用するには:

  1. Oracle Instant Clientをディレクトリに解凍する必要があります
  2. Oracle Instant Clientディレクトリをユーザーパスに追加する必要があります。
  3. 次に、Oracle SQL Developerを再起動する必要があります

この時点で、データソースを右クリックしてパスワードをリセットできます。

http://www.thatjeffsmith.com/archive/2012/11/resetting-your-oracle-user-password-with-sql-developer/を参照してください完全なウォークスルーについては、を

オラクルのドキュメントのコメントも参照してください。http//docs.oracle.com/cd/E35137_01/appdev.32/e35117/dialogs.htm#RPTUG41808

SQL Developer(バージョン4.0.1でテスト済み)がOS X上のInstant Clientを認識して使用するための代替構成は次のとおりです。

  1. 設定->データベース->詳細設定-> Oracleクライアントを使用でインスタントクライアントへのパスを設定します
  2. 設定ダイアログ内から[構成...]-> [テスト...]オプションを使用して、インスタンスクライアントを正常にロードできることを確認します。
  3. (OS X)この質問を参照しください DYLD_LIBRARY_PATH環境変数に関連する問題を解決するにはを。次のコマンドを使用してSQL Developerを再起動し、変更を反映しました。

    $ launchctl setenv DYLD_LIBRARY_PATH / path / to / oracle / instantclient_11_2


1
一部のユーザーはご利用いただけません80(
Keng

うーん、私にはうまくいかないようです。MacでPATHを更新するだけで本当にいいのかしら。
fudo

私は自宅でMacを使用していますが、職場ではWindows PCを使用しています。まもなくMacに切り替えます。詳細がわかれば投稿します。
Frobbit 2014年

1
グーグルは非常に役に立ちます:-)私が見つけた:oracle.com/technetwork/topics/linuxx86-64soft-092277.htmlこれは古くなるかもしれません。グーグルするには、goo.gl / kU5ZdM
Frobbit

1
ありがとう、それはWindows 7 64ビットで動作しました。ただし、追加の手順を実行する必要がありました(上記のOS X構成の最初の手順と同じです)。4. [環境設定]-> [データベース]-> [詳細設定]-> [Oracleクライアントを使用]でインスタントクライアントへのパスを設定します
marciowerner

24

ユーザーは引き続き、「alter user onlyTheirUserName specified by newpassword」によってパスワードを変更できます。自分のパスワードを変更するために、ALTER USER特権を持っている必要はありません。


16

管理設定によっては、REPLACEオプションを使用して古いパスワードを指定する必要がある場合があります。

alter user <username> identified by <newpassword> replace <oldpassword> 

新しいパスワードと古いパスワードを同じにすることはできますか?
ハリスメフムード

2
この答えは間違っています。newpasswordとoldpasswordは入れ替えられます。代わりにstackoverflow.com/a/10809140/643483を使用してください
Aaron Kurtzhals

1
@AaronKurtzhalsあなたが参照する答えは、私の答えと同じことを言っています。ここでOracleのドキュメントを参照:docs.oracle.com/cd/B19306_01/server.102/b14200/...
ジェリーGurevich

追加すべき主なこと(これは、この同じ質問に対する彼の回答で@pgsによって行われました)は、パスワードに特殊文字が含まれている場合、パスワードを引用符で囲む必要がある場合があることです。
Gerry Gurevich

10

それを少し明確にするために:

ユーザー名がabcdefで古いパスワードがa123b456の場合、新しいパスワードはm987n654

m987n654で識別されるユーザーabcdefを変更し、a123b456を置き換えます


9

私は多くの答えがあることを理解していますが、いくつかに役立つかもしれない解決策を見つけました。私は同じ問題に遭遇しました、私は私のローカルコンピューターでoracle sqldevelopを実行していて、私にはたくさんのユーザーがいます。たまたま自分のユーザーのパスワードを覚えていて、それを使って他のユーザーのパスワードをリセットしました。

手順:

  1. 有効なユーザーとパスワードを使用してデータベースに接続します。私の場合、「システム」を除くすべてのユーザーの有効期限が切れており、そのパスワードを覚えています。

  2. 以下の画像が表示されているように、ツリー内で「Other_users」ノードを見つけます

ここに画像の説明を入力してください

3.「Other_users」ツリー内で、パスワードをリセットするユーザーを見つけ、メモを右クリックして「ユーザーの編集」を選択します。

ここに画像の説明を入力してください

4.ユーザーの編集ダイアログで新しいパスワードを入力し、[適用]をクリックします。「パスワードの有効期限が切れました(ユーザーは次回ログイン時に変更する必要があります)」のチェックを外していることを確認してください。

ここに画像の説明を入力してください

そしてそれは私にとってはうまくいきました、それはあなたが少なくとも1つのアカウントにログインすることができる必要があるのでそれはうまくいくので他の解決策ほど良くありません。


7

これはSQL Developer 3.0.04で動作することを確認しました。パスワードには特殊文字を含める必要があるため、この場合は二重引用符で囲まれた文字列が必要です。もちろん、これはパスワードがまだ期限切れになっておらず、現在ログインしている場合にのみ機能します。

ALTER USER MYUSERID
IDENTIFIED BY "new#password"
REPLACE "old#password"

3
この答えは間違っています。newpasswordとoldpasswordは入れ替えられます。代わりにstackoverflow.com/a/10809140/643483を使用してください
Aaron Kurtzhals

3

(SQL Developerの)[パスワードのリセット]オプションが機能しなかった場合は、次の解決策を試してください。

ステップ1:Run SQLコマンドラインを開く(スタートメニューから、SQL Developerインストールパッケージに付属)

ステップ2:次のコマンドを実行します。

ここに画像の説明を入力してください

注:パスワードの有効期限が切れている場合は、Changing password for <user>オプションが自動的に表示されます。


2

組み込みのパスワードのリセットオプションは、ユーザーに対して機能しない場合があります。この場合、パスワードは次のSQLステートメントを使用してリセットできます。

ALTER user "user" identified by "NewPassword" replace "OldPassword";

1

あなたはDBA_USERSテーブルでユーザーを見つけることができます

SELECT profile
FROM dba_users
WHERE username = 'MacsP'

次に、sys / system(管理者)に移動し、クエリを使用します

ALTER USER PRATEEK
IDENTIFIED BY "new_password"
REPLACE "old_password"

アカウントのステータスを確認するには、

SELECT * FROM DBA_USERS.

ユーザーのステータスを確認できます。


1

これで、SQL Developer 4.1.0.17でこれを実行できます。管理者権限を持つ別のアカウントがある場合は、PL / SQLは必要ありません。

  1. SQL Developer 4.1.0.17で、代替管理ユーザーを使用してデータベースへの接続を作成する
  2. 接続したら[他のユーザー]セクションを展開し、パスワードの有効期限が切れたユーザーを右クリックします。「ユーザーの編集」を選択します。
  3. [パスワードの期限切れ...]チェックボックスをオフにし、ユーザーの新しいパスワードを入力して、[保存]をクリックします。
  4. 仕事完了!パスワードの有効期限が切れたユーザーと接続してテストし、パスワードが再び有効になったことを確認できます。

1

コマンドプロンプトからパスワードリセットする別の方法があります ...

1)[スタート]メニューのOracleデータベースフォルダー(私の場合はOracle Database 11g Express Edition)に移動します。

2)そのフォルダ内をクリックします SQLコマンドラインの実行

Oracleデータベースフォルダのイメージ

3)入力し、「接続ユーザー名/パスワード」(引用符ユーザー名と古いパスワード)

4)表示されるメッセージは...

エラー:ORA-28001:パスワードの有効期限が切れています

時間のパスワードの変更

->新しいパスワード:

ユーザー名、パスワード画像を入力してください

5)新しいパスワードを入力します

6)新しいパスワードを再入力します

7)表示されるメッセージは...

パスワードが変更されました。

SQL>

8)SQL開発者に移動->新しいパスワードを入力->接続済み


OPはまだアクティブですが、質問が行われてから5年後、回答が適切ではなくなる可能性があります。
イチゴ

@Strawberryそれが質問に答えるなら、なぜでしょうか?!!
Muhammed Refaat 2015年

1

sysdbaまたはsysにパスワードを設定しておらず、定期的にサードパーティのクライアントを使用している可能性のある人のための注意事項。以下は、パスワードなしでコマンドラインsqlplusにログインする際に役立つ情報です。ちなみにfedora 21を使っています。

locate sqlplus

私の場合、sqlplusは次の場所にあります。

/u01/app/oracle/product/11.2.0/xe/config/scripts/sqlplus.sh

今すぐ実行

cd /u01/app/oracle/product/11.2.0/xe/config/scripts
./sqlplus.sh / as sysdba

次に、古い資格情報を使用してデータベースに接続する必要があります。出力でOracle提供のテンプレートを見つけることができます。

Use "connect username/password@XE" to connect to the database.

私の場合、ユーザー「oracle」とパスワード「oracle」があり、入力は次のようになります。

connect oracle/oracle@XE

できました。次に、新しいパスワードを2回入力します。次に、パスワードの有効期限が切れたくない場合は、実行できます

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.