Изменение пароля с Oracle SQL Developer

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

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

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

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

Ответ 1

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

alter user user_name identified by new_password replace old_password ;

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

Ответ 2

В листе SQL:

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

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

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

Ответ 3

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

SQL Developer: Drop Down menu showing reset password option

Oracle Instant Client не нуждается в привилегиях администратора для установки, просто возможность писать в каталог и добавлять этот каталог к ​​пути пользователей. У большинства пользователей есть привилегии для этого.

Recap: для использования reset пароля для Oracle SQL Developer:

  • Вы должны распаковать Oracle Instant Client в каталоге
  • Вы должны добавить каталог Oracle Instant Client в путь пользователей
  • Затем вы должны перезапустить Oracle SQL Developer

На этом этапе вы можете щелкнуть правой кнопкой мыши источник данных и reset ваш пароль.

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

  • Установить путь к Instant Client в настройках → База данных → Дополнительно → Использовать Oracle Client
  • Проверить, что клиент экземпляра может быть успешно загружен с помощью параметров Configure... → Test... из диалогового окна настроек
  • (OS X) Обратитесь к этому вопросу, чтобы решить проблемы, связанные с переменной среды DYLD_LIBRARY_PATH. Я использовал следующую команду, а затем перезапустил SQL Developer, чтобы получить изменение:

    $launchctl setenv DYLD_LIBRARY_PATH/путь/to/oracle/instantclient_11_2

Ответ 4

Ваши пользователи могут по-прежнему изменять свои пароли с помощью "alter user onlyTheirUserName, идентифицированного newpassword". Они не должны иметь привилегии ALTER USER, чтобы изменить свой собственный пароль.

Ответ 5

В зависимости от настроек администратора вам может потребоваться указать свой старый пароль, используя опцию REPLACE

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

Ответ 6

Чтобы сделать это немного ясно:

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

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

Ответ 7

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

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

Ответ 8

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

Этапы:

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

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

enter image description here

3.В дереве "Other_users" найдите пользователей, для которых вы хотите сбросить пароль, щелкните правой кнопкой мыши заметку и выберите "Редактировать пользователей"

enter image description here

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

enter image description here

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

Ответ 9

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

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

Ответ 10

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

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

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

enter image description here

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

Ответ 11

вы можете найти пользователя в таблице DBA_USERS, например

SELECT profile
FROM dba_users
WHERE username = 'MacsP'

Теперь перейдите в sys/system (administrator) и используйте запрос

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

Чтобы проверить статус учетной записи, просто просмотрите

SELECT * FROM DBA_USERS.

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

Ответ 12

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

  • Создайте соединение с базой данных в SQL Developer 4.1.0.17 с альтернативным административным пользователем
  • Разверните раздел "Другие пользователи" после подключения и щелкните правой кнопкой мыши пользователя, пароль которого истек. Выберите "Изменить пользователя".
  • Снимите флажок "Истек срок действия пароля...", введите новый пароль для пользователя и нажмите "Сохранить".
  • Работа выполнена! Вы можете проверить, подключившись к пользователю, чей пароль истек, чтобы подтвердить, что он снова действителен.

Ответ 13

Существует еще один способ reset пароля через командную строку...

1) Перейдите в папку базы данных Oracle (в моем случае Oracle Database 11g Express Edition) в меню START MENU.

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

Изображение папки базы данных Oracle

3) Тип " соединить имя пользователя/пароль" (ваше имя пользователя и старый пароль без кавычек)

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

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

Изменение пароля для hr

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

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

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

6) Повторите новый пароль

7) Сообщение отображается...

Пароль изменен Connected.

SQL >

8) GO TO Sql developer → введите новый пароль → подключен

Ответ 14

Одно примечание для людей, у которых может не быть установленного пароля для 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/[email protected]" to connect to the database.

В моем случае у меня есть пользовательский "oracle" с паролем "oracle", поэтому мой ввод выглядит как

connect oracle/[email protected]

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

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;