Oracle Database 구성 또는 패치 과정에서 객체 상태 검증이 실패하면 단순 재시도보다 DBCA 로그, 데이터 딕셔너리 객체 상태, 컴포넌트 등록 여부를 먼저 확인해야 합니다. 재컴파일 적용 범위와 계정 권한, 원격 지원 시 필요한 오류 화면을 정리합니다.

객체 검증에서 멈춘 Oracle 설치, 재컴파일 전에 확인할 로그와 권한
설치 또는 패치 진행 중 객체 상태 검증 단계에서 멈췄다면, 재시도 버튼을 누르기보다 어느 구성 작업에서 최초 오류가 발생했는지부터 분리해야 합니다. 화면에 표시된 마지막 문구는 결과일 수 있고, 실제 원인은 그보다 앞서 실행된 스크립트·권한 확인·컴포넌트 등록 단계에 남아 있을 수 있습니다. 구리시 STATUS_INVALID_OBJECT처럼 객체 상태 관련 메시지가 보일 때도 INVALID 객체를 바로 일괄 처리하기보다 소유자와 오류 내용을 먼저 확인하는 편이 안전합니다. 데이터베이스 설치 중단은 객체 하나의 컴파일 문제뿐 아니라 패치 레벨 불일치, 선택 기능 누락, 환경 변수 설정 문제와 연결될 수 있습니다. 로그 보존 상태에서 진단이 필요하면 010-6833-8119 로 현재 화면과 진행 단계를 먼저 알려주시면 됩니다.
DBCA 로그에서 중단 지점 먼저 분리하기
설치 화면의 마지막 메시지만 기준으로 판단하면 원인과 조치 순서가 뒤바뀔 수 있습니다. DBCA 로그와 alert log 에서 오류가 나온 시각을 기준으로 앞뒤 기록을 확인하고, 최초 오류 행을 우선 찾습니다. 그 행에 나타난 구성 작업명, 실행 스크립트명, 반환 코드, 관련 ORA 오류를 한 묶음으로 기록해 두는 것이 중요합니다.
특히 “객체 검증 실패” 다음에 표시되는 메시지는 이미 중단된 작업의 후속 보고인 경우가 있습니다. 로그에 남은 최초 오류가 테이블스페이스 접근 실패인지, 스크립트 실행 권한 문제인지, 특정 컴포넌트 등록 실패인지에 따라 대응이 달라집니다. DBCA 로그의 마지막 단계와 최초 오류 행을 연결해 보면 단순 객체 문제인지 설치 구성 자체의 문제인지 범위를 좁힐 수 있습니다.
| 확인 항목 | 판단 기준 | 다음 조치 |
|---|---|---|
| 최초 오류 코드 | 객체 오류보다 앞선 ORA 메시지 존재 여부 | 선행 오류부터 해결 |
| 실행 스크립트 | 구성·카탈로그·컴포넌트 등록 단계인지 | 해당 단계의 로그와 권한 검토 |
| 반환 코드 | 스크립트 종료 또는 연결 실패 여부 | 환경·계정·접속 상태 점검 |
무효 객체를 바로 재컴파일하면 안 되는 경우

INVALID 상태는 객체가 현재 유효하게 참조되거나 실행될 수 없음을 뜻하지만, 모든 객체가 같은 원인으로 무효화된 것은 아닙니다. 먼저 DBA_OBJECTS에서 OWNER, OBJECT_TYPE, OBJECT_NAME, LAST_DDL_TIME을 확인해 시스템 소유 객체인지 선택 컴포넌트 객체인지 구분합니다. 특정 사용자 스키마에 한정된 문제와 데이터 딕셔너리 영역의 문제는 처리 범위가 다릅니다.
재컴파일 전에는 실제 컴파일 오류도 함께 확인해야 합니다. 의존 객체가 누락됐거나, 필요한 권한이 없거나, 구성요소 등록이 완전하지 않다면 utlrp.sql 실행 후에도 같은 객체가 다시 INVALID로 남을 수 있습니다. 패치 적용 도중 발생한 경우에는 설치 미디어 기준 버전, 적용된 패치 수준, 관련 스크립트 실행 이력을 비교하는 과정도 필요합니다.
utlrp.sql은 재컴파일 가능한 PL/SQL, 뷰 등의 객체를 일괄 재컴파일하는 데 사용할 수 있습니다. 다만 이것은 원인 확인을 마친 뒤 적용 범위를 정하는 단계입니다. 오류 객체의 소유자와 유형을 모른 채 실행하면 결과 해석이 어려워지고, 설치 중단의 근본 원인을 놓칠 수 있습니다.
설치 중단 후 복구 순서와 권한 점검
복구 작업은 접속 권한과 데이터베이스 상태를 확인하는 것부터 시작합니다. SYSDBA 권한으로 접속 가능한지, 인스턴스가 기동되어 있는지, 데이터베이스가 OPEN 상태인지 확인해야 조회와 스크립트 실행 범위를 판단할 수 있습니다. 설치 계정과 데이터베이스 관리 계정의 역할을 혼동하면 로그 확인은 가능해도 필요한 조치를 수행하지 못할 수 있습니다.

권장 순서는 로그 원본 보관, 오류 객체 목록 확보, 컴파일 오류 내용 확인, 원인 보정, 재컴파일 실행, 결과 재조회입니다. 재컴파일 전후의 INVALID 목록을 비교하면 남은 객체가 동일한지 새 오류가 생겼는지 구분할 수 있습니다. 동일한 중단이 반복된다면 재설치에 앞서 디스크 여유 공간, 환경 변수, Oracle Home 경로, 패치 레벨과 선행 스크립트 실패 여부를 다시 점검해야 합니다.
방문 일정이 필요한 상황
로그 분석과 객체 상태 조회, 권한 및 재컴파일 결과 검토는 원격으로 우선 진행할 수 있습니다. 반면 서버 콘솔 접근이 막혀 있거나 재기동 승인, 저장소 상태 확인, 운영체제 계정 문제 확인이 필요한 경우에는 현장 점검 시간을 조율합니다. 구리시 일정 문의도 서버 접근 가능 시간과 재기동 가능 여부를 기준으로 잡으면 작업 중단을 줄일 수 있습니다.
오류 자료를 갖추고 진단 요청하기
반복 실행으로 로그가 덮이기 전에 오류 화면을 저장하고, Oracle Database 버전, 설치·패치·업그레이드 중 발생한 단계, DBCA 로그 경로, alert log 일부, INVALID 객체 조회 결과를 준비하는 것이 좋습니다. 구리시 STATUS_INVALID_OBJECT 관련 설치 중단도 최초 오류 행과 객체 목록이 함께 있으면 재컴파일 필요 여부를 더 정확하게 판단할 수 있습니다.

동네형컴퓨터에서는 로그의 선행 오류와 객체 상태를 분리해 확인한 뒤, 권한 점검·재컴파일·추가 구성 확인 중 필요한 범위를 안내합니다. 원격 점검은 새벽 시간을 제외하고 가능하며, 오류 화면과 로그 자료를 준비해 010-6833-8119 또는 https://udns.kr/로 문의해 주세요.
객체 검증 중단은 로그와 권한부터 확정해야 합니다
설치가 객체 검증 단계에서 멈췄다고 해서 항상 재컴파일만 필요한 것은 아닙니다. DBCA의 최초 오류, INVALID 객체의 소유자와 유형, 컴포넌트 상태, SYSDBA 접속 가능 여부를 함께 확인해야 복구 순서가 정해집니다. 재컴파일 결과와 관련 로그를 남겨 두면 이후 패치나 구성 작업에서도 같은 문제의 재발 원인을 추적하기 쉬워집니다.
자주 묻는 질문
무효 객체 상태는 무엇을 뜻하나요?

객체가 의존성 변경, 컴파일 실패, 구성 누락 등의 이유로 현재 유효하게 실행·참조될 수 없다고 표시된 상태입니다. 객체 유형과 실제 컴파일 오류를 함께 확인해야 원인을 판단할 수 있습니다.
재컴파일 스크립트만 실행하면 해결되나요?
재컴파일 가능한 객체의 상태를 복구할 수는 있지만, 누락된 구성요소, 권한 문제, 패치 불일치가 원인이라면 같은 문제가 남거나 다시 발생할 수 있습니다. 실행 전후 로그와 객체 목록 비교가 필요합니다.
원격으로 점검할 수 있는 범위는 어디까지인가요?
로그 확인, 객체 상태 조회, 권한 검토, 재컴파일 결과 확인은 원격 점검이 가능합니다. 서버 콘솔 접근, 물리 장치 확인, 재기동 승인처럼 현장 대응이 필요한 항목은 별도 일정이 필요할 수 있습니다.
