
지난 날 저는 Oracle 설치 및 서비스 시작 및 종료에 대한 교육을 받았습니다. 그곳에서 Linux 시스템에서 Oracle 인스턴스를 시작하고 종료하는 일부 Linux 명령에 대해 알게 되었습니다.
실행 중인 인스턴스를 식별하려면: 아래 명령은 현재 해당 머신에서 실행 중인 모든 oracle 인스턴스를 반환합니다.
ps -ef |grep pmon
이 명령은 다음 결과를 반환합니다.
oracle 823 1 0 Dec03 ? 00:00:17 ora_pmon_instance1
oracle 19632 1 0 Nov17 ? 00:06:35 ora_pmon_instance2
oracle 24199 1 0 Nov20 ? 00:05:23 ora_pmon_instance3
instance1
, instance2
및 는 instance3
현재 실행 중인 Linux에 3개의 oracle을 설치한 것입니다 .
내 쿼리:따라서 ps -ef
현재 사용자에 대해 현재 실행 중인 프로세스만 표시됩니다. instance3
가 다운되어 해당 인스턴스를 시작해야 한다고 가정합니다 . 그러나 시스템에 얼마나 많은 Oracle 인스턴스가 있는지는 알 수 없습니다.
이 인스턴스가 다운되었다는 것을 어떻게 알 수 있나요?
Windows에는 서비스라는 방법이 있는데, 여기서 이러한 설치가 Oracle용 Windows에서 수행된다는 것을 알 수 있습니다.
답변1
/etc/oratab은 이 정보를 제공해야 합니다.
http://www.dba-oracle.com/t_linux_oratab.htm
oratab 파일에는 ORACLE_SID:ORACLE_HOME:Y 형식의 항목이 포함되어 있으며, 마지막 문자는 각각 dbstart 및 dbstop 명령을 사용하여 데이터베이스를 시작하고 중지해야 하는지 여부를 나타내는 Y 또는 N입니다. 다음은 일반적인 oratab 항목입니다.
테스트:/u01/app/oracle/product/11.1.0/db_1:Y
oratab 파일에서 파운드 기호(#)로 시작하는 줄은 주석입니다. 유효한 항목은 일반적으로 oratab 파일 끝에 있습니다.
oratab 파일은 vi나 다른 텍스트 편집기를 사용하여 수동으로 편집할 수 있습니다. 이는 데이터베이스의 ORACLE_HOME을 변경해야 하는 경우 종종 필요합니다.
경고: ORACLE_HOME 및 ORACLE_BASE 변수를 수동으로 설정하지 마십시오.
특정 상황에서는 데이터베이스를 참조하지 않는 oratab 파일에 항목을 추가하는 것이 유용합니다. 이를 통해 세션과 연결된 데이터베이스 없이 Oracle에 필요한 변수를 설정할 수 있습니다. 그렇게 하려면 위에서 언급한 형식에 따라 항목을 추가하고 마지막 문자를 N으로 설정하여 dbstart/stop 명령이 존재하지 않는 데이터베이스를 시작하지 않도록 하십시오. 이 스크립트는 데이터베이스와 연결되지 않은 oratab 항목을 표시합니다.
11g_db1:/u01/app/oracle/product/11.1.0/db_1:N
이와 같은 더미 oratab 항목은 아직 데이터베이스가 구성되지 않은 시스템이나 데이터베이스가 전혀 없을 수 있는 Oracle Application Server 또는 클라이언트 설치에 유용할 수 있습니다.