728x90
ORA-12638: Credential retrieval failed 오류는 Windows 운영 체제에서 운영 체제 인증(OS 인증) 실패 시 발생합니다. sqlplus / as sysdba는 Windows 자격 증명(NTS)을 사용하려고 시도하지만, VDI 환경의 도메인 정책이나 권한 문제로 인증에 실패할 때 이 오류가 나타납니다.
핵심 해결 방법: sqlnet.ora 파일 수정
단계 1: sqlnet.ora 파일 찾기
파일 경로 (Oracle XE 21c 기준):
cmd
C:\app\<사용자>\product\21c\network\admin\sqlnet.ora
파일 경로 (Oracle 10g XE 기준):
cmd
C:\oraclexe\app\oracle\product\10.2.0\server\network\ADMIN\sqlnet.ora
단계 2: 인증 서비스 설정 변경
메모장으로 sqlnet.ora 파일을 열고 아래 라인을 수정 또는 추가하세요:
변경 전 (기본값):
ini
SQLNET.AUTHENTICATION_SERVICES = (NTS)
변경 후 (해결책):
ini
SQLNET.AUTHENTICATION_SERVICES = (NONE)
또는 (Oracle 19c 이상):
ini
SQLNET.AUTHENTICATION_SERVICES = (NONE)
SQLNET.NO_NTLM = FALSE
설명:
-
NTS : Windows NT 인증 사용 시도 (VDI 환경에서 실패)
-
NONE : 운영 체제 인증 비활성화, 비밀번호 인증만 사용
단계 3: Oracle 서비스 재시작
설정 변경 후 반드시 Oracle 서비스를 재시작해야 합니다:
cmd
:: Oracle Listener 중지
lsnrctl stop
:: Oracle XE 데이터베이스 서비스 중지
net stop OracleServiceXE
:: Oracle XE 데이터베이스 서비스 시작
net start OracleServiceXE
:: Oracle Listener 시작
lsnrctl start
VDI 환경 특수 대응: VDI 재부팅 후 자동 시작되지 않는 경우:
cmd
sc config OracleServiceXE start= auto
sc config OracleOraDB21Home1TNSListener start= auto
단계 4: 재접속 테스트
cmd
:: 이제 정상 접속 가능해야 함
sqlplus / as sysdba
:: 또는 비밀번호 인증으로도 테스트
sqlplus sys/YourPassword@XE as sysdba
대체 접속 방법: 비밀번호 직접 사용
sqlnet.ora 수정 없이 즉시 접속이 필요하다면, 비밀번호 인증을 사용하세요:
cmd
:: tnsnames.ora에 설정된 XE 서비스로 접속
sqlplus sys@XE as sysdba
:: 또는 전체 TNS 이름 사용
sqlplus sys/password@localhost:1521/XE as sysdba
이 방법은 운영 체제 인증을 건너뛰고 비밀번호로 직접 인증합니다.
VDI 환경에서의 추가 고려사항
원인 1: 도메인 정책 및 권한 문제
VDI 환경에서는 도메인 계정이 로컬 Oracle DBA 그룹에 속하지 않을 수 있습니다.
해결 방법 (VDI 관리자 필요):
-
컴퓨터 관리 → 로컬 사용자 및 그룹 → 그룹
-
ORA_DBA 그룹 편집
-
VDI 로그인 계정을 멤버로 추가
원인 2: Windows Hello 또는 PIN 로그인
Windows Hello(얼굴 인식, 지문)로 VDI에 로그인하면 OS 인증이 실패할 수 있습니다.
해결 방법:
-
전통적인 사용자 이름/비밀번호로 VDI 재로그인
-
또는 sqlnet.ora에서 SQLNET.AUTHENTICATION_SERVICES = (NONE) 설정 사용
원인 3: Oracle 서비스 계정 잠금
Oracle 서비스가 실행 중인 계정이 도메인 정책에 의해 잠길 수 있습니다.
확인 방법:
cmd
:: 서비스 계정 확인
sc qc OracleServiceXE
:: 로컬 시스템 계정으로 실행되어야 함 (LocalSystem)
Oracle 19.10.0 이상 Windows 버전 특수 대응
Oracle 19.10.0부터 Windows에서는 보안 패치로 인해 NTLM 인증이 기본적으로 비활성화 되었습니다.
해결 방법 (Oracle 19c 이상): sqlnet.ora에 아래 라인을 추가:
ini
SQLNET.NO_NTLM = FALSE
이렇게 하면 NTLM 인증이 다시 활성화되어 sqlplus / as sysdba가 정상 작동합니다.
정리: VDI 환경에서 ORA-12638 해결 체크리스트
-
[ ] sqlnet.ora에서 SQLNET.AUTHENTICATION_SERVICES = (NONE)으로 수정
-
[ ] Oracle 19c 이상에서는 SQLNET.NO_NTLM = FALSE 추가
-
[ ] lsnrctl stop; lsnrctl start로 리스너 재시작
-
[ ] net stop OracleServiceXE; net start OracleServiceXE로 서비스 재시작
-
[ ] VDI 로그인 계정이 ORA_DBA 그룹에 속하는지 확인 (관리자 필요)
-
[ ] Windows Hello 대신 전통적 비밀번호 로그인으로 테스트
-
[ ] Oracle 서비스가 LocalSystem 계정으로 실행되는지 확인
결론
VDI 환경에서 ORA-12638 해결의 99%는 sqlnet.ora 파일 수정입니다. 인증 방식을 NTS에서 NONE으로 변경하면 대부분 즉시 해결됩니다. 수정 후 반드시 서비스를 재시작하고, 접속은 비밀번호 인증으로도 테스트하세요.
만약 수정 후에도 접속이 안 된다면, **정확한 Oracle 버전(10g, 19c, 21c)**과 VDI 환경(도메인 여부, 관리자 권한) 정보를 공유해 주시면 추가 진단이 가능합니다.
728x90
'컴퓨터 활용(한글, 오피스 등) > 기타' 카테고리의 다른 글
| ORA-01031 오류 해결 방법 (0) | 2025.11.10 |
|---|---|
| ORA-1228547 오류 해결 방법은? (0) | 2025.11.10 |
| DBeaver Oracle XE 연결 오류 "소켓에서 읽을 데이터가 없습니다" (0) | 2025.11.08 |
| postgresql 사용 활용 (0) | 2025.11.08 |
| postgresql 설치 원복 백업, lc_collate=ko_KR.utf8 설정 문제 (0) | 2025.11.08 |