Oracle 데이터베이스가 마운트 및 활성화되었는지 어떻게 알 수 있습니까?

Oracle 데이터베이스가 마운트 및 활성화되었는지 어떻게 알 수 있습니까?

IANADBA이지만 Oracle 대기 데이터베이스가 활성화되지 않은 한 조치를 취하는 스크립트를 작성 중입니다. 내가 찾고 있는 것은 두 개의 쿼리(또는 필요한 경우 쿼리 집합)입니다.

1 - 데이터베이스가 마운트되어 있습니까(누군가 "데이터베이스 마운트 대기 데이터베이스 변경"을 수행했습니까?)

2 - 데이터베이스가 활성화되었는지 어떻게 알 수 있습니까(예: "데이터베이스 활성화 대기 데이터베이스 활성화")?

앞서 언급했듯이 저는 문의 사항을 찾고 있지만 시스템에서 알 수 있는 방법이 있다면 그것도 가능합니다. 감사해요!

업데이트

나는 아래 제안을 받아들였습니다. (저는 Oracle 8i를 다루고 있기 때문에 약간 수정되었으며 다음과 같은 결과를 얻었습니다.

 SQL>  SELECT INSTANCE_NAME, DATABASE_STATUS, INSTANCE_ROLE from v$instance; 

 INSTANCE_NAME    DATABASE_STATUS   INSTANCE_ROLE
 ---------------- ----------------- ------------------
 RGR01            ACTIVE            PRIMARY_INSTANCE

현재 이 인스턴스는 아카이브 로그를 적극적으로 복구하고 있지만 "라이브" 상태는 아닙니다. 대기 데이터베이스로 마운트되지 않았는지 알 수 있는 방법을 계속 찾고 있습니다.

답변1

알겠어요!

v$database의 CONTROLFILE_TYPE이 핵심입니다.

 SQL> select CONTROLFILE_TYPE from v$database; 

 CONTROL
 -------
 CURRENT

~ 대

 SQL> select CONTROLFILE_TYPE from v$database; 

 CONTROL
 -------
 STANDBY

답변2

이는 물리적 대기, Oracle 10g(및 그 이상)에서 작동합니다.

v$database에서 open_mode를 선택합니다.

값이 다음과 같은 경우:

  1. 'MOUNTED', 데이터베이스가 마운트되었습니다.
  2. 'READ WRITE', 그러면 활성화되었다고 가정할 수 있습니다.
  3. 'READ ONLY'이면 읽기 전용 모드로 쿼리를 위해 열릴 수 있지만 활성화되지는 않습니다.
  4. 활성 데이터 가드를 사용할 때 'READ ONLY WITH APPLY'.

기본에서:

select database_role from v$database;

DATABASE_ROLE
----------------
PRIMARY

슬레이브의 경우:

OPEN_MODE
--------------------    --------------------
MOUNTED              or READ ONLY WITH APPLY

다른 값도 있을 수 있지만 확실하지 않습니다.

HTH

답변3

"Oracle 데이터베이스가 마운트되어 활성화되었는지 어떻게 알 수 있습니까?"라는 질문에 대한 답은 잘 모르겠습니다.대부분의 사람들이 심하게 착각하고 있기 때문에 이 게시물의 답변에서 오해하지 않도록 사람들에게 알리기 위해 답변을 게시해야 합니다..

  • "v$instance"를 사용한다고 말하는 사람들은 "인스턴스"가 마운트되었는지, 시작 중인지, 활성화되었는지 여부를 알려주기 때문에 완전히 잘못된 것입니다.데이터베이스와 데이터베이스 인스턴스는 서로 다릅니다., 따라서 차이점을 모른다면 더 잘 읽고 다음 내용도 읽어보세요.Oracle RAC 및 Oracle Data Guard.

  • 당신이 사용한다고 말하는 것 select CONTROLFILE_TYPE from v$database;역시 옳지 않습니다. 왜냐하면신탁이 컬럼은 제어 파일 정보를 알려주며 데이터베이스가 대기 모드인지 활성 모드인지를 알려줍니다. 이는 데이터베이스가 마운트되었는지 여부와 데이터베이스가 활성 상태인지 여부와 다릅니다.

앞서 말했듯이 데이터베이스와 데이터베이스 인스턴스의 차이점을 이해하고 Oracle RAC와 Oracle Data Guard가 무엇인지 아는 것이 매우 중요하다고 생각합니다.

기본 데이터베이스와 또 다른 대기 Databguard 데이터베이스가 있고 두 데이터베이스/인스턴스가 모두 활성화되어 있지만 아래 스크린샷에서 차이점을 확인한다고 가정해 보겠습니다.

기본 데이터베이스:

여기에 이미지 설명을 입력하세요

대기 데이터 가드 데이터베이스:

여기에 이미지 설명을 입력하세요

답변4

netstat/lsof를 통해 데이터베이스 연결을 모니터링할 수 있습니까? 아마도 클라이언트가 이를 사용하기 시작했다는 것을 알 수 있을 것입니다.

해당 명령에 대한 아카이브 로그를 볼 수도 있습니다.

관련 정보