Смена пароля с помощью Oracle SQL Developer

Многие из моих пользователей не используют SQLPlus. Я не могу дать им другого пользователя. Срок действия паролей истекает каждые 60 дней.

Я не могу получить команду SQLPlus "пароль" для работы в разработчике SQL.

  1. Когда я нажимаю "Выполнить", я получаю неверную командную ошибку.
  2. Когда я нажимаю сценарий запуска, ничего не происходит.

Я не хочу писать им пакет для смены их паролей, поскольку у нас много баз данных. Есть ли у меня вариант получше?


person Bob    schedule 21.06.2010    source источник
comment
Вы не можете изменить пароль с истекшим сроком действия в SQL Developer с помощью команды SQL. Он не поддерживается в стеке JDBC. Для этого вам понадобятся библиотеки OCI. Разработчик SQL имеет возможность сбросить пароль с истекшим сроком действия через стек OCI, если он был правильно установлен. См. Мой ответ для получения полной информации.   -  person Frobbit    schedule 07.03.2013
comment
Вы можете сделать это с помощью SQL Developer 4.1.0.17. Смотрите мой ответ ниже.   -  person Fuzzy Analysis    schedule 14.02.2015


Ответы (14)


Правильный синтаксис для обновления пароля с помощью SQL Developer:

alter user user_name identified by new_password replace old_password;

Вы можете проверить дополнительные параметры этой команды здесь: ALTER USER- Oracle DOCS

person Americo Savinon    schedule 30.05.2012
comment
Кроме того, вам может потребоваться заключить пароль (и) в двойные кавычки, чтобы избежать любых специальных символов в пароле. Например, alter user __user_name__ identified by "newp@ss!!!" replace "oldp@ss!!!" Дополнительная информация на asktom.oracle.com/pls/asktom/ - person Bryant Bowman; 17.07.2012
comment
Если срок действия вашего pwd истек, удачи вам войти в систему, чтобы запустить это. Ответы Вопрос, но не вопрос. - person Ben George; 28.04.2016
comment
Итак, я просто запустил это. Для будущих читателей. Вы исправляете другую учетную запись (если вы супер с учетной записью Privs). Но вы не можете исправить СЕБЯ этим синтаксисом, ЕСЛИ У ВАС (СЕБЯ) уже истек срок действия. Урок выучен! Обратите внимание на предупреждения! Спасибо A.M. Я использую Sql Developer (версия 19.4.0.354) против Oracle 18c .. FYI. - person granadaCoder; 07.08.2020
comment
Вы должны быть администратором, чтобы запустить эту команду, не можете обновить собственный пароль пользователя. Т.е. пользователь: sys как SYSDBA. Проверьте docs.oracle.com / database / 121 / ADMQS /. - person Telmo Dias; 29.11.2020

На листе SQL:

  • Введите «пароль» (без кавычек)

  • Выделите, нажмите CTRL + ENTER.

  • Появится экран смены пароля.

person Niall    schedule 04.02.2013
comment
Вы также можете ввести пароль someusername - person Anna; 21.06.2013
comment
Я полагаю, вы имеете в виду действие оператора Run. По-видимому, ярлык по умолчанию - Ctrl + Enter. - person Álvaro González; 25.03.2014

В SQL Developer есть встроенная опция сброса пароля, которая может сработать в вашей ситуации. Это также требует добавления Oracle Instant Client на рабочую станцию. Когда мгновенный клиент находится на пути, когда SQL-разработчик запускает, вы получите включенную следующую опцию:

Разработчик SQL: раскрывающееся меню с параметром сброса пароля

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) распознавать и использовать Instant Client в OS X:

  1. Задайте путь к Instant Client в Preferences -> Database -> Advanced -> Use Oracle Client
  2. Убедитесь, что клиент экземпляра может быть успешно загружен, используя параметры «Настроить ...» -> «Проверить ...» в диалоговом окне настроек.
  3. (OS X) Обратитесь к этому вопросу, чтобы решить проблемы, связанные с переменной среды DYLD_LIBRARY_PATH. . Я использовал следующую команду, а затем перезапустил SQL Developer, чтобы принять изменения:

    $ launchctl setenv DYLD_LIBRARY_PATH / путь / к / oracle / Instantclient_11_2

person Frobbit    schedule 07.03.2013
comment
Доступно не для всех пользователей 80 ( - person Keng; 26.02.2014
comment
хммм, похоже, у меня не работает. Интересно, действительно ли обновление PATH - это все, что вам нужно сделать на Mac. - person fudo; 12.03.2014
comment
Я использую Mac дома, но на работе компьютер с Windows. Скоро мы перейдем на Mac .. Если я найду подробности, я отправлю их. - person Frobbit; 15.03.2014
comment
@Frobbit, есть ли Oracle Instant Client для Linux? - person Joaquim Oliveira; 17.04.2014
comment
Google мне очень помогает :-) с ним я нашел: oracle.com/ technetwork / themes / linuxx86-64soft-092277.html, которые могут устареть. Чтобы снова погуглить, используйте goo.gl/kU5ZdM. - person Frobbit; 18.04.2014
comment
Спасибо, сработало на Windows 7 64bit. Однако мне пришлось пройти дополнительный шаг (который аналогичен первому шагу в конфигурации OS X выше), иначе опция «сбросить пароль» останется серой. 4. Задайте путь к Instant Client в настройках - ›База данных -› Дополнительно - ›Использовать Oracle Client - person marciowerner; 21.09.2016

Ваши пользователи по-прежнему могут изменять свои пароли, «изменяя пользователя onlyTheirUserName, идентифицированного новым паролем». Им не обязательно иметь привилегию ALTER USER для изменения собственного пароля.

person dpbradley    schedule 21.06.2010

В зависимости от настроек администратора вам может потребоваться указать старый пароль с помощью опции ЗАМЕНИТЬ.

alter user <username> identified by <newpassword> replace <oldpassword> 
person Gerry Gurevich    schedule 06.02.2012
comment
могут ли новый пароль и старый пароль совпадать? - person Haris Mehmood; 21.05.2015
comment
Это неверный ответ. newpassword и oldpassword заменяются. Вместо этого используйте stackoverflow.com/a/10809140/643483 - person Aaron Kurtzhals; 07.11.2016
comment
@AaronKurtzhals Ответ, на который вы ссылаетесь, говорит то же самое, что и мой ответ. Ссылка на документы оракула здесь: docs.oracle.com/cd/ B19306_01 / server.102 / b14200 / - person Gerry Gurevich; 05.12.2016
comment
Главное, что нужно добавить (что было сделано @pgs в своем ответе на тот же вопрос), - это то, что вам может потребоваться заключить пароли в кавычки, если они содержат специальные символы. - person Gerry Gurevich; 05.12.2016

Чтобы было немного понятно:

Если имя пользователя: abcdef и старый пароль: a123b456, новый пароль: m987n654

изменить пользователя abcdef, идентифицированного как m987n654, заменить a123b456;

person spazzo    schedule 07.03.2012

Я понимаю, что есть много ответов, но я нашел решение, которое может быть полезно для некоторых. Я столкнулся с той же проблемой, я запускаю oracle sql develop на своем локальном компьютере, и у меня есть несколько пользователей. Я помню пароль одного из своих пользователей и использовал его для сброса паролей других пользователей.

Шаги:

  1. подключиться к базе данных с использованием действующего пользователя и пароля, в моем случае срок действия всех моих пользователей истек, кроме «system», и я помню этот пароль

  2. найдите узел "Other_users" в дереве, как показано на рисунке ниже.

введите описание изображения здесь

3. в дереве «Другие_пользователи» найдите пользователей, для которых вы хотите сбросить пароль, щелкните заметку правой кнопкой мыши и выберите «Изменить пользователей».

введите описание изображения здесь

4. введите новый пароль в диалоговом окне редактирования пользователя и нажмите «Применить». Убедитесь, что вы сняли флажок «Срок действия пароля истек (пользователь должен сменить следующий логин)».

введите описание изображения здесь

И это сработало для меня. Это не так хорошо, как другое решение, потому что вам нужно иметь возможность войти хотя бы в одну учетную запись, но это работает.

person Saad A    schedule 03.01.2017

Я подтвердил, что это работает в SQL Developer 3.0.04. Наши пароли должны содержать специальный символ, поэтому в нашем случае необходима строка в двойных кавычках. Конечно, это работает только в том случае, если срок действия пароля еще не истек, и вы в настоящее время вошли в систему.

ALTER USER MYUSERID
IDENTIFIED BY "new#password"
REPLACE "old#password"
person pgs    schedule 15.11.2012
comment
Это неверный ответ. newpassword и oldpassword заменяются. Вместо этого используйте stackoverflow.com/a/10809140/643483 - person Aaron Kurtzhals; 07.11.2016

Попробуйте это решение, если параметр «Сбросить пароль» (в SQL Developer) не работает:

Шаг 1. Откройте командную строку «Выполнить SQL» (из меню «Пуск», которое поставляется с установочным пакетом SQL Developer).

Шаг 2: Выполните следующие команды:

введите описание изображения здесь

Примечание. Если срок действия пароля уже истек, автоматически появится опция Changing password for <user>.

person Leo    schedule 10.03.2019

Встроенная опция сброса пароля может не работать для пользователя. В этом случае пароль можно сбросить с помощью следующей инструкции SQL:

ALTER user "user" identified by "NewPassword" replace "OldPassword";
person user2689487    schedule 16.08.2013

вы можете найти пользователя в таблице 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.

и вы можете увидеть статус вашего пользователя.

person Community    schedule 03.10.2013

Теперь это можно сделать в SQL Developer 4.1.0.17, PL / SQL не требуется, если у вас есть другая учетная запись с правами администратора:

  1. Создайте соединение с базой данных в SQL Developer 4.1.0.17 с альтернативным администратором.
  2. После подключения разверните раздел «Другие пользователи» и щелкните правой кнопкой мыши пользователя, срок действия пароля которого истек. Выберите «Редактировать пользователя».
  3. Снимите флажок «Срок действия пароля истек ...», введите новый пароль для пользователя и нажмите «Сохранить».
  4. Работа сделана! Вы можете проверить, подключившись к пользователю, срок действия пароля которого истек, чтобы убедиться, что он снова действителен.
person Fuzzy Analysis    schedule 14.02.2015

Есть еще один способ сбросить пароль через командную строку ...

1) Перейдите в папку базы данных Oracle (в моем случае Oracle Database 11g Express Edition) в НАЧАЛЬНОМ МЕНЮ.

2) В этой папке нажмите «Запустить командную строку SQL».

Образ папки базы данных Oracle

3) Введите «подключите имя пользователя / пароль» (ваше имя пользователя и старый пароль без кавычек)

4) Отображаемое сообщение ...

ОШИБКА: ORA-28001: срок действия пароля истек.

Смена пароля на час

-> Новый пароль:

Введите имя пользователя, изображение пароля

5) Введите новый пароль

6) Введите новый пароль еще раз

7) Отображаемое сообщение ...

Пароль изменен Подключен.

SQL>

8) ПЕРЕЙДИТЕ К разработчику Sql -> введите новый пароль -> подключено

person Suchitra Phadke    schedule 22.11.2015
comment
Хотя ОП все еще активен, через 5 лет после того, как вопрос был задан, ответ может больше не иметь значения. - person Strawberry; 22.11.2015
comment
@ Strawberry, если он отвечает на вопрос, почему бы и нет? !! - person Muhammed Refaat; 22.11.2015

Одно замечание для людей, у которых может не быть установленного пароля для 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

Выполнено. Теперь дважды введите новый пароль. Затем, если вы не хотите, чтобы срок действия вашего пароля больше истекал, вы можете запустить

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
person Sorokin Andrey    schedule 28.03.2016