Skip to Main Content

Breadcrumb

ORA-12638 unter Windows ab Oracle 19.10

Mit dem Jan 2021 CPU für Oracle 19c (=19.10) und 18c (=18.13) hat Oracle still und heimlich NTLM - NT LAN Manager Support deaktiviert. Dass NTLM als "deprecated" eingestuft wird, hat Oracle schon mit Oracle 12.1 verkündet - nur hatte es bis jetzt keine Konsequenzen! Mit Oracle 12.1 wurde auch eine neue Einstellung für die Clients in der Datei SQLNET.ORA eingeführt - NO_NTLM mit dem Default FALSE. Somit konnte man schon ab Oracle 12.1 die NTLM Authentifizierung deaktivieren.

Was hat sich mit Oracle 19.10 jetzt geändert?

Der Default für NO_NTLM wurde auf TRUE geändert, und schon bekommen Clients - oder Windows Datenbanken, die über SQLNET auf andere Windows Datenbanken zugreifen wollen - folgenden Fehler:

sqlplus user/pw@my1910db
ORA-12638: Credential retrieval failed

Was kann man jetzt machen, dass die Verbindung wieder funktioniert?

Einfach in der Datei SQLNET.ORA am CLIENT folgenden Eintrag einfügen:

NO_NTLM=FALSE

und schon funktioniert alles wieder.

Warum hat Oracle den Default gerade jetzt geändert?

Der Auslöser war letztendlich der Security Patch für CVE-2021-2018. Der Workaround öffnet somit leider ein Security Leak. Die einzige wirkliche Lösung ist, dass man die Windows Datenbank Server beispielsweise durch Linux Server ersetzt.