728x90
로컬 환경에서 ORACLE11G XE설치하면 정상동작하는데, VDI 환경에서 환경에서 ORACLE11G XE설치하고 "SQL>STARTUP" 실행하면 ORA-01078, ORA-01565, ORA-27041, ORA-04002, O/S-Error" 뜨는 이유?
VDI(가상 데스크톱 인프라)에선 Oracle 11g XE를 설치한 뒤 STARTUP 명령을 내리면, 물리 PC에서는 잘 되던 것이 다음과 같은 에러가 연쇄적으로 발생합니다.
Copy
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '…spfileXE.ora'
ORA-27041: unable to open file
ORA-04002(OSD-04002): unable to open file
O/S-Error: (OS 2) The system cannot find the file specified.
(참고: ORA-04002는 Windows 환경에서의 OSD-04002를 가리킵니다.)
1. 에러의 핵심 원인
-
spfileXE.ora(또는 initXE.ora)를 열 수 없다는 메시지가 핵심입니다.
-
즉, 인스턴스가 사용할 파라미터 파일 자체를 읽지 못해 데이터베이스를 nomount 단계조차 넘어가지 못합니다.
2. 왜 로컬 PC에서는 되고 VDI에서만 실패할까?
-
설치 마지막 단계 “Database Configuration”이 VDI에서 롤백/누락됨
-
오라클 XE 설치 끝에 oradim.exe ‑new ‑sid XE … 와 dbca 같은 작업이 자동으로 일어나 spfile·서비스·레지스트리 항목을 만듭니다.
-
VDI 템플릿은
– CPU/메모리 제한,
– Windows Defender·보안 솔루어,
– GPO/ACL,
– %TEMP%·%ProgramFiles% 권한 제한
등이 걸려 있어 위 단계가 조용히 실패하고 “설치 완료”로 뜨는 경우가 많습니다. -
결과적으로 spfileXE.ora가 생성되지 않거나, 생성돼도 권한/잠금 때문에 열리지 않습니다.
-
-
Windows 서비스 계정 권한 차이
-
로컬에선 “LocalSystem”으로 OracleServiceXE가 떠 있지만, VDI에선 “Virtual Account”나 “NT Service\OracleServiceXE”로 뜨는 경우가 많습니다.
-
이 계정이 %ORACLE_BASE%\app\oracle\product\11.2.0\server\dbs 디렉터리에 대한 읽기/실행 권한이 없으면 동일 에러가 납니다.
-
-
Reparse-Point(심볼릭 링크) 미지원
-
VDI 템플릿은 프로필/ProgramData를 네트워크 폴더로 리다이렉트(reparse)하는 경우가 많습니다.
-
Oracle 11g XE는 NTFS reparse-point를 타는 파일 핸들링에 버그가 있어, “존재하는 파일”도 “없다”고 오류를 냅니다.
-
-
잘못된 ORACLE_SID / 레지스트리 누락
-
설치 끝에 HKLM\Software\Oracle\KEY_XE\ORACLE_SID = XE 가 등록돼야 하는데,
VDI의 보안솔루션(DeepFreeze, AppSense, RES 등)이 레지스트리 쓰기를 가로채면 공백이 됩니다. -
sqlplus는 “빈 SID”로 작동 → 기본으로 spfile.ora를 찾으러 가서 부재를 보고 ORA-27041.
-
3. 증상 확인 시 가장 빈번한 현상
-
%ORACLE_BASE%\app\oracle\product\11.2.0\server\dbs 아래에
spfileXE.ora, initXE.ora, PWDXE.ora 중 하나 이상이 없음. -
Windows 이벤트 뷰어 → 시스템 로그에
“OracleServiceXE service terminated with service-specific error ORA-01078”
혹은 “Access is denied” 가 찍힘.
4. 해결/우회 방법
-
관리자 권한 재설치
-
VDI 세션에서 “Run as administrator”로 설치.
-
설치 중 실시간 백신(Windows Defender 포함) 일시 해제.
-
설치 로그(%TEMP%\OraInstall*.log)에 “oradim … succeeded” 메시지 확인.
-
-
spfileXE.ora 수동 생성
-
sqlplus / as sysdba → startup pfile=’…\server\config\scripts\initXE.ora’ nomount;
-
create spfile from pfile;
-
shutdown immediate; → startup;
(initXE.ora조차 없다면 동일 디렉터리에 init.ora를 복사해 이름만 initXE.ora로 바꾼 뒤 위와 동일)
-
-
OracleServiceXE 계정에 dbs 폴더 권한 명시 추가
– icacls “…\server\dbs” /grant “NT SERVICE\OracleServiceXE:(OI)(CI)RX” /T -
레지스트리 점검
– HKLM\Software\Oracle\KEY_XE\ORACLE_SID = XE
– ORACLE_BASE, ORACLE_HOME도 전부 존재·정상 경로인지 확인. -
VDI 전용 우회
– VDI 템플릿이 “C:\Oracle” 이하를 네트워크로 리디렉션하면,
설치 시 “다른 경로”를 선택해 C:\Local\OracleXE 같은 로컬 고정 드라이브에 설치.
5. 빠른 체크리스트
-
[ ] …\server\dbs\spfileXE.ora 파일 존재?
-
[ ] OracleServiceXE 서비스 로그온 계정이 해당 폴더 읽기 권한 보유?
-
[ ] HKLM\Software\Oracle\KEY_XE\ORACLE_SID = XE ?
-
[ ] 설치 로그에 oradim / dbca 실패 흔적 없음?
-
[ ] VDI 보안솔루션(DeepFreeze 등)이 레지스트리/파일 쓰기 막지 않음?
위 항목 중 하나라도 “NO”면 동일 에러가 반복되며, 모두 “YES”로 바꾸면 정상 STARTUP이 가능합니다.
요약
VDI는 권한·계정·리디렉션·보안정책이 물리 PC보다 까다로워, Oracle XE 설치 마지막 단계(파라미터 파일 생성·서비스 등록)가 실패하기 쉽습니다. 그래서 spfileXE.ora가 없거나 읽히지 않아 ORA-01078 → ORA-27041 → O/S-Error가 연쇄 발생하는 것이며, 수동으로 spfile을 만들거나 권한/레지스트리를 보정하면 문제가 해결됩니다.
728x90
'정보관리(데이터베이스, DB) > DB' 카테고리의 다른 글
| DB “CONSTRAINT_TYPE = 'R' 의미 (0) | 2025.09.29 |
|---|---|
| Oracle 11g XE(Express Edition) 설치 방법 (0) | 2025.09.27 |
| ORA-12514 에러 해결 (부: ORA-00119 / ORA-00130) (0) | 2025.09.26 |
| ORA-12514: TNS:리스너가 현재 접속 기술자에 요청된 서비스를 알지 못함 - 해결방안 (0) | 2025.09.26 |
| 오라클(Oracle) 11g XE 에서 HR 계정 활성화 시키는 방법 (0) | 2025.09.26 |