Oracle SQL Developer ile şifreyi değiştirme


139

Kullanıcılarımın çoğu SQLPlus kullanmıyor. Onlara kullanıcı değiştiremem. Parolaların süresi her 60 günde bir dolar.

SQL geliştirici içinde çalışmak için SQLPlus komut "şifre" alınamıyor.

  1. Çalıştır düğmesine bastığımda geçersiz bir komut hatası alıyorum
  2. Çalıştır komut dosyasına bastığımda hiçbir şey olmuyor.

Birçok veritabanımız olduğu için şifrelerini değiştirmek için onlara bir paket yazmak istemiyorum. Daha iyi bir seçeneğim var mı?


4
SQL Developer'da süresi dolmuş bir şifreyi SQL komutu ile değiştiremezsiniz. JDBC yığınında desteklenmez. Bunun için OCI kütüphanelerine ihtiyacınız var. SQL geliştiricisi, doğru bir şekilde kurulmuşsa OCI yığını üzerinden şifreyi sıfırlama ve süresi dolma seçeneğine sahiptir. Tüm ayrıntılar için cevabıma bakın.
Frobbit

Bunu SQL Developer 4.1.0.17 ile yapabilirsiniz. Cevabımı aşağıda görebilirsiniz.
Bulanık Analiz

Yanıtlar:


189

SQL Developer kullanarak şifreyi güncellemek için doğru sözdizimi şöyledir:

alter user user_name identified by new_password replace old_password ;

Bu komut için daha fazla seçeneği buradan kontrol edebilirsiniz: ALTER USER-Oracle DOCS


29
Ayrıca, paroladaki özel karakterlerden kaçmak için parola (lar) ı çift tırnak içine almanız gerekebilir. Örneğin, asktom.oracle.com/pls/asktom/…alter user __user_name__ identified by "newp@ss!!!" replace "oldp@ss!!!" adresinde daha fazla bilgi
Bryant Bowman

6
Pwd'nizin süresi dolmuşsa, bunu çalıştırmak için giriş yapmakta iyi şanslar. Cevaplar Soru değil, soru.
Ben George

105

SQL çalışma sayfasında:

  • "Şifre" yazın (tırnak işaretleri olmadan)

  • Vurgulayın, CTRL+ düğmesine basın ENTER.

  • Şifre değiştirme ekranı açılır.


4
Ayrıca "şifre bazı kullanıcı adı" da yapabilirsiniz
Anna

3
Sanırım "Run deyimi" eylemini kastediyorsunuz. Varsayılan kısayol Ctrl + Enter gibi görünüyor .
Álvaro González

70

SQL Developer, durumunuz için çalışabilecek yerleşik bir sıfırlama parolası seçeneğine sahiptir. İş istasyonuna Oracle Instant Client eklenmesini de gerektirir. Anlık istemci SQL geliştiricisi başlatıldığında yolda olduğunda aşağıdaki seçeneği etkinleştirirsiniz:

SQL Developer: Parola sıfırlama seçeneğini gösteren açılır menü

Oracle Instant Client'ın yüklenmesi için yönetici ayrıcalıkları gerekmez, sadece bir dizine yazma ve bu dizini kullanıcı yoluna ekleme yeteneği bulunur. Çoğu kullanıcının bunu yapma ayrıcalığı vardır.

Özet: Oracle SQL Developer'da Parolayı Sıfırla'yı kullanmak için:

  1. Oracle Instant Client'ı bir dizinde paketinden çıkarmalısınız
  2. Oracle Instant Client dizinini kullanıcı yoluna eklemelisiniz
  3. Daha sonra Oracle SQL Developer'ı yeniden başlatmalısınız

Bu noktada bir veri kaynağına sağ tıklayıp şifrenizi sıfırlayabilirsiniz.

Tam bir gözden geçirme için http://www.thatjeffsmith.com/archive/2012/11/resetting-your-oracle-user-password-with-sql-developer/ adresine bakın.

Ayrıca oracle belgelerindeki yoruma bakın: http://docs.oracle.com/cd/E35137_01/appdev.32/e35117/dialogs.htm#RPTUG41808

SQL Developer'ın (sürüm 4.0.1'de test edilmiş) OS X'te Anlık İstemciyi tanıması ve kullanması için alternatif bir yapılandırma:

  1. Anında İstemci yolunu Tercihler -> Veritabanı -> Gelişmiş -> Oracle Client'ı kullanın
  2. Örnek İstemci'nin tercihler iletişim kutusundaki Yapılandır ... -> Test ... seçeneklerini kullanarak başarılı bir şekilde yüklenebildiğini doğrulayın
  3. (OS X) DYLD_LIBRARY_PATH ortam değişkeniyle ilgili sorunları çözmek için bu soruya bakın . Aşağıdaki komutu kullandım ve sonra değişikliği almak için SQL Developer'ı yeniden başlattım:

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


1
Tüm kullanıcılar için mevcut değil 80 (
Keng

hmmm, benim için çalışmıyor gibi görünüyor. Mac'te PATH'ı güncellemenin gerçekten yapmanız gereken tek şey olup olmadığını merak ediyorum.
fudo

Ben bir ev mac, ama iş yerinde bir windows pc kullanın. Yakında mac'lara geçiyoruz .. Detayları bulursam gönderirim.
Frobbit

1
Google çok yararlı :-) onunla buldum: oracle.com/technetwork/topics/linuxx86-64soft-092277.html bayat gidebilir. Google'a tekrar gitmek
Frobbit

1
Teşekkür ederim, Windows 7 64bit üzerinde çalıştı. Yine de ekstra bir adım atmak zorunda kaldım (yukarıdaki OS X yapılandırmasındaki ilk adımla aynıdır), aksi takdirde 'parolayı sıfırla' seçeneği gri kalır. 4. Tercihlerde Anında İstemci yolunu ayarlayın -> Veritabanı -> Gelişmiş -> Oracle Client Kullan
marciowerner

24

Kullanıcılarınız yine de şifrelerini " yalnızca kullanıcıyı değiştir theirUserName yeni şifre ile tanımlandı " ile değiştirebilir . Kendi parolalarını değiştirmek için ALTER USER ayrıcalığına sahip olmaları gerekmez.


16

Yönetici ayarlarına bağlı olarak, DEĞİŞTİR seçeneğini kullanarak eski şifrenizi belirtmeniz gerekebilir

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

yeni şifre ve eski şifre aynı olabilir mi?
Haris Mehmood

2
Bu cevap yanlış. newpassword ve oldpassword aktarılır. Kullanım stackoverflow.com/a/10809140/643483 yerine
Aaron Kurtzhals

1
@AaronKurtzhals Gönderdiğiniz cevap, cevabımla aynı şeyi söylüyor. Buradaki oracle belgelerine referansta bulunun
Gerry Gurevich

Eklenecek ana şey (bu aynı soruya cevabında @pgs tarafından yapılmıştır), özel karakterler içeriyorsa şifrelerin etrafına tırnak koymanız gerekebilir.
Gerry Gurevich

10

Bunu biraz açıklığa kavuşturmak için:

Kullanıcı adı: abcdef ve eski şifre: a123b456, yeni şifre: m987n654

öteki kullanım abcdef'ait tarafından tanımlanan m987n654 yerine a123b456 ;


9

Birçok cevap olduğunu fark ettim, ama bazılarına yardımcı olabilecek bir çözüm buldum. Aynı problemle karşılaştım, yerel bilgisayarımda oracle sql geliştiriyorum ve bir sürü kullanıcı var. Kullanıcılarımdan birinin şifresini hatırlıyorum ve diğer kullanıcıların şifresini sıfırlamak için kullandım.

Adımlar:

  1. geçerli bir kullanıcı ve şifre kullanarak bir veritabanına bağlanmak, benim durumumda "sistem" dışında tüm kullanıcılarımın süresi doldu ve bu şifreyi hatırlıyorum

  2. aşağıdaki resimde gösterildiği gibi ağaçtaki "Other_users" düğümünü bulun

resim açıklamasını buraya girin

3. "Other_users" ağacında kullanıcılarınızı şifresini sıfırlamak istediğinizi bulun ve nota sağ tıklayın ve "Kullanıcıları Düzenle" yi seçin

resim açıklamasını buraya girin

4. kullanıcı parolasını düzenle iletişim kutusuna yeni parolayı girin ve "Uygula" yı tıklayın. "Parolanın süresi doldu (kullanıcı bir sonraki girişi değiştirmelidir)" seçeneğinin işaretini kaldırdığınızdan emin olun.

resim açıklamasını buraya girin

Ve bu benim için çalıştı, Diğer çözüm kadar iyi değil çünkü en az bir hesaba giriş yapabilmeniz gerekiyor ama işe yarıyor.


7

Bunun SQL Developer 3.0.04'te çalıştığını doğruladım. Parolalarımızın özel bir karaktere sahip olması gerekir, bu nedenle bizim durumumuzda çift tırnaklı dize gerekir. Tabii ki, bu sadece parolanın süresi dolmamışsa ve şu anda giriş yapmışsanız çalışır.

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

3
Bu cevap yanlış. newpassword ve oldpassword aktarılır. Kullanım stackoverflow.com/a/10809140/643483 yerine
Aaron Kurtzhals

3

(SQL Developer'ın) Parolayı Sıfırla seçeneği çalışmazsa bu çözümü deneyin :

Adım 1: SQL Komut Satırını Çalıştır'ı açın (SQL Geliştirici yükleme paketiyle gelen başlat menüsünden)

Adım 2: Aşağıdaki komutları çalıştırın:

resim açıklamasını buraya girin

Not: Parolanın süresi dolmuşsa, Changing password for <user>seçenek otomatik olarak gelir.


2

Yerleşik sıfırlama parolası seçeneği kullanıcı için çalışmayabilir. Bu durumda, parola aşağıdaki SQL ifadesi kullanılarak sıfırlanabilir:

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

1

kullanıcıyı DBA_USERS tablosunda aşağıdaki gibi bulabilirsiniz:

SELECT profile
FROM dba_users
WHERE username = 'MacsP'

Şimdi sys / system'e (yönetici) gidin ve sorguyu kullanın

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

Hesap durumunu doğrulamak için

SELECT * FROM DBA_USERS.

ve kullanıcının durumunu görebilirsiniz.


1

Artık yönetici ayrıcalıklarına sahip başka bir hesabınız olduğunu varsayarak, SQL Geliştirici 4.1.0.17'de PL / SQL gerekmez.

  1. Alternatif bir yönetici kullanıcı ile SQL Developer 4.1.0.17'de veritabanına bağlantı oluşturma
  2. Bağlandıktan sonra "Diğer Kullanıcılar" bölümünü genişletin ve şifresinin süresi dolmuş kullanıcıyı sağ tıklayın. "Kullanıcıyı Düzenle" yi seçin.
  3. "Parolanın Süresi Doldu ..." onay kutusunun işaretini kaldırın, kullanıcı için yeni bir parola yazın ve "Kaydet" e basın.
  4. İş bitmiş! Parolasının süresi dolmuş kullanıcıyla bağlantı kurarak, tekrar geçerli olduğunu doğrulamak için test edebilirsiniz.

1

Başka bir yolu yoktur şifresini sıfırlamak aracılığıyla komut istemine ...

1) BAŞLAT MENÜSünde Oracle Database Folder'a (Benim durumumda Oracle Database 11g Express Edition) gidin.

2) Bu klasör içinde "Run SQL Commandline" ı tıklayın

Oracle Database Folder resmi

3) Tip " connect kullanıcı adı / şifre tırnak işaretleri olmadan" (kullanıcı adı ve eski şifrenizi)

4) Görüntülenen mesaj ...

HATA: ORA-28001: şifrenin süresi doldu

Sa için şifre değiştirme

-> Yeni şifre:

Kullanıcı Adı, Şifre resmi girin

5) Yeni şifreyi yazın

6) Yeni şifreyi tekrar yazın

7) Görüntülenen mesaj ...

Şifre değişti Bağlı.

SQL>

8) Sql geliştiricisine gidin -> yeni şifreyi yazın -> bağlı


OP hala aktifken, soru sorulduktan 5 yıl sonra, cevap artık geçerli olmayabilir.
Çilek

@Soruyu cevaplarsa Çilek, neden olmasın? !!
Muhammed Refaat

1

Sysdba veya sys için ayarlanmış parolaya sahip olmayan ve düzenli olarak üçüncü taraf bir istemci kullanan kişiler için bir not. Bana yardımcı olan bir şifre olmadan sqlplus komut satırına giriş hakkında bazı bilgiler. Bu arada fedora 21 kullanıyorum.

locate sqlplus

Benim durumumda, sqlplus burada bulunur:

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

Şimdi koş

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

Şimdi eski kimlik bilgilerinizle veritabanına bağlanmanız gerekiyor. Oracle tarafından sağlanan şablonu çıktınızda bulabilirsiniz:

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

Benim durumumda "oracle" şifresi ile "oracle" kullanıcı var, bu yüzden benim giriş gibi görünüyor

connect oracle/oracle@XE

Bitti. Şimdi yeni şifrenizi iki kez yazın. O zaman şifrenizin süresinin dolmasını istemiyorsanız,

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.