ALTER USER. Сменить пароль пользователя в SQL*Plus
Доброго времени суток. У меня случилась неприятность при работе с БД Oracle в программе SQL*Plus, пароль для схемы «SYSTEM» оказался просроченным. Я просто напросто забыл его сменить, прошло 7 дней и он «протух». А мне нужно работать с таблицей product_user_profile, права назначать. Поэтому решил написать небольшую заметку для себя, чтобы раз и навсегда запомнить как менять пароль юзера в SQL*Plus.
Что делать если протух пароль для SYSTEM в Oracle
Первым делом нужно подключиться с привилегиями SYSDBA от лица пользователя SYS. Сделать это можно двумя разными способами.
1.1) Если мы уже зашли под любым пользователем, то используем команду connect.
connect sys as sysdba
1.2) Иначе запустить SQL*Plus сразу с нужными привилегиями.
sqlplus «sys as sysdba»
В обоих случаях вводить пароль пользователя SYS, по умолчанию oracle.
2) Убедимся, что мы находимся в «главной» базе данных — CDB$ROOT.
ALTER SESSION SET container = CDB$ROOT;
3) Настал тот самый момент, когда можно менять пароль для SYSTEM, не забываем указать, чтобы это действо применилось ко всем контейнерам.
ALTER USER SYSTEM IDENTIFIED BY password container=all;
Смена пароля для любого пользователя
Проделываем тоже самое, но на последнем шаге не указываем контейнер.
ALTER USER username IDENTIFIED BY password;
Oracle кажется мудреной базой данных по сравнению со старым добрым MySQL, но я начинаю потихоньку разбираться. С помощью ALTER USER можно таких дел натворить, поэтому приложу ссылочку на официальный сайт с описанием всех чудес этой команды.
А самой запутанной вещью для меня пока является разница между CDB и PDB контейнерами, поэтому абсолютно точно я в этом разберусь и подробно опишу. Спасибо за внимание!
Изменить пароль пользователя в Oracle
Вопрос: Как изменить пароль для пользователя в Oracle?
Ответ: Для того, чтобы изменить пароль пользователя в Oracle, необходимо выполнить команду ALTER USER.
Синтаксис
Синтаксис для изменения пароля пользователя в Oracle:
ALTER USER user_name IDENTIFIED BY new_password;
Параметры или аргументы:
user_name
Пользователь, чей пароль вы хотите изменить.
new_password
Новый назначенный пароль
Пример
Рассмотрим пример того, как изменить пароль для пользователя в Oracle/PLSQL.
Изменение пароля с помощью разработчика Oracle SQL
Я не хочу писать им пакет для изменения их паролей, так как у нас много баз данных. Есть ли у меня лучший вариант?
Поделиться Источник 21 июня 2010 в 16:10
15 ответов
Правильный синтаксис для обновления пароля с помощью SQL Developer:
alter user user_name идентификатор new_password replace old_password ;
Вы можете проверить больше вариантов этой команды здесь: ALTER USER-Oracle DOCS
Поделиться 30 мая 2012 в 02:09
- Введите «пароль» (без кавычек)
- Выделите, нажмите CTRL + ENTER .
- Скрин смены пароля появится.
Поделиться 04 февраля 2013 в 22:21
У разработчика SQL есть встроенная опция сброса пароля, которая может работать для вашей ситуации. Она также требует добавления моментального клиента Oracle на рабочую станцию. Когда клиент находится в пути, когда запускается SQL разработчик, вы получите включенную следующую опцию:

Мгновенному клиенту Oracle не нужны права администратора для установки, просто возможность писать в каталог и добавлять этот каталог в путь пользователей. Большинство пользователей имеют права сделать это.
Принятие: Чтобы использовать сброс пароля в разработчике Oracle SQL:
- Вы должны распаковать клиент Oracle в каталог
- Вы должны добавить каталог Oracle Instant Client в путь пользователей
- Затем вы должны перезапустить разработчик Oracle SQL
На этом этапе вы можете щелкнуть правой кнопкой мыши на источнике данных и сбросить свой пароль.
Альтернативная конфигурация для распознавания и использования мгновенного клиента на OS X со стороны разработчика SQL (проверено на версии 4.0.1):
- Установите путь к мгновенному клиенту в настройках -> База данных -> Дополнительно -> Используйте клиент Oracle
- Проверьте, что мгновенный клиент может быть успешно загружен с помощью параметров Configure. -> Test. из диалогового окна preferences
- (OS X) См. этот вопрос для решения проблем, связанных с переменной окружения DYLD_LIBRARY_PATH. Я использовал следующую команду, а затем перезапустил SQL Developer, чтобы получить изменения: $ launchctl setenv DYLD_LIBRARY_PATH /path/to/oracle/instantclient_11_2
Поделиться 07 марта 2013 в 17:59
Ваши пользователи все еще могут изменить свои пароли, изменив «имя пользователя onlyTheirUserName, идентифицированное по новому паролю». Им не нужно иметь привилегию ALTER USER, чтобы изменить свой собственный пароль.
Поделиться 21 июня 2010 в 17:03
В зависимости от настроек администратора, вам может потребоваться указать свой старый пароль с помощью опции ЗАМЕНИТЬ
alter user identified by replace
Поделиться 06 февраля 2012 в 14:13
Я понимаю, что есть много ответов, но я нашел решение, которое может быть полезно для некоторых. Я столкнулся с той же проблемой, я запускаю разработку Oracle sql на своем локальном компьютере и у меня есть куча пользователей. Я случайно запомнил пароль для одного из своих пользователей и использовал его для сброса пароля других пользователей.
- подключитесь к базе данных, используя действительный пользователь и пароль, в моем случае все мои пользователи истекли срок действия, кроме «системного», и я помню этот пароль
- найдите узел «Other_users» внутри дерева, как показано на изображении ниже

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

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

И это сработало для меня, Это не так хорошо, как другое решение, потому что вам нужно иметь возможность войти хотя бы в одну учетную запись, но это работает.
Поделиться 03 января 2017 в 15:03
Чтобы немного ясно:
Если имя пользователя: abcdef и старый пароль: a123b456, новый пароль: m987n654
имеющий пользователя abcdef, идентифицированный m987n654, замените a123b456;
Поделиться 07 марта 2012 в 15:44
Я подтвердил, что это работает в SQL Developer 3.0.04. Наши пароли обязаны иметь специальный символ, поэтому в нашем случае нужна двойная кавычка строки. Конечно, это работает только если пароль еще не истек и вы в настоящее время вошли в систему.
ALTER USER MYUSERID IDENTIFIED BY "new#password" REPLACE "old#password"
Поделиться 15 ноября 2012 в 17:08
Попробуйте это решение если опция Сброс пароля (для SQL Developer) не сработала:
Шаг 1: Откройте командную строку SQL (из меню запуска, которая поставляется с пакетом установки SQL Developer)
Шаг 2: Выполните следующие команды:

Примечание: Если срок действия пароля уже истек, автоматически появится опция Изменение пароля для .
Поделиться 10 марта 2019 в 07:13
Есть еще один способ сбросить пароль через командную строку.
1) Перейдите в папку базы данных Oracle (в моем случае Oracle Database 11g Express Edition) в меню «Старт».
2) Внутри этой папки нажмите «Запустить SQL Commandline»
3) Введите «подключить имя пользователя/пароль» (ваше имя пользователя и старый пароль без кавычек)
4) Отображаемое сообщение выглядит так.
ОШИБКА: ORA-28001: срок действия пароля истек
Изменение пароля для hr
5) Введите новый пароль
6) Переведите новый пароль
7) Отображаемое сообщение.
Пароль изменен подключен.
8) Перейдите к разработчику Sql —> введите новый пароль —> подключен
Поделиться 22 ноября 2015 в 10:28
Встроенный вариант сброса пароля может не работать для пользователя. В этом случае пароль можно сбросить, используя следующий SQL-оператор:
ALTER user "user" identified by "NewPassword" replace "OldPassword";
Поделиться 16 августа 2013 в 13:05
Одно примечание для людей, у которых может отсутствовать установленный пароль для 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;
Поделиться 28 марта 2016 в 03:54
Теперь вы можете сделать это в SQL Developer 4.1.0.17, без необходимости в PL/SQL, предполагая, что у вас есть другая учетная запись, которая имеет административные привилегии:
- Создайте подключение к базе данных в SQL Developer 4.1.0.17 с альтернативным административным пользователем
- Разверните раздел «Другие пользователи», когда они подключились, и щелкните правой кнопкой мыши пользователя, чей пароль истек. Выберите «Изменить пользователя».
- Снимите флажок «Пароль истек. » и введите новый пароль для пользователя и нажмите «Сохранить».
- Задача выполнена! Вы можете проверить, подключившись к пользователю, чей пароль истек, чтобы подтвердить его действительность снова.
Поделиться 14 февраля 2015 в 09:28
Вы можете найти пользователя в таблице 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.
и вы сможете увидеть статус вашего пользователя.
Поделиться 03 октября 2013 в 18:16
Я использую версию 21.2.0.187 (выпущенную в июле 2021 года).
Существует кнопка сброса, которая позволяет сбросить пароль на новый пароль, как показано на следующих рисунках. Вы можете достичь ее, щелкнув правой кнопкой мыши на подключении.
Я удерживаю пароль, затем вхожу с новым паролем.
Изменение пароля
Примечание. Сменить пароль невозможно, если для учетной записи включен единый вход. В этом случае обращайтесь в службу поддержки Responsys.
Чтобы изменить пароль, выполните следующие действия.
- На боковой панели навигации выберите
Учетная запись. (Если боковая панель навигации не отображается, щелкните значок
.) - Введите пароль в окно поиска, а затем выберите Изменить пароль.
(Если на странице «Управление учетными записями» отображается страница ссылок вместо страницы с меню и окном поиска, нажмите Ctrl+F, а затем выполните поиск элемента «Изменить пароль». Для продолжения щелкните полученную в результате ссылку.) - Введите свой прежний пароль, введите новый пароль и затем подтвердите его, введя повторно.
- Администратор учетной записи может установить определенные требования, такие как минимальная длина пароля или необходимость включения цифры.
- Если вы забыли свой пароль, щелкните Забыли пароль на странице входа, и вам будет направлено уведомление по электронной почте с инструкциями по сбросу пароля.
- About Oracle
- Legal Notices
- Terms of Use
- Your Privacy Rights