Mengubah kata sandi dengan Oracle SQL Developer

139

Banyak pengguna saya tidak menggunakan SQLPlus. Saya tidak bisa memberi mereka mengubah pengguna. Kami kedaluwarsa kata sandi setiap 60 hari.

Saya tidak bisa mendapatkan perintah SQLPlus "kata sandi" untuk bekerja di pengembang SQL.

  1. Ketika saya menekan tombol, saya mendapatkan kesalahan perintah yang tidak valid
  2. Ketika saya menekan skrip run, tidak ada yang terjadi.

Saya tidak ingin menulis paket untuk mengubah kata sandi mereka karena kami memiliki banyak basis data. Apakah saya memiliki opsi yang lebih baik?

Bob
sumber
4
Anda tidak dapat mengubah kata sandi yang kedaluwarsa dalam Pengembang SQL melalui perintah SQL. Itu tidak didukung di tumpukan JDBC. Anda membutuhkan pustaka OCI untuk ini. Pengembang SQL memiliki opsi untuk mengatur ulang dan kedaluwarsa kata sandi melalui tumpukan OCI jika telah diinstal dengan benar. Lihat jawaban saya untuk detail lengkap.
Frobbit
Anda dapat melakukan ini dengan SQL Developer 4.1.0.17. Lihat jawaban saya di bawah ini.
Analisis Fuzzy

Jawaban:

189

Sintaks yang benar untuk memperbarui kata sandi menggunakan SQL Developer adalah:

alter user user_name identified by new_password replace old_password ;

Anda dapat memeriksa lebih banyak opsi untuk perintah ini di sini: ALTER USER-Oracle DOCS

Americo Savinon
sumber
29
Selain itu, Anda mungkin perlu membungkus kata sandi dalam tanda kutip ganda untuk menghindari karakter khusus dalam kata sandi. Sebagai contoh, alter user __user_name__ identified by "newp@ss!!!" replace "oldp@ss!!!"Info lebih lanjut di asktom.oracle.com/pls/asktom/…
Bryant Bowman
6
Jika pwd Anda telah kedaluwarsa, semoga berhasil masuk untuk menjalankan ini. Menjawab pertanyaan, tetapi bukan pertanyaan.
Ben George
105

Dalam lembar kerja SQL:

  • Ketikkan "kata sandi" (tanpa tanda kutip)

  • Sorot, tekan CTRL+ ENTER.

  • Layar ganti kata sandi muncul.

Niall
sumber
4
Anda juga dapat melakukan "kata sandi beberapa pengguna"
Anna
3
Saya kira maksud Anda tindakan "Jalankan pernyataan". Pintasan default tampaknya adalah Ctrl + Enter .
Álvaro González
70

Pengembang SQL memiliki opsi kata sandi reset bawaan yang dapat bekerja untuk situasi Anda. Ini membutuhkan penambahan Oracle Instant Client ke workstation juga. Ketika klien instan berada di jalur ketika pengembang SQL diluncurkan, Anda akan mengaktifkan opsi berikut:

Pengembang SQL: Menu Drop Down yang menunjukkan opsi reset password

Oracle Instant Client tidak perlu menginstal hak admin, hanya kemampuan untuk menulis ke direktori dan menambahkan direktori itu ke jalur pengguna. Sebagian besar pengguna memiliki hak untuk melakukan ini.

Rekap: Untuk menggunakan Reset Password pada Oracle SQL Developer:

  1. Anda harus membongkar Oracle Instant Client dalam direktori
  2. Anda harus menambahkan direktori Oracle Instant Client ke jalur pengguna
  3. Anda kemudian harus me-restart Oracle SQL Developer

Pada titik ini Anda dapat mengklik kanan sumber data dan mengatur ulang kata sandi Anda.

Lihat http://www.thatjeffsmith.com/archive/2012/11/resetting-your-oracle-user-password-with-sql-developer/ untuk lengkap

Lihat juga komentar di dokumen oracle: http://docs.oracle.com/cd/E35137_01/appdev.32/e35117/dialogs.htm#RPTUG41808

Konfigurasi alternatif untuk membuat Pengembang SQL (diuji pada versi 4.0.1) mengenali dan menggunakan Klien Instan pada OS X adalah:

  1. Tetapkan jalur ke Klien Instan di Preferensi -> Database -> Lanjutan -> Gunakan Klien Oracle
  2. Verifikasi Mesin Virtual Klien dapat dimuat dengan sukses menggunakan opsi Konfigurasi ... -> Uji ... dari dalam dialog preferensi
  3. (OS X) Lihat pertanyaan ini untuk menyelesaikan masalah yang terkait dengan variabel lingkungan DYLD_LIBRARY_PATH. Saya menggunakan perintah berikut ini dan kemudian me-restart SQL Developer untuk mengambil perubahan:

    $ launchctl setenv DYLD_LIBRARY_PATH / path / ke / oracle / instantclient_11_2

Frobbit
sumber
1
Tidak tersedia untuk semua pengguna 80 (
Keng
hmmm, sepertinya tidak bekerja untuk saya. Saya ingin tahu apakah memperbarui PATH benar-benar yang harus Anda lakukan, di Mac.
fudo
Saya menggunakan mac rumah, tetapi pc windows bekerja. Kami akan segera beralih ke mac .. Jika saya menemukan detailnya, saya akan mempostingnya.
Frobbit
1
Google sangat membantu :-) dengan itu saya menemukan: oracle.com/technetwork/topics/linuxx86-64soft-092277.html yang mungkin basi. Untuk google lagi menggunakan goo.gl/kU5ZdM
Frobbit
1
Terima kasih, ini berfungsi pada Windows 7 64bit. Saya memang harus melalui langkah ekstra (yang sama dengan langkah pertama pada konfigurasi OS X di atas), jika tidak opsi 'reset password' akan tetap berwarna abu-abu. 4. Tetapkan path ke Instant Client di Preferences -> Database -> Advanced -> Use Oracle Client
marciowerner
24

Pengguna Anda masih dapat mengubah kata sandi mereka dengan "mengubah hanya pengguna. Nama Pengguna mereka diidentifikasi oleh kata sandi baru ". Mereka tidak harus memiliki hak istimewa ALTER USER untuk mengubah kata sandi mereka sendiri.

dpbradley
sumber
16

Tergantung pada pengaturan admin, Anda mungkin harus menentukan kata sandi lama menggunakan opsi REPLACE

alter user <username> identified by <newpassword> replace <oldpassword> 
Gerry Gurevich
sumber
dapatkah kata sandi dan kata sandi baru sama?
Haris Mehmood
2
Jawaban ini salah. kata sandi baru dan kata sandi lama dialihkan. Gunakan stackoverflow.com/a/10809140/643483 sebagai gantinya
Aaron Kurtzhals
1
@AaronKurtzhals Jawaban yang Anda referensi mengatakan hal yang sama dengan jawaban saya. Rujuk
Gerry Gurevich
Hal utama yang harus ditambahkan (yang telah dilakukan oleh @pgs dalam jawabannya pada pertanyaan yang sama) adalah bahwa Anda mungkin perlu memberi tanda kutip di sekitar kata sandi jika mengandung karakter khusus.
Gerry Gurevich
10

Untuk membuatnya sedikit jelas:

Jika nama pengguna: abcdef dan kata sandi lama: a123b456, kata sandi baru: m987n654

ubah pengguna abcdef yang diidentifikasi oleh m987n654 ganti a123b456 ;

spazzo
sumber
9

Saya menyadari bahwa ada banyak jawaban, tetapi saya menemukan solusi yang dapat membantu beberapa orang. Saya mengalami masalah yang sama, saya menjalankan sql oracle berkembang di komputer lokal saya dan saya memiliki banyak pengguna. Saya kebetulan mengingat kata sandi untuk salah satu pengguna saya dan saya menggunakannya untuk mengatur ulang kata sandi pengguna lain.

Langkah:

  1. terhubung ke database menggunakan pengguna dan kata sandi yang valid, dalam kasus saya semua pengguna saya kedaluwarsa kecuali "sistem" dan saya ingat kata sandi itu

  2. temukan simpul "Other_users" di dalam pohon saat gambar di bawah ini ditampilkan

masukkan deskripsi gambar di sini

3.dengan pohon "Other_users" temukan pengguna yang Anda ingin mengatur ulang kata sandi dan klik kanan catatan itu dan pilih "Edit Pengguna"

masukkan deskripsi gambar di sini

4. isi kata sandi baru dalam edit dialog pengguna dan klik "Terapkan". Pastikan Anda tidak mencentang "Kata sandi kedaluwarsa (pengguna harus mengubah login berikutnya)".

masukkan deskripsi gambar di sini

Dan itu berhasil bagi saya, Ini tidak sebagus solusi lain karena Anda harus dapat masuk ke setidaknya satu akun tetapi itu berfungsi.

Saad A
sumber
7

Saya mengkonfirmasi ini berfungsi di SQL Developer 3.0.04. Kata sandi kami harus memiliki karakter khusus, jadi string yang dikutip ganda diperlukan dalam kasus kami. Tentu saja, ini hanya berfungsi jika kata sandi belum kedaluwarsa dan saat ini Anda masuk.

ALTER USER MYUSERID
IDENTIFIED BY "new#password"
REPLACE "old#password"
pgs
sumber
3
Jawaban ini salah. kata sandi baru dan kata sandi lama dialihkan. Gunakan stackoverflow.com/a/10809140/643483 bukannya
Aaron Kurtzhals
3

Coba solusi ini jika opsi Atur Ulang Kata Sandi (dari Pengembang SQL) tidak berfungsi :

Langkah 1: Buka Jalankan SQL Command Line (dari menu mulai, yang datang dengan paket instalasi SQL Developer)

Langkah 2: Jalankan perintah berikut:

masukkan deskripsi gambar di sini

Catatan: Jika kata sandi telah kedaluwarsa, Changing password for <user>opsi akan datang secara otomatis.

Leo
sumber
2

Opsi kata sandi pengaturan ulang bawaan mungkin tidak berfungsi untuk pengguna. Dalam hal ini kata sandi dapat diatur ulang menggunakan pernyataan SQL berikut:

ALTER user "user" identified by "NewPassword" replace "OldPassword";
pengguna2689487
sumber
1

Anda dapat menemukan pengguna di tabel DBA_USERS seperti

SELECT profile
FROM dba_users
WHERE username = 'MacsP'

Sekarang buka sistem / sistem (administrator) dan gunakan kueri

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

Untuk memverifikasi status akun cukup melalui

SELECT * FROM DBA_USERS.

dan Anda dapat melihat status pengguna Anda.


sumber
1

Anda sekarang dapat melakukan ini dalam SQL Developer 4.1.0.17 , tidak perlu PL / SQL, dengan asumsi Anda memiliki akun lain yang memiliki hak administratif:

  1. Buat koneksi ke database di SQL Developer 4.1.0.17 dengan pengguna administratif alternatif
  2. Luaskan bagian "Pengguna Lain" setelah terhubung, dan klik kanan pengguna yang kata sandinya telah kedaluwarsa. Pilih "Edit Pengguna".
  3. Hapus centang pada kotak "Kata Sandi Kedaluwarsa ...", ketik kata sandi baru untuk pengguna, dan tekan "Simpan".
  4. Pekerjaan selesai! Anda dapat menguji dengan menghubungkan dengan pengguna yang kata sandinya telah kedaluwarsa, untuk mengonfirmasi bahwa kata itu sekarang valid lagi.
Analisis Fuzzy
sumber
1

Ada cara lain untuk mengatur ulang kata sandi melalui command prompt ...

1) Buka Folder Database Oracle (Dalam kasus saya, Oracle Database 11g Express Edition) di MULAI MENU.

2) Di dalam folder itu klik "Jalankan SQL Commandline"

Gambar Folder Database Oracle

3) Ketik " hubungkan nama pengguna / kata sandi " (nama pengguna dan kata sandi lama Anda tanpa tanda kutip)

4) Pesan yang ditampilkan adalah ...

GALAT: ORA-28001: kata sandi telah kedaluwarsa

Mengubah kata sandi untuk jam

-> Kata sandi baru:

Masukkan Nama Pengguna, Kata Sandi gambar

5) Ketikkan kata sandi baru

6) Ketik ulang kata sandi baru

7) Pesan yang ditampilkan adalah ...

Kata sandi berubah Terhubung.

SQL>

8) GO TO Sql developer -> ketikkan kata sandi baru -> terkoneksi

Suchitra Phadke
sumber
Sementara OP masih aktif, 5 tahun setelah pertanyaan diajukan, jawabannya mungkin tidak lagi relevan.
Strawberry
@Strawberry jika menjawab pertanyaan, mengapa tidak? !!
Muhammed Refaat
1

Satu catatan untuk orang-orang yang mungkin tidak memiliki kata sandi yang ditetapkan untuk sysdba atau sys dan secara teratur menggunakan klien pihak ketiga. Berikut adalah beberapa info tentang masuk ke command line sqlplus tanpa kata sandi yang membantu saya. Saya menggunakan fedora 21 omong-omong.

locate sqlplus

Dalam kasus saya, sqlplus terletak di sini:

/u01/app/oracle/product/11.2.0/xe/config/scripts/sqlplus.sh

Sekarang jalankan

cd /u01/app/oracle/product/11.2.0/xe/config/scripts
./sqlplus.sh / as sysdba

Sekarang Anda harus terhubung ke database dengan kredensial lama Anda. Anda dapat menemukan template yang disediakan Oracle di output Anda:

Use "connect username/password@XE" to connect to the database.

Dalam kasus saya, saya memiliki pengguna "oracle" dengan kata sandi "oracle" sehingga masukan saya terlihat seperti

connect oracle/oracle@XE

Selesai Sekarang ketikkan kata sandi baru Anda dua kali. Maka jika Anda tidak ingin kata sandi Anda kedaluwarsa lagi, Anda dapat menjalankannya

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Sorokin Andrey
sumber