본문 바로가기
Data & Programming/Oracle

[오라클-오류] ORA-01089: immediate shutdown or close in progress - no operations are permitted

by 눈부셔™ 2023. 8. 14.
728x90

[Oracle-오류] ORA-01089: immediate shutdown or close in progress - no operations are permitted

오라클 데이터베이스에 접속하여 작업을 수행하려 할 때 발생할 수 있는 오류 중 하나인 ORA-01089는 데이터베이스 컨트롤 파일이 손상되었거나 누락되었을 때 발생하는 오류 코드입니다. 이 글에서는 ORA-01089 오류 코드에 대해 자세히 설명하고, 이 오류가 발생하는 원인 및 해결 방법에 대해 알아보겠습니다.

ORA-01089: immediate shutdown or close in progress - no operations are permitted

오류 내용

ORA-01089 오류는 "immediate shutdown in progress - no operations are permitted"라는 내용으로 표시됩니다.

이 오류는 데이터베이스 서버가 즉시 종료되고 있는 상태에서 더 이상의 작업을 수행할 수 없을 때 발생합니다.

즉, 데이터베이스가 종료 중인 상태에서 다른 작업을 시도하면 이 오류가 표시됩니다.

 


오류 발생 원인

ORA-01089 오류가 발생하는 주요 원인은 다음과 같습니다:

1. 데이터베이스 종료: 데이터베이스 관리자나 다른 사용자에 의해 데이터베이스가 종료되고 있는 상태에서 다른 작업을 시도할 때 이 오류가 발생할 수 있습니다.
2. 데이터베이스 컨트롤 파일 손상: 데이터베이스 컨트롤 파일이 손상되거나 누락된 경우에도 이 오류가 발생할 수 있습니다.

데이터베이스 컨트롤 파일은 DB의 중요한 메타데이터와 구조 정보를 저장하고 관리하는 핵심 파일입니다.
이 파일은 DB의 모든 관련 정보를 추적하고, DB 서버의 시작 및 종료, DB 객체의 생성 및 변경, 백업 및 복구 작업 등 다양한 DB 관리 작업에 필수적인 정보를 제공합니다.
컨트롤 파일은 Oracle DB의 안정성과 가용성을 보장하는 중요한 구성 요소 중 하나로 작용합니다.

3. 데이터베이스 복구 중: 데이터베이스 복구 작업이 진행 중이거나 데이터베이스가 복구 모드에 있는 경우에도 이 오류가 발생할 수 있습니다.

 


해결 방법

ORA-01089 오류를 해결하려면 다음과 같은 접근 방법을 고려할 수 있습니다:

1. 데이터베이스 상태 확인: 데이터베이스가 현재 어떤 상태인지를 확인하고, 데이터베이스가 종료 중인지 아닌지를 파악합니다.

1
SELECT STATUS, DATABASE_STATUS FROM V$INSTANCE;
cs

2. 종료 완료 기다리기: 데이터베이스가 종료되는 과정이 완료될 때까지 기다렸다가 다시 시도합니다.
3. 데이터베이스 컨트롤 파일 복구: 데이터베이스 컨트롤 파일이 손상된 경우 해당 파일을 복구하거나 백업에서 복원합니다.

백업된 컨트롤 파일을 사용하여 복구 작업을 수행합니다. 
다음 SQL 문을 사용하여 복구를 진행합니다. {backup_path}에는 백업 파일의 경로가 들어갑니다.
1
2
3
SQL> ALTER DATABASE MOUNT;
SQL> RESTORE CONTROLFILE FROM '{backup_path}';
SQL> ALTER DATABASE OPEN;
cs

4. 데이터베이스 복구 완료 기다리기: 데이터베이스가 복구 중인 경우 복구 작업이 완료될 때까지 기다린 후에 다시 시도합니다.

 


예제

다음은 ORA-01089 오류가 발생하는 예제입니다:

1
2
3
4
5
6
7
8
-- 권한이 있는 사용자로 데이터베이스에 연결
sqlplus / as sysdba
 
-- 데이터베이스 인스턴스 종료
SHUTDOWN IMMEDIATE;
 
-- 데이터베이스 인스턴스가 종료된 경우 데이터베이스에 연결을 시도하면 ORA-01089 오류가 발생합니다.
sqlplus user1/password@mydb
cs

권한이 있는 사용자가 수동으로 수행한 작업으로 인해 발생하는 이 오류에 대한 직접적인 해결책은 없습니다. 

이 오류가 발생하면 데이터베이스를 다시 시작한 후 다시 로그인을 시도할 수 있습니다.

 

 

결론

ORA-01089 오류는 데이터베이스가 종료 중인 상태에서 더 이상의 작업을 수행할 수 없을 때 발생하는 오류 코드입니다. 데이터베이스의 상태를 확인하고 데이터베이스 관리자와 협력하여 필요한 조치를 취하여 데이터베이스의 안정성과 가용성을 유지하는 것이 중요합니다. 이러한 조치를 통해 데이터베이스 연결과 작업을 원활하게 관리할 수 있습니다.

 


#Oracle  #오라클  #오라클 오류코드  #ORA-01089  #데이터베이스 종료  #데이터베이스 컨트롤 파일  #데이터베이스 복구

728x90