
ORA-00404: conversion of parameter name to a string failed
Oracle 데이터베이스를 시작하려고 할 때 발생하는 ORA-00404 오류는 초기화 파라미터 파일(init.ora 또는 spfile) 내에서 문제가 있다는 것을 의미합니다. 대부분의 경우, 파라미터 이름 오타, 비정상 종료로 인한 파일 손상, 또는 호환되지 않는 형식의 값을 설정했을 때 발생합니다. 이 글에서는 ORA-00404 오류의 근본 원인, 진단 방법, 그리고 실무에서 빠르게 복구하는 전략까지 상세하게 설명합니다.
1. ORA-00404 오류란?
Oracle이 인스턴스를 시작할 때, init.ora 또는 spfile을 로딩하면서 파라미터 값을 내부적으로 문자열로 변환하는 과정에서 실패할 경우 ORA-00404 오류가 발생합니다. 이 오류는 단독으로 발생하기보다는 종종 ORA-00401, ORA-00301 등과 함께 출력되며, 다음과 같은 메시지를 포함합니다:
ORA-00404: conversion of parameter name to a string failed
ORA-00301: error in adding log file
2. 주요 원인과 진단 요약
| 주요 원인 | 설명 | 진단 및 해결 방법 |
|---|---|---|
| 파라미터 이름 오타 | init.ora 또는 spfile에 존재하지 않는 파라미터 | 정확한 파라미터 명령어 확인 (V$PARAMETER) |
| 부적절한 데이터 타입 | 숫자/문자 혼용, 부적절한 따옴표 사용 | 기대 타입과 입력값 일치 여부 확인 |
| spfile 손상 | 비정상 종료 또는 디스크 문제로 파일 손상 | init.ora로 인스턴스 시작 후 spfile 재생성 |
| 버전 간 파라미터 충돌 | 구버전 파라미터가 신버전에서 지원되지 않음 | Oracle 버전에 맞는 파라미터 확인 |
3. 실무 사례: 테스트 환경 구축 중 오류
상황: Oracle 12c에서 테스트 용도로 init.ora를 복사해 사용하던 중 인스턴스 시작 실패
오류 로그:
ORA-00404: conversion of parameter name to a string failed
원인: 복사된 init.ora 파일에 cpu_count='4'처럼 숫자형 파라미터에 문자열을 사용한 실수가 있었음
해결:
cpu_count=4로 수정- Oracle 공식 문서에서 해당 파라미터의 타입 재확인
- SPFILE 생성:
CREATE SPFILE FROM PFILE;
4. 진단을 위한 명령어
현재 인스턴스의 파라미터 확인
SELECT name, value, isspecified FROM v$parameter;
spfile 위치 확인
SHOW PARAMETER spfile;
pfile로 인스턴스 수동 시작
startup pfile='/u01/app/oracle/dbs/initORCL.ora';
spfile 복구
CREATE SPFILE FROM PFILE='/u01/app/oracle/dbs/initORCL.ora';
5. 해결 전략 요약
| 구분 | 방법 | 설명 |
|---|---|---|
| 파라미터 검토 | v$parameter 또는 Oracle 문서 참고 | 지원 여부 및 타입 확인 |
| spfile → pfile 전환 | pfile 기반 인스턴스 수동 시작 | 문제 파라미터 편집 용이 |
| spfile 재생성 | CREATE SPFILE FROM PFILE; | 정상 상태로 재구성 |
| 파라미터 주석 처리 | -- 또는 # 기호 사용 | 문제 파라미터 일시 무력화 |
6. 예방 팁
- init.ora 수동 편집 시에는 백업 필수
- Oracle 버전별 파라미터 변경 내역 체크 (e.g., 12c, 19c의 차이)
- 모든 문자열은 반드시
''로 감싸고, 숫자는 감싸지 말 것 - spfile로 운영, pfile은 보조 수단으로만 유지
7. 결론
ORA-00404 오류는 초기화 파라미터 관리의 실수가 시스템 가용성에 직결될 수 있음을 보여주는 대표적인 사례입니다. 사소한 문법 실수도 Oracle 인스턴스 기동을 막는 주요 원인이 되므로, 초기화 파라미터 파일은 철저하게 관리해야 합니다.
이 글을 통해 오류의 근본 원인을 이해하고, init.ora 및 spfile 파일의 중요성을 다시금 인식하게 되기를 바랍니다.
출처
- Oracle® Database Reference 19c
- Oracle Error Message Documentation
- Oracle Support 문서 ID 733941.1
'Database > Oracle' 카테고리의 다른 글
| [ORACLE] ORA-01652 오류 해결 가이드 : TEMP Tablespace 공간 부족 문제 완전 정복 (0) | 2025.07.28 |
|---|---|
| [ORACLE] ORA-01013 오류 분석과 대처 전략 : 쿼리 취소 시나리오의 모든 것 (0) | 2025.07.28 |
| [ORACLE] ORA-00054 오류 완전 정복 : 리소스 잠금으로 인한 DDL 실패의 근본 원인과 실무 대응 전략 (0) | 2025.07.28 |
| [ORACLE] ORA-00060 오류 완전 분석 : 데드락 감지와 회피 전략 (0) | 2025.07.28 |
| [ORACLE] ORA-02292 오류 완전 정복 : 자식 테이블 참조로 인한 삭제 실패의 모든 것 (0) | 2025.07.28 |