Зміна пароля за допомогою Oracle SQL Developer


139

Багато моїх користувачів не використовують SQLPlus. Я не можу дати їм змінити користувача. Ми терміни дії паролів кожні 60 днів.

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

  1. Коли я натискаю run, я отримую помилкову помилку команди
  2. Коли я натискаю сценарій запуску, нічого не відбувається.

Я не хочу писати їм пакет, щоб змінити свої паролі, оскільки у нас багато баз даних. У мене є кращий варіант?


4
Ви не можете змінити минулий пароль у SQL Developer за допомогою команди SQL. Він не підтримується в стеку JDBC. Для цього вам потрібні бібліотеки OCI. Розробник SQL має можливість скинути і минув пароль через стек OCI, якщо він був правильно встановлений. Дивіться мою відповідь для отримання детальної інформації.
Frobbit

Це можна зробити за допомогою SQL Developer 4.1.0.17. Дивіться мою відповідь нижче.
Нечіткий аналіз

Відповіді:


189

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

alter user user_name identified by new_password replace old_password ;

Ви можете перевірити інші параметри для цієї команди тут: ALTER USER-Oracle DOCS


29
Також вам може знадобитися загортати пароль (-ла) у подвійні лапки, щоб уникнути будь-яких спеціальних символів у паролі. Наприклад, alter user __user_name__ identified by "newp@ss!!!" replace "oldp@ss!!!"Більше інформації на сайті asktom.oracle.com/pls/asktom/…
Брайант Боуман

6
Якщо термін дії вашого pwd закінчився, увійдіть, щоб запустити це. Відповіді Питання, але не питання.
Бен Джордж

105

На робочому аркуші SQL:

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

  • Виділіть, натисніть CTRL+ ENTER.

  • З'явиться екран зміни пароля.


4
Ви також можете зробити "пароль деякогокористувача"
Анна

3
Я думаю, ви маєте на увазі дію "Запустити оператор". За замовчуванням ярлик видається Ctrl + Enter .
Альваро Гонсалес

70

SQL Developer має вбудований параметр скидання пароля, який може працювати у вашій ситуації. Він також вимагає додавання миттєвого клієнта Oracle до робочої станції. Коли миттєвий клієнт переходить до шляху, коли запускається розробник SQL, ви отримаєте наступний параметр:

SQL Developer: випадаюче меню, де відображено параметр скидання пароля

Oracle Instant Client не потребує привілеїв адміністратора для встановлення, лише можливість запису в каталог і додавання цього каталогу в шлях користувачів. Більшість користувачів мають привілеї на це.

Резюме: Для того, щоб використовувати Скинути пароль в Oracle SQL Developer:

  1. Ви повинні розпакувати миттєвий клієнт Oracle у каталозі
  2. Ви повинні додати каталог користувачів миттєвого клієнта Oracle до шляху користувачів
  3. Потім потрібно перезапустити розробник Oracle SQL

У цей момент ви можете натиснути правою кнопкою миші джерело даних та скинути пароль.

Дивіться 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:

  1. Встановіть шлях до миттєвого клієнта в налаштуваннях -> База даних -> Додатково -> Використовуйте Oracle Client
  2. Перевірте, чи клієнт екземпляра може бути успішно завантажений за допомогою параметрів Налаштувати ... -> Тест ... з діалогового вікна налаштувань
  3. (OS X) Зверніться до цього питання, щоб вирішити проблеми, пов'язані зі змінною середовища DYLD_LIBRARY_PATH. Я використовував таку команду, а потім перезапустив SQL Developer, щоб отримати зміни:

    $ startctl setenv DYLD_LIBRARY_PATH / шлях / до / oracle / instantclient_11_2


1
Доступно не для всіх користувачів 80 (
Кенг,

хммм, це, здається, не працює на мене. Цікаво, чи оновлення PATH насправді все, що вам потрібно зробити, на Mac.
фудо

Я використовую mac дома, але Windows PC на роботі. Ми незабаром переходимо на маки. Якщо я знайду деталі, я їх опублікую.
Фробіт

1
Google дуже корисний :-) з цим я виявив: oracle.com/technetwork/topics/linuxx86-64soft-092277.html, які можуть стати несвіжими. Щоб знову перейти в
Frobbit

1
Дякую, він працював на Windows 7 64bit. Мені довелося пройти додатковий крок (який такий же, як перший крок у конфігурації OS X вище), інакше параметр «скинути пароль» залишатиметься відтінком. 4. Встановіть шлях до миттєвого клієнта у налаштуваннях -> База даних -> Додатково -> Використовуйте Oracle Client
marciowerner

24

Ваші користувачі все ще можуть змінити свої паролі, "змінити лише користувачаTheirUserName, ідентифікований новим паролем ". Вони не повинні мати ПРИКОРИСТАННЯ ПОЛЬЗОВАТЕЛЯ, щоб змінити власний пароль.


16

Залежно від налаштувань адміністратора, можливо, доведеться вказати свій старий пароль, використовуючи опцію ЗАМІНИ

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

чи можуть новий пароль і стара пароля бути однаковими?
Харіс Мехмуд

2
Ця відповідь неправильна. newpassword та oldpassword переносяться. Використовуйте натомість stackoverflow.com/a/10809140/643483
Аарон Куртжальс

1
@AaronKurtzhals Відповідь, на яку ви посилаєтесь, говорить те саме, що і моя відповідь. Посилайтесь на
Геррі Гуревич

Головне, що потрібно додати (що було зроблено @pgs у його відповіді на це ж запитання) - це те, що вам може знадобитися ставити лапки навколо паролів, якщо вони містять спеціальні символи.
Геррі Гуревич

10

Щоб було трохи зрозуміло:

Якщо ім’я користувача: abcdef та старий пароль: a123b456, новий пароль: m987n654

змінити користувача abcdef, визначеного m987n654, замінити a123b456 ;


9

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

Кроки:

  1. підключіться до бази даних за допомогою дійсного користувача та пароля, у моєму випадку всі мої користувачі втратили чинність, за винятком "системи", і я пам’ятаю цей пароль

  2. знайдіть у дереві вузол "Other_users", як відображається зображення нижче

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

3.з дерева "Other_users" знайдіть своїх користувачів, яким ви хочете скинути пароль та клацніть правою кнопкою миші на примітці та виберіть "Редагувати користувачів"

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

4. заповніть новий пароль у діалоговому вікні редагування користувача та натисніть «Застосувати». Переконайтесь, що ви зняли прапорець "Термін дії пароля (користувач повинен змінити наступний логін)".

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

І це працювало для мене. Це не так добре, як інше рішення, тому що вам потрібно мати можливість увійти, принаймні, до одного облікового запису, але він працює.


7

Я підтвердив це в SQL Developer 3.0.04. Наші паролі повинні мати спеціальний символ, тому рядок з подвійним цитуванням потрібен у нашому випадку. Звичайно, це працює лише в тому випадку, якщо пароль ще не минув і ви ввійшли в систему.

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

3
Ця відповідь неправильна. newpassword та oldpassword переносяться. Використовуйте натомість stackoverflow.com/a/10809140/643483
Аарон Куртжальс

3

Спробуйте це рішення, якщо параметр Скинути пароль (для розробника SQL) не працював :

Крок 1. Відкрийте командний рядок запуску SQL (з меню "Пуск", яке постачається з інсталяційним пакетом SQL Developer)

Крок 2: Виконайте такі команди:

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

Примітка: Якщо пароль вже минув, Changing password for <user>опція автоматично з’явиться.


2

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

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

1

ви можете знайти користувача у таблиці DBA_USERS

SELECT profile
FROM dba_users
WHERE username = 'MacsP'

Тепер перейдіть до системи / system (адміністратор) та використовуйте запит

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

Щоб перевірити стан облікового запису, просто перейдіть

SELECT * FROM DBA_USERS.

і ви можете бачити статус свого користувача.


1

Тепер ви можете це зробити в SQL Developer 4.1.0.17 , не потрібен PL / SQL, якщо у вас є інший обліковий запис, який має адміністративні права:

  1. Створіть підключення до бази даних в SQL Developer 4.1.0.17 з альтернативним адміністративним користувачем
  2. Після підключення розгорніть розділ «Інші користувачі» та клацніть правою кнопкою миші користувача, термін дії якого минув. Виберіть "Редагувати користувача".
  3. Зніміть прапорець "Термін дії пароля ...", введіть новий пароль для користувача та натисніть "Зберегти".
  4. Робота виконана! Ви можете протестувати, зв’язавшись із користувачем, термін дії якого минув, і підтвердити, чи тепер він знову дійсний.

1

Є ще один спосіб скинути пароль через командний рядок ...

1) Перейдіть у папку баз даних Oracle (у моєму випадку Oracle Database 11g Express Edition) у меню МУС.

2) У цій папці натисніть "Запустити командний рядок SQL"

Зображення папки баз даних Oracle

3) Введіть " підключити ім'я користувача / пароль " (ваше ім'я користувача та старий пароль без лапок)

4) Повідомлення відображається ...

ПОМИЛКА: ORA-28001: термін дії пароля минув

Зміна пароля для hr

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

Введіть ім'я користувача, зображення пароля

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

6) Знову введіть новий пароль

7) Повідомлення відображається ...

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

SQL>

8) Перейдіть на розробник Sql -> введіть новий пароль -> підключено


Поки ОП все ще активна, через 5 років після того, як було поставлено запитання, відповідь може більше не бути актуальною.
Полуниця

@Strawberry якщо він відповідає на питання, чому б і ні? !!
Мухаммед Рефаат

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

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

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.