Bagaimana cara menghilangkan pesan ORA-28002 kata sandi akan kedaluwarsa dalam 6 hari?

18

Saya memiliki pengguna yang mendapatkan ORA-28002 yang menunjukkan bahwa kata sandi akan kedaluwarsa dalam waktu enam hari. Saya menjalankan yang berikut:

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 

Tetapi ketika saya mencoba masuk sebagai pengguna, pesannya masih ada. Menjalankan ini:

select * from dba_profiles where RESOURCE_NAME LIKE 'PASSWORD_LIFE_TIME';

menunjukkan bahwa nilainya benar-benar berubah menjadi UNLIMITED.

bernd_k
sumber

Jawaban:

17

Kata sandi telah ditandai sebagai 'EXPIRED' atau ditandai dengan 'EXPIRY_DATE' di dba_users. Anda harus mengubahnya. Anda dapat mengaturnya kembali ke kata sandi yang sama. Cara mudah adalah mengatur kata sandi "berdasarkan nilai". Ini biasanya melewati pemeriksaan riwayat.

12:28:33 SQL> select * from dba_users where username = 'MYUSER1';

USERNAME                          USER_ID PASSWORD
------------------------------ ---------- ------------------------------
ACCOUNT_STATUS                   LOCK_DATE          EXPIRY_DATE
-------------------------------- ------------------ ------------------
DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE           CREATED
------------------------------ ------------------------------ ------------------
PROFILE                        INITIAL_RSRC_CONSUMER_GROUP
------------------------------ ------------------------------
EXTERNAL_NAME
--------------------------------------------------------------------------------
MYUSER1                               338 66856982BE5CD23F
OPEN
USERS                          TEMP                           17-JAN-11
DEFAULT                        DEFAULT_CONSUMER_GROUP



Elapsed: 00:00:00.03
12:28:43 SQL> alter user myuser1 password expire;

User altered.

Elapsed: 00:00:00.00
12:29:11 SQL> select * from dba_users where username = 'MYUSER1';

USERNAME                          USER_ID PASSWORD
------------------------------ ---------- ------------------------------
ACCOUNT_STATUS                   LOCK_DATE          EXPIRY_DATE
-------------------------------- ------------------ ------------------
DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE           CREATED
------------------------------ ------------------------------ ------------------
PROFILE                        INITIAL_RSRC_CONSUMER_GROUP
------------------------------ ------------------------------
EXTERNAL_NAME
--------------------------------------------------------------------------------
MYUSER1                               338 66856982BE5CD23F
EXPIRED                                             17-JAN-11
USERS                          TEMP                           17-JAN-11
DEFAULT                        DEFAULT_CONSUMER_GROUP



Elapsed: 00:00:00.03
12:29:14 SQL>

Formatnya adalah "ubah pengguna USER yang diidentifikasi oleh nilai 'hash dari dba_users.password';"

[TEST] C:\>sqlplus system

SQL*Plus: Release 10.2.0.4.0 - Production on Mon Jan 17 12:18:16 2011

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Enter password:

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

new: showmode BOTH
12:18:17 SQL> prompt end of LOGIN.SQL
end of LOGIN.SQL
12:18:17 SQL> create user myuser1 identified by mypassword1;

User created.

Elapsed: 00:00:00.01
12:18:21 SQL> grant connect, resource to myuser1;

Grant succeeded.

Elapsed: 00:00:00.01
12:18:30 SQL> connect myuser1/mypassword1
Connected.
12:18:39 SQL> connect system
Enter password:
Connected.
12:18:51 SQL> alter user myuser1 password expire;

User altered.

Elapsed: 00:00:00.00
12:19:05 SQL> connect myuser1/mypassword1
ERROR:
ORA-28001: the password has expired


Changing password for myuser1
New password:
Retype new password:
Password changed
Connected.
12:19:16 SQL> connect myuser1/mypassword1
ERROR:
ORA-01017: invalid username/password; logon denied


Warning: You are no longer connected to ORACLE.
12:19:21 SQL> connect system
Enter password:
Connected.
12:19:34 SQL> alter user myuser1 identified by mypassword1;

User altered.

Elapsed: 00:00:00.01
12:19:49 SQL> alter user myuser1 identified by mypassword1 password expire;

User altered.

Elapsed: 00:00:00.01
12:20:26 SQL> select username, password from dba_users where username = 'MYUSER1';

USERNAME                       PASSWORD
------------------------------ ------------------------------
MYUSER1                        66856982BE5CD23F

Elapsed: 00:00:00.01
12:20:36 SQL> alter user myuser1 identified by values '66856982BE5CD23F' ;

User altered.

Elapsed: 00:00:00.01
12:21:01 SQL> connect myuser1/mypassword1
Connected.
12:21:13 SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
REW
sumber
15

Temukan 4 kueri di bawah ini dan jalankan kueri ini dari basis data sistem.

//For seeing Full user details
SELECT profile FROM dba_users WHERE username = 'SYSTEM';

//This query is used to change the password life time to unlimited
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 

//This query is used to chagne the default password.
alter user SYSTEM identified by "system";
pengguna2645333
sumber
1
Cukup mudah dan dijelaskan dengan baik.
S. Mayol
5

Seorang rekan kerja yang menggunakan Toad melihat akun yang ditunjukkan seperti yang terlihat di Peramban Skema di bawah Pengguna.

Kami berhasil dengan mengklik kanan pengguna membuka kunci . Dalam dialog Alter user, kami memasukkan kembali kata sandi lama dan tidak mencentang kotak centang Kata Sandi dikunci.

bernd_k
sumber
3

Anda perlu mengubah kata sandi lagi agar batas baru berlaku.

Leigh Riffel
sumber
Saya ingin tetap menggunakan kata sandi yang sama
bernd_k
1
Jawaban dari REW memenuhi persyaratan tambahan ini dengan anggapan Anda tidak memiliki profil yang mencegah penggunaan kembali kata sandi. Jika Anda menggunakan 11g atau lebih, hash kata sandi tidak ada di dba_users, jadi Anda harus mendapatkannya dari sys.user $. Lihat laurentschneider.com/wordpress/2007/08/...
Leigh Riffel
1

Anda harus mengubah akun pengguna. Pertama terhubung ke sysakun Anda dan dari sana Anda dapat melakukan langkah yang disebutkan di bawah ini:

alter user practice identified by password;

ini akan menyelesaikan masalah Anda ...

laltu banerjee
sumber
1

Saya tahu ini sudah lama, tetapi bagi mereka yang menggunakan Oracle SQL Developer ikuti langkah ini:

  • Gunakan pengguna lain untuk masuk ke koneksi basis data apa pun yang Anda miliki, Anda dapat menggunakan nama pengguna "sistem" atau "sys" default dengan kata sandi apa pun yang Anda dapatkan di sana.

  • Buka pohon koneksi dan temukan simpul "Pengguna Lain" dan buka seperti itu:

masukkan deskripsi gambar di sini

  • Temukan nama pengguna Anda di catatan anak di bawah "Pengguna Lain" dan klik kanan untuk mengedit pengguna seperti:

masukkan deskripsi gambar di sini

  • Ketikkan kata sandi baru Anda dan Hapus centang kata sandi kedaluwarsa, lalu terapkan. Klik kanan edit lagi pengguna untuk melihat apakah pengaturan diubah jika Anda mau.
Saad A
sumber