Saya menggunakan Oracle untuk pengembangan. Kata sandi untuk akun bootstrap yang selalu saya gunakan untuk membangun kembali basis data saya telah kedaluwarsa.
Bagaimana cara mematikan kedaluwarsa kata sandi untuk pengguna ini (dan semua pengguna lain) secara permanen?
Saya menggunakan Oracle 11g, yang kata sandinya habis secara default.
Jawaban:
Untuk mengubah kebijakan kadaluwarsa kata sandi untuk profil pengguna tertentu di Oracle, periksa dulu profil mana yang digunakan pengguna:
Kemudian Anda dapat mengubah batas untuk tidak pernah kedaluwarsa menggunakan:
Jika Anda ingin memeriksa batas sebelumnya, Anda dapat menggunakan:
sumber
select username,expiry_date,account_status from dba_users;
untuk melihat status akun. untuk akun yang kedaluwarsa, Anda mungkin perlu mengatur ulang kata sandi sekali untuk yang terakhir kalinya.ALTER USER Bob PROFILE MyNonExpiringProfile;
.Untuk pengembangan, Anda dapat menonaktifkan kebijakan kata sandi jika tidak ada profil lain yang ditetapkan (mis. Menonaktifkan kata sandi kedaluwarsa pada profil default):
Kemudian, setel ulang kata sandi dan buka kunci akun pengguna. Seharusnya tidak pernah kedaluwarsa lagi:
sumber
Seperti yang dinyatakan oleh jawaban lainnya, mengubah profil pengguna (misalnya profil 'DEFAULT') dengan tepat akan menghasilkan kata sandi, yang setelah ditetapkan, tidak akan pernah kedaluwarsa.
Namun, seperti yang ditunjukkan oleh satu komentator, kata sandi yang ditetapkan di bawah nilai-nilai lama profil mungkin sudah kedaluwarsa, dan (jika setelah masa tenggang yang ditentukan profil) akun terkunci.
Solusi untuk kata sandi yang kedaluwarsa dengan akun yang dikunci (seperti yang disediakan dalam komentar penjawab) adalah dengan menggunakan satu versi perintah ALTER USER:
Namun perintah buka kunci hanya berfungsi untuk akun yang akunnya benar-benar dikunci, tetapi tidak untuk akun yang berada dalam masa tenggang, yaitu saat kata sandi habis masa berlakunya tetapi akun tersebut belum dikunci. Untuk akun ini kata sandi harus disetel ulang dengan versi lain dari perintah ALTER USER:
Di bawah ini adalah skrip SQL * Plus kecil yang dapat digunakan pengguna istimewa (misalnya pengguna 'SYS') untuk mengatur ulang kata sandi pengguna ke nilai hash yang ada saat ini yang disimpan dalam database.
EDIT: Oracle versi lama menyimpan kata sandi atau hash kata sandi di kolom pword, versi Oracle yang lebih baru menyimpan hash kata sandi di kolom spare4. Script di bawah ini diubah untuk mengumpulkan kolom pword dan spare4, tetapi menggunakan kolom spare4 untuk mereset akun pengguna; modifikasi sesuai kebutuhan.
sumber
Saya percaya bahwa perilaku kedaluwarsa kata sandi, secara default, tidak pernah kedaluwarsa. Namun, Anda dapat mengatur profil untuk set pengguna dev Anda dan mengatur
PASSWORD_LIFE_TIME
. Lihat orafaq untuk detail lebih lanjut. Anda dapat melihat di sini untuk contoh perspektif dan penggunaan satu orang.sumber
Saya akan menyarankan itu bukan ide yang baik untuk mematikan kedaluwarsa kata sandi karena dapat menyebabkan kemungkinan ancaman terhadap kerahasiaan, integritas dan ketersediaan data.
Namun jika Anda menginginkannya.
Jika Anda memiliki akses yang tepat, gunakan SQL berikut ini
Ini akan memberi Anda hasil seperti ini.
Sekarang Anda dapat menggunakan Pedro Carriço jawab https://stackoverflow.com/a/6777079/2432468
sumber