146

Many of my users do not use SQLPlus. I cannot give them alter user. We expire passwords every 60 days.

I can't get the SQLPlus command "password" to work in SQL developer.

  1. When I hit run, I get an invalid command error
  2. When I hit run script, nothing happens.

I don't want to write them a package to change their passwords since we have a lot of databases. Do I have a better option?

4

15 に答える 15

198

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

alter user user_name identified by new_password replace old_password;

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

于 2012-05-30T02:09:16.870 に答える
108

SQL ワークシートで:

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

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

  • パスワード変更画面が出てきます。

于 2013-02-04T22:21:19.583 に答える
72

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

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/を参照してください。

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

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

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

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

于 2013-03-07T17:59:01.777 に答える
24

ユーザーは、「新しいパスワードで識別されたユーザーのみのユーザー名を変更する」ことで、引き続きパスワードを変更できます。自分のパスワードを変更するために ALTER USER 権限を持っている必要はありません。

于 2010-06-21T17:03:51.370 に答える
17

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

alter user <username> identified by <newpassword> replace <oldpassword> 
于 2012-02-06T14:13:59.820 に答える
10

少し明確にするために:

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

m987n654によって識別されるユーザーabcdefを変更a123b456を置き換えます

于 2012-03-07T15:44:22.303 に答える
9

多くの答えがあることは承知していますが、一部の人に役立つ解決策を見つけました。同じ問題に遭遇しました。ローカル コンピューターで oracle sql development を実行していて、多数のユーザーがいます。あるユーザーのパスワードをたまたま覚えていて、それを使用して他のユーザーのパスワードをリセットしました。

手順:

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

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

ここに画像の説明を入力

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

ここに画像の説明を入力

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

ここに画像の説明を入力

そして、それは私にとってはうまくいきました.少なくとも1つのアカウントにログインできる必要があるため、他のソリューションほど良くはありませんが、うまくいきます.

于 2017-01-03T15:03:53.367 に答える
7

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

ALTER USER MYUSERID
IDENTIFIED BY "new#password"
REPLACE "old#password"
于 2012-11-15T17:08:29.230 に答える
2

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

1) START MENU で Oracle Database フォルダ (私の場合は Oracle Database 11g Express Edition) に移動します。

2) そのフォルダ内で[ Run SQL Commandline ] をクリックします。

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

3) 「connect username/password」と入力します (引用符なしのユーザー名と古いパスワード)

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

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

hr のパスワードを変更しています

--> 新しいパスワード:

ユーザー名、パスワードの画像を入力

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

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

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

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

SQL>

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

于 2015-11-22T10:28:05.810 に答える
2

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

ALTER user "user" identified by "NewPassword" replace "OldPassword";
于 2013-08-16T13:05:04.273 に答える
1

SQL Developer 4.1.0.17でこれを実行できるようになりました。管理者権限を持つ別のアカウントがあると仮定すると、PL/SQL は必要ありません。

  1. 別の管理ユーザーを使用して、SQL Developer 4.1.0.17 でデータベースへの接続を作成します。
  2. 接続したら、[その他のユーザー] セクションを展開し、パスワードの有効期限が切れているユーザーを右クリックします。「ユーザーの編集」を選択します。
  3. [パスワードの有効期限が切れました...] チェックボックスをオフにし、ユーザーの新しいパスワードを入力して、[保存] をクリックします。
  4. 仕事終わり!パスワードの有効期限が切れたユーザーに接続してテストし、パスワードが再び有効になったことを確認できます。
于 2015-02-14T09:28:37.980 に答える
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;
于 2016-03-28T03:54:44.380 に答える
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.

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

于 2013-10-03T18:16:09.840 に答える
0

バージョン 21.2.0.187 (2021 年 7 月リリース) を使用しています。

次の図に示すように、パスワードを新しいパスワードにリセットできるリセット ボタンがあります。接続上でマウスを右クリックしてアクセスできます。

パスワードをリセットしてから、新しいパスワードでログインします。

ここに画像の説明を入力 ここに画像の説明を入力

于 2021-08-11T03:29:29.677 に答える