“ORA-28017: The password file is in the legacy format” hatası
12c veritabanlarında , şifre dosyası formatı 11g veritabanlarındaki format şeklinde olduğunda , şifre dosyasında yer alan bir kullanıcının şifresi değiştirilmeye çalışıldığında “ORA-28017: The password file is in the legacy format ” şeklinde hata alınacaktır.
SQL> alter user sys identified by "P@ssw0rd";
alter user sys identified by "P@ssw0rd"
*
ERROR at line 1:
ORA-28017: The password file is in the legacy format.
Hatanın alınmaması için şifre dosyasının formatının
LEGACY yerine yeni formatta 12 yada daha yukarısı şeklinde olmalıdır.
Mevcut şifre dosyasının formatını aşağıdaki gibi öğrenebilirsiniz.
[oracle@orcldb ~]$ cd $ORACLE_HOME/dbs
[oracle@orcldb dbs]$ orapwd describe file=orapwORCL
Password file Description : format=LEGACY
Sorunun yaşanmaması için , şifre dosyasının ya yeniden oluşturulması ya da dönüştürülmesi gerekmektedir.
Şifre dosyasını aşağıdaki gibi yeniden oluşturabilirsiniz.
orapwd file=orapwORCL entries=5 force=y password=welcome1 format=12
Şifre dosyasını aşağıdaki gibi yeni formata dönüştürebilirsiniz.
orapwd file=orapwORCL entries=5 force=y password=welcome1 format=12 input_file=orapwORCL
Yukarıdaki komutlar $ORACLE_HOME/dbs dizini altında iken çalıştırılmalı ya da dosya isimi belirtilirken dosya yolu tam olarak verilmelidir. ($ORACLE_HOME/dbs/orapwORCL gibi).
Yeni şifre dosyasının formatı aşağıdaki gibi olmalıdır.
[oracle@orcldb dbs]$ orapwd describe file=orapwORCL
Password file Description : format=12
Sonrasında şifre değişimi sorunsuz şekilde gerçekleşecektir.
[oracle@orcldb dbs]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Mon May 20 12:05:31 2019
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> alter user sys identified by "P@ssw0rd";
User altered.
RAC veritabanlarında , oluşan yeni şifre dosyasının , ilgili node’a olması gerektiği isim ile $ORACLE_HOME/dbs dizinine kopyalanması gerekmektedir.