9 Kasım 2015 Pazartesi

Oracle PASSWORD EXPIRY ORA-28002 Hatası

Soğuk ıssız hızlı ve öfkeli hayatımdan herkese merhaba. Bugünde siteye yazı yazıyım belki bir girersiniz, reklama tıkrarsınız, site reytinginiarttırırsınız diye beklenti ile sizleri biraz bilgilendireyim istedim.

Oracle veritabanını kullanırken 3-4-5 ay sonra bir bakmışsınız giriş yapılamıyor. Parolanız geçersiz olmuş ve ORA-28002 EXPIRY hatası alıyorsunuz ve bu her 3-4 ayda bir parola expiry olma durumundan sıkıldınız, bu durumu iptal etmek istiyorsunuz. Telaş yapmayın. Sakin olun. Bir kadeh malibu alıp aşağıdaki komutları izleyin ve uygulayın.


[oracle@yedek-ora olddumps]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Mon Nov 9 09:48:21 2015

Copyright (c) 1982, 2011, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


Eğer kullanıcı profilini ve bu profile bağlı kullanıcıların parolalarını limitsiz yapmak isterseniz aşağıdaki komutları uygulayın.

SQL> select profile from DBA_USERS where username = 'SYSTEM';

PROFILE
------------------------------
DEFAULT

SQL> alter profile DEFAULT limit password_life_time UNLIMITED;

Profile altered.


Ayar sonrasında bu profil'in durumunu görmek için;


SQL> select resource_name,limit from dba_profiles where profile='DEFAULT';

RESOURCE_NAME             LIMIT
-------------------------------- ----------------------------------------
COMPOSITE_LIMIT          UNLIMITED
SESSIONS_PER_USER         UNLIMITED
CPU_PER_SESSION          UNLIMITED
CPU_PER_CALL             UNLIMITED
LOGICAL_READS_PER_SESSION     UNLIMITED
LOGICAL_READS_PER_CALL         UNLIMITED
IDLE_TIME             UNLIMITED
CONNECT_TIME             UNLIMITED
PRIVATE_SGA             UNLIMITED
FAILED_LOGIN_ATTEMPTS         10
PASSWORD_LIFE_TIME         UNLIMITED

RESOURCE_NAME             LIMIT
-------------------------------- ----------------------------------------
PASSWORD_REUSE_TIME         UNLIMITED
PASSWORD_REUSE_MAX         UNLIMITED
PASSWORD_VERIFY_FUNCTION     NULL
PASSWORD_LOCK_TIME         1
PASSWORD_GRACE_TIME         7

16 rows selected.


Parolanızın tekrar ayarlanması ile parola 'EXPIRY' durumundan kurtarırsınız ve bu 'EXPIRY' durumu sınırsız olarak belirlenir. 'EXPIRY' olmuş diğer kullanıcı parola yeniden ayarlanmadığı için 'EXPIRY' durumunda kalır.




SQL> ALTER USER SYSTEM IDENTIFIED BY "parolanız";

User altered.

SQL> select username, account_status, to_char(expiry_date, 'DD-MM-YYYY') EXP_DATE from dba_users where username = 'SYSTEM';

USERNAME               ACCOUNT_STATUS            EXP_DATE
------------------------------ -------------------------------- ----------
SYSTEM                   OPEN


SQL> select username, account_status, to_char(expiry_date, 'DD-MM-YYYY') EXP_DATE from dba_users where username = 'SCOTT';

USERNAME               ACCOUNT_STATUS            EXP_DATE
------------------------------ -------------------------------- ----------
SCOTT                   EXPIRED & LOCKED         31-10-2014

İptal olacak parola gün sınırını uzatmak istiyorsanız PASSWORD_LIFE_TIME
özelliğini istediğiniz güne göre ayarlamalısınız. (mesela 150 gün)

SQL> ALTER PROFILE LIMIT parola_parametreleri 150;

Bu parola_parametreleri;












Floransa'dan herkese selamlar...