메뉴 건너뛰기

Korea Oracle User Group

Admin

Windows 접속 에러 ORA-12638

Talros 2024.02.14 14:38 조회 수 : 110 추천:1

 

  테스트 OS : Windows Server 2019 Standard 64 bit

  DB Version : 11.2.0.4.201020 ( Windows Database Bundle Patch )

 

windows server 에 DB를 설치 후 Client 에서 접속시 아래와 같은 에러가 발생을 하였다.

 

SQL*Plus: Release 12.1.0.1.0 Production on Tue Feb 13 17:12:57 2024

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

Enter password:
ERROR:
ORA-12638: Credential retrieval failed

 

 

서버 Alert log 에서도 같은 에러가 발생 하는 것을 확인 하였다.

 

TNS-12638: 인증서 검색을 실패했습니다.
  ns secondary err code: 0
  nt main err code: 0
  nt secondary err code: 0
  nt OS err code: 0
opiodr aborting process unknown ospid (2244) as a result of ORA-609

 

 

Client 단에서 에러 확인을 위해 sqlnet.ora 를 수정해 로그를 남깁니다.

  # 추가 할 내용

TRACE_LEVEL_CLIENT = 16
TRACE_FILE_CLIENT = client
TRACE_DIRECTORY_CLIENT = D:\temp
TRACE_TIMESTAMP_CLIENT = ON
TRACE_UNIQUE_CLIENT = ON
DIAG_ADR_ENABLED= OFF

 

에러를 발생 시켜 남긴 트레이스에서 오류 메세지를 찾습니다.

 

(14520) [13-FEB-2024 16:48:35:087] naun5authent: Authentication type is 0
(14520) [13-FEB-2024 16:48:35:089] naun5authent: SSPI: 0x80090303 error in InitializeSecurityContext
(14520) [13-FEB-2024 16:48:35:089] naun5authent: exit
(14520) [13-FEB-2024 16:48:35:089] naunauthent: exit
(14520) [13-FEB-2024 16:48:35:089] nau_ccn: get credentials function failed
(14520) [13-FEB-2024 16:48:35:089] nau_ccn: failed with error 12638
(14520) [13-FEB-2024 16:48:35:089] nacomsd: entry
(14520) [13-FEB-2024 16:48:35:089] nacomfsd: entry
(14520) [13-FEB-2024 16:48:35:089] nacomfsd: exit
(14520) [13-FEB-2024 16:48:35:089] nacomsd: exit
(14520) [13-FEB-2024 16:48:35:089] nau_ccn: exit
(14520) [13-FEB-2024 16:48:35:089] na_csrd: failed with error 12638
(14520) [13-FEB-2024 16:48:35:089] na_csrd: exit
(14520) [13-FEB-2024 16:48:35:089] nacomer: error 12638 received from Authentication service
(14520) [13-FEB-2024 16:48:35:089] nacomer: failed with error 12638

 

두개의 정보로 Oracle Support 를 확인 해보니 일치 하는 정보를 찾았습니다.

 

OS Authentication Fails With ORA-12638 On Non-English Windows System (Doc ID 1280996.1)

 

아래의 조건 중에 상황이 발생을 하는거 같습니다. 

 

테스트 환경은 Active Directory authentication만 제외하고 나머지는 일치한 환경이였습니다.

 

- You are running Oracle on a Windows system with an non-English language (typically French, but may happen with other languages)
- sqlnet.ora parameter sqlnet.authentication_services = (NTS) for Active Directory authentication.
- The Oracle services run with the local system account (default)
- The Domain user is properly added to the local ORA_DBA group.
- When you try to connect with a Domain user it fails with the error ORA-12638

 

해결 방법은 오라클 서비스를 기본인 로컬서비스 계정이 아닌 도메인\유저로 직접 할당을 해서 기동을 하거나

윈도우 기본 언어를 영어로 설정을 하도록 가이드를 하고 있습니다.


1.) Change the Oracle and Listener service to run with the same Domain user that you are using for the administrative purposes, you can do this by changing the 'logon as' user in the service properties of these services. The format of the credentials should be : domain\user

2.) Change the Windows system and set it up with the English language.

 

 

2번의 언어를 영문으로 변경 하는 것은 서비스중인 서버라 변경을 못하였고 아래 화면 처럼 리스너와 오라클 서비스를 도메인\유저 로 등록 재실행

윈도우화면저장.JPG

 

서비스 재기동 이후에 에러 없이 서버에 접속을 할 수 있었습니다.

 

 

P.S  Linux Client to Windows Server 로 접속 하는 것은 문제가 없던 것으로 봐서는 

     Wndows Client to Windows Server 에서만 발생을 하는 문제로 판단 됩니다.

 

위로