Ответ 1
Правильный синтаксис для обновления пароля с помощью SQL Developer:
alter user
user_name
identified by
new_password
replace
old_password
;
Вы можете проверить дополнительные параметры для этой команды здесь: ALTER USER-Oracle DOCS
Многие из моих пользователей не используют SQLPlus. Я не могу дать им изменить пользователя. Мы истекаем пароли каждые 60 дней.
Я не могу заставить команду SQLPlus "пароль" работать в SQL-разработчике.
Я не хочу писать им пакет для изменения их паролей, так как у нас много баз данных. У меня есть лучший вариант?
Правильный синтаксис для обновления пароля с помощью SQL Developer:
alter user
user_name
identified by
new_password
replace
old_password
;
Вы можете проверить дополнительные параметры для этой команды здесь: ALTER USER-Oracle DOCS
В листе SQL:
Введите "пароль" (без кавычек)
Выделите, нажмите CTRL + ENTER.
Появится экран смены пароля.
У SQL Developer есть встроенная опция пароля reset, которая может работать для вашей ситуации. Это требует добавления Oracle Instant Client на рабочую станцию. Когда мгновенный клиент находится в пути при запуске SQL-разработчика, вы получите следующий параметр:
Oracle Instant Client не нуждается в привилегиях администратора для установки, просто возможность писать в каталог и добавлять этот каталог к пути пользователей. У большинства пользователей есть привилегии для этого.
Recap: для использования reset пароля для 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:
(OS X) Обратитесь к этому вопросу, чтобы решить проблемы, связанные с переменной среды DYLD_LIBRARY_PATH. Я использовал следующую команду, а затем перезапустил SQL Developer, чтобы получить изменение:
$launchctl setenv DYLD_LIBRARY_PATH/путь/to/oracle/instantclient_11_2
Ваши пользователи могут по-прежнему изменять свои пароли с помощью "alter user onlyTheirUserName, идентифицированного newpassword". Они не должны иметь привилегии ALTER USER, чтобы изменить свой собственный пароль.
В зависимости от настроек администратора вам может потребоваться указать свой старый пароль, используя опцию REPLACE
alter user <username> identified by <newpassword> replace <oldpassword>
Чтобы сделать это немного ясно:
Если имя пользователя: abcdef и старый пароль: a123b456, новый пароль: m987n654
изменить пользователя abcdef, идентифицированный m987n654 заменить a123b456;
Я подтвердил, что это работает в SQL Developer 3.0.04. Наши пароли должны иметь специальный символ, поэтому в нашем случае необходима строка с двойными кавычками. Конечно, это работает только в том случае, если пароль еще не истек, и вы в настоящее время вошли в систему.
ALTER USER MYUSERID
IDENTIFIED BY "new#password"
REPLACE "old#password"
Я понимаю, что есть много ответов, но я нашел решение, которое может быть полезным для некоторых. Я столкнулся с той же проблемой, на моем локальном компьютере я запускаю oracle sql development, и у меня есть группа пользователей. Мне запомнился пароль одного из моих пользователей, и я использовал его для сброса пароля других пользователей.
Этапы:
подключиться к базе данных, используя действительные имя пользователя и пароль, в моем случае срок действия всех моих пользователей истек, кроме "system", и я помню этот пароль
найдите узел "Other_users" в дереве, как показано на изображении ниже
3.В дереве "Other_users" найдите пользователей, для которых вы хотите сбросить пароль, щелкните правой кнопкой мыши заметку и выберите "Редактировать пользователей"
4. Заполните новый пароль в диалоговом окне редактирования пользователя и нажмите "Применить". Убедитесь, что вы сняли флажок "Срок действия пароля истек (пользователь должен изменить следующий логин)".
И это сработало для меня. Это не так хорошо, как другие решения, потому что вам нужно иметь возможность войти хотя бы в одну учетную запись, но она работает.
Встроенная опция пароля reset может не работать для пользователя. В этом случае пароль может быть reset, используя следующий оператор SQL:
ALTER user "user" identified by "NewPassword" replace "OldPassword";
Попробуйте это решение , если параметр "Сбросить пароль" (в SQL Developer) не работает:
Шаг 1. Откройте командную строку "Выполнить SQL" (из меню "Пуск", которое входит в установочный пакет SQL Developer)
Шаг 2. Выполните следующие команды:
Примечание: Если срок действия пароля уже истек, автоматически появится опция Changing password for <user>
.
вы можете найти пользователя в таблице 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.
и вы можете видеть статус своего пользователя.
Теперь вы можете сделать это в SQL Developer 4.1.0.17, не требуется PL/SQL, если у вас есть другая учетная запись с правами администратора:
Существует еще один способ 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 → введите новый пароль → подключен
Одно примечание для людей, у которых может не быть установленного пароля для 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;