Oracle 데이터베이스 검색

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 14분
  • 디스커버리는 운영 체제에서 UNIXWindows 실행 중인 데이터베이스 인스턴스를 식별할 Oracle 수 있습니다. 또한 Real Application Clusters(RAC)를 실행하는 Oracle 클러스터웨어를 찾을 수도 있습니다.

    패턴은 Oracle 설치의 검색을 수행합니다. 이러한 패턴은 새 인스턴스에 대해 여러 프로브를 대체합니다. 프로브를 계속 사용하려면 가로 검색 프로브를 비활성화하여 패턴을 시행한 다음 필요한 프로브를 활성화합니다.
    주:
    Unix 기반 Oracle DB 및 Windows의 Oracle DB는 RAC 단일 노드 검색을 지원하지 않습니다.
    Unix 기반 Oracle DB 및 Windows 기반 Oracle DB 패턴은 패턴 확장을 통해 카탈로그 객체를 검색합니다 Oracle . 카탈로그 정보 가져오기. 자세한 내용은 Oracle 카탈로그 검색 문서를 참조하십시오. 데이터베이스 카탈로그 검색에 대한 일반적인 정보는 데이터베이스 카탈로그를 참조하십시오.
    주:
    프로브에서 패턴으로의 마이그레이션에 대한 자세한 내용은 지식 문서 KB0694477 참조하십시오.

    자격 증명

    다음 자격 증명을 구성합니다.
    자격 증명 유형 추가 정보

    애플리케이션 자격 증명

    애플리케이션 자격 증명은 다음 두 가지 사용 사례에서 필수입니다.
    • 원격 Oracle DB 인스턴스에 대해 SQL 쿼리 실행
    • 데이터베이스 링크에 대한 연결 생성
    • 활성화 상태의 소프트웨어 자산 관리
    데이터베이스 설치 중에 Oracle 구성한 데이터베이스 사용자를 추가해야 합니다. CI 유형으로 Oracle 인스턴스 [cmdb_ci_db_ora_instance]를 지정합니다.

    또한 사용자는 tnsnames.ora 매개변수 파일에 액세스할 수 있어야 합니다. tnsnames.ora가 올바르게 구성되어 있고 대상 Windows 호스트의 경로에 있는지 Oracle 확인합니다. 또한 활용한 디스커버리 자격 증명이 tnsnames.ora 파일을 읽을 수 있는지 검증합니다.

    사용자는 SQL*Plus 명령줄 도구에 대한 권한과 다음 테이블에 대해 SELECT 쿼리를 실행할 수 있는 권한이 필요합니다.
    • PRODUCT_COMPONENT_VERSION
    • V$VERSION
    • V$DATABASE
    • V$PARAMETER
    Windows 자격 증명 또한 애플리케이션 자격 증명 외에 Windows 및 SSH 자격 증명을 사용할 수 있습니다. Windows 자격 증명의 경우 사용자에게 tnsnames.ora 파일에 대한 읽기 권한이 있어야 합니다. SSH 자격 증명에서 oratab 파일에 대한 읽기 권한과 시스템 매개변수 파일에 대한 읽기 권한을 허용해야 합니다.

    검색 및 서비스 매핑에 필요한 권한 있는 명령 목록은 문서를 참조하십시오 권한이 있는 사용자를 필요로 하는 서비스 매핑 명령. 이 목록에는 조직에서 Unix 기반 호스트를 검색하고 매핑하기 위해 높은 권한이 필요한 명령이 포함되어 있습니다.

    SSH 자격 증명

    추가 요구 사항

    디스커버리ora_pmon_로 시작하는 프로세스에서 실행 중인 데이터베이스 UNIX 인스턴스를 Oracle 식별합니다. 이 프로세스가 사용자가 지정한 디스커버리IP 범위에서 실행되도록 하십시오. 디스커버리 oracle.exe 프로세스에서 데이터베이스의 실행 중인 인스턴스를 OracleWindows 식별합니다. 이 프로세스가 지정된 IP 범위에서 실행되도록 하십시오.

    Oracle 클러스터웨어의 경우 호스트 이름을 IP 주소와 연결하는 /etc/hosts/ 파일을 읽을 수 있는 권한도 필요합니다.

    다음 명령은 Oracle 클러스터웨어에 대해 실행됩니다.
    명령 설명

    ps -ef | grep 'crsd.bin' |grep -v grep

    CRS 프로세스가 실행 중인지 Oracle 확인합니다.

    ps -ef |grep LISTENER | grep -v $$ | head -1 | awk '{print $8}'

    집에 도착합니다 Oracle .

    /u01/app/12.1.0.2/grid/bin/olsnodes -c | egrep -v 'error|return code'

    CRS 클러스터 이름을 가져옵니다 Oracle .

    /u01/app/12.1.0.2/grid/bin/crsctl query crs softwareversion| egrep -v 'error|return code'

    CRS 클러스터 ID를 가져옵니다 Oracle .

    /u01/app/12.1.0.2/grid/bin/crsctl query crs softwareversion| egrep -v 'error|return code'

    CRS 버전을 가져옵니다 Oracle .

    /u01/app/12.1.0.2/grid/bin/olsnodes | egrep -v 'error|return code'

    CRS 노드를 가져옵니다 Oracle .

    /u01/app/12.1.0.2/grid/bin/crsctl status server | egrep -v 'error|return code'

    CRS 노드 상태를 가져옵니다 Oracle .

    /u01/app/12.1.0.2/grid/bin/crsctl stat res -f | tr '\n' '#'

    CRS 자원을 가져옵니다 Oracle .
    /u01/app/12.1.0.2/grid/bin/crsctl stat res -p | grep -v CHECK_R |grep -v error |grep -v failed CRS VIP 자원을 가져옵니다 Oracle .

    /u01/app/12.1.0.2/grid/bin/srvctl config scan | tr '\n' ‘ '

    RAC SCAN VIP 구성을 가져옵니다 Oracle .

    /u01/app/12.1.0.2/grid/bin/srvctl config vip -node ol7-121-rac1| egrep ' Name' | awk '{print $3}'

    CRS VIP 이름을 가져옵니다 Oracle .

    /u01/app/12.1.0.2/grid/bin/srvctl config vip -node ol7-121-rac1| grep ' IPv4 Address:' | awk '{print $4}'

    CRS VIP ip_address 가져옵니다 Oracle .
    실행할 Sudo 권한: sudo /u01/app/12.1.0.2/grid/bin/ocrcheck | egrep -v 'error|return code'

    분류 규칙, 패턴 및 프로브

    디스커버리Oracle 데이터베이스 검색을 위해 다음 분류 규칙, 프로브 및 패턴을 사용합니다.
    분류 규칙 프로브 트리거 패턴
    Oracle 인스턴스
    • 가로 검색 프로브: 패턴 시작
    • Powershell-Oracle - 인스턴스 PFile(Windows 용)*
    • Powershell-Oracle - 인스턴스 버전(Windows 용)*
    • SSHCommand-Oracle - 인스턴스 상세 정보(Linux 용)*
    애플리케이션 패턴:
    • Windows 기반 Oracle DB 패턴
    • UNIX 기반 Oracle DB 패턴

    다음은 Linux 서버 패턴에서 사용하는 공유 라이브러리 패턴입니다.

    UNIX 클러스터 - ORACLE 클러스터웨어
    주:
    이 공유 라이브러리 패턴은 crsd.bin 프로세스가 데이터베이스 서버에서 실행 Oracle 중인 경우 트리거됩니다.
    Oracle Listener SSHCommand-Oracle - 수신기 세부 정보 없음
    * 새 인스턴스에서 비활성화되는 프로브입니다.

    패턴을 사용하려면 분류 규칙의 수평 패턴 프로브에 올바른 패턴이 지정되어 있는지 검증합니다. 지침은 분류 규칙에 수평 패턴 프로브 추가 문서를 참조하십시오.

    수집된 데이터

    Oracle 인스턴스 [cmdb_ci_db_ora_instance] 테이블에서 및 UNIX 모두에 Windows대해 다음 데이터가 수집됩니다.
    표 1. 머신에서 UNIX 수집된 데이터
    레이블 필드 이름 추가 정보
    SID sid Ora_pmon_으로 시작하는 프로세스의 이름에서 받습니다.
    설치 디렉터리 install_directory ORA_HOME 경로에서 받습니다.
    버전 version 받는 순서:
    • ORA_HOME/bin/sqlplus/NOLOG 명령의 출력에서
    • ORA_HOME/bin/lsnrctl 상태 명령의 출력에서
    • ORA_HOME 경로에서
    매개변수 파일 Pfile 다음 위치에서 시스템 매개변수 파일의 위치를 탐색합니다. 탐색한 위치 중 하나에 이 파일이 없는 경우 검색을 통해 파일을 찾을 수 없으며 오류를 보고합니다.
    • oracle_home/dbs/spfileSID.ora
    • oracle_home/dbs/spfile.ora
    • oracle_home/dbs/initSID.ora
    Oracle 홈 oracle_home ORATAB 파일에서 받습니다.
    에디션 edition context.xml 파일에서 받습니다.
    이름 name SID 이름과 호스트 이름을 SID@HOST_NAME 형식으로 조합합니다.
    TCP 포트 tcp_port tnsnames.ora 파일 또는 lsnrctl 상태 명령에서 받습니다. 유효한 정보가 검색되지 않은 경우 기본 포트 1521이 할당됩니다.
    주:
    패턴 확장과 수집된 추가 정보는 Oracle개의 옵션 문서를 참조하십시오.
    표 2. 머신에서 Windows 수집된 데이터
    레이블 필드 이름 추가 정보
    SID sid Oracle.exe 프로세스에 전달되는 프로세스 매개변수에서 받습니다.
    설치 디렉터리 install_directory
    버전 version ORA_HOME/bin/sqlplus.exe -V 명령 출력에서 받습니다.
    매개변수 파일 Pfile 다음 위치에서 시스템 매개변수 파일의 위치를 탐색합니다. 탐색한 위치 중 하나에 이 파일이 없는 경우 검색을 통해 파일을 찾을 수 없으며 오류를 보고합니다.
    • oracle_home\database\spfileSID.ora
    • oracle_home\database\spfile.ora
    • oracle_home\database\initSID.ora
    Oracle 홈 oracle_home oracle.exe 경로에서 구문 분석됩니다.
    에디션 edition
    주:
    패턴 확장과 수집된 추가 정보는 Oracle개의 옵션 문서를 참조하십시오.

    Oracle개의 옵션

    옵션에 대한 Oracle 일반적인 정보는 문서를 참조하십시오 https://docs.oracle.com/en/.

    또한 검색은 Oracle 레거시 패턴 확장인 Windows/Unix용 Oracle 옵션 확장을 사용하여 인스턴스에서 사용 가능한 옵션을 찾을 수도 있습니다. 옵션을 검색 Oracle 하려면 Oracle용 소프트웨어 자산 관리 전문가(com.snc.samp.oracle) 플러그인이 필요합니다.

    표 3. Oracle 옵션 [samp_oracle_options]
    레이블 필드 이름
    인스턴스 instance
    옵션 option
    라이센스 가능 licensable
    현재 사용 중 currently_used
    첫 번째 사용 날짜 first_usage
    마지막 사용 날짜 last_usage
    마지막 샘플 날짜 last_sample
    탐지된 사용량 detected_usage
    샘플 간격 sample_interval
    테이블 권한 필요 추가 정보
    UNIXWindows에 대한 Oracle 옵션 확장의 일부로 다음 테이블에 액세스할 수 있습니다.
    • DBA_FEATURE_USAGE_STATISTICS
    • CDB_FEATURE_USAGE_STATISTICS
    • V$DATABASE
    • V$VERSION
    • GV$PARAMETER
    • V$CONTAINERS
    • V$INSTANCE
    다음 패턴 확장에서는 Oracle 스크립트를 사용합니다. options_packs_usage_statistics.sql. 이 sql 스크립트는 DB Server 버전 11.2 이상을 위한 것입니다. 스크립트를 실행하려면 사전 선택 권한이 필요합니다. 사용 스크립트에 대한 자세한 내용은 https://support.oracle.com/portal/에서 지원 문서 ID 13172651.1을 참조하십시오.
    • UNIX용 Oracle 옵션 확장
    • Windows용 Oracle 옵션 확장
    표 4. 클러스터웨어의 수집된 데이터
    테이블 레이블 및 필드 이름
    Unix 클러스터 [cmdb_ci_unix_cluster]

    이름 [name]

    클러스터 상태 [cluster_status]

    클러스터 유형 [cluster_type]

    IP 주소 [ip_address]

    짧은 설명 [short_description]

    클러스터 ID [cluster_id]

    클러스터 버전 [cluster_version]

    cmdb_ci_unix_cluster_node

    이름 [name]

    노드 상태 [node_state]

    IP 주소 [ip_address]

    노드 상태 [node_status]

    cmdb_ci_unix_cluster_resource

    이름 [name]

    자원 유형 [resource_type]

    자원 상태 [resource_status]

    속성 [properties]

    cmdb_ci_cluster_vip

    이름 [name]

    IP 주소 [ip_address]

    클러스터 이름 [클러스터_이름]

    클러스터 ID [cluster_id]

    의존성 뷰에서 Oracle 데이터베이스 서버의 +1은 해당 서버가 클러스터의 일부임을 의미합니다.

    Oracle 인스턴스 포함 확장

    주:
    디스커버리 에서는 Oracle 인스턴스 포함 확장을 사용하여 인스턴스에 대한 추가 속성을 찾을 수도 있습니다. Oracle 옵션 https://docs.oracle.com/en/ 에 대한 자세한 내용은 웹 사이트를 참조하십시오. 검색은 이러한 속성을 Oracle 인스턴스 [cmdb_ci_db_ora_instance] 테이블에 저장합니다.
    레이블 필드 이름
    인스턴스 instance
    호스트 이름 host_name
    IS_CDB cdb_yn
    DB 고유 이름 db_unique_name
    DB 이름 database_name
    복제 사용 replication_enabled
    테이블 권한 필요 추가 정보
    UNIXWindows에 대한 Oracle 인스턴스 포함 확장의 일부로 다음 테이블에 액세스할 수 있습니다.
    • V$DATABASE
    • V$INSTANCE
    Oracle 인스턴스 포함 확장을 설치해야 합니다. 이 확장은 Discovery and Service Mapping Patterns 애플리케이션 버전 1.0.72 이상에 포함되어 있으며 ServiceNow Store에서 다운로드할 수 있습니다.

    Oracle 가상 머신의 인스턴스

    Oracle 인스턴스가 가상 머신에서 호스팅되면 시스템은 CI 간의 관계를 생성합니다.
    CI 관계 CI
    Oracle 인스턴스 Hosted on 컴퓨터 [cmdb_ci_computer] 또는 서버 [cmdb_ci_server]
    주:
    가상 머신입니다. Is virtual 필드는 True입니다.
    컴퓨터 [cmdb_ci_computer] 또는 서버 [cmdb_ci_server]
    주:
    가상 머신입니다. Is virtual 필드는 True입니다.
    Virtualized by 컴퓨터 [cmdb_ci_computer] 또는 서버 [cmdb_ci_server]
    주:
    가상 머신이 아닙니다.

    Oracle또는 Azure 클라우드에서 호스팅 AWS 되는 가상 머신의 인스턴스

    기본 클래스 관계 종속 클래스
    Oracle 인스턴스 Hosted on 컴퓨터 [cmdb_ci_computer]
    주:
    가상 머신입니다. Is virtual 필드는 True입니다.
    컴퓨터 [cmdb_ci_computer]
    주:
    가상 머신입니다. Is virtual 필드는 True입니다.
    Virtualized by 컴퓨터 [cmdb_ci_computer]
    주:
    가상 머신이 아닙니다.
    컴퓨터 [cmdb_ci_computer]
    주:
    가상 머신입니다. Is virtual 필드는 True입니다.
    Virtualized by 가상 머신 인스턴스 [cmdb_ci_vm_instance]
    주:
    이 테이블에 vCPU 수가 채워집니다.
    가상 머신 인스턴스 [cmdb_ci_vm_instance] Hosted on AWS 데이터센터 [cmdb_ci_aws_datacenter] 또는 Azure 데이터센터 [cmdb_ci_azure_datacenter]

    클러스터웨어 관계

    CI 관계 CI
    Unix 클러스터 [cmdb_ci_unix_cluster] Virtualizes::Virtualized by 클러스터 가상 IP [cmdb_ci_cluster_vip]
    Unix 클러스터 자원 [cmdb_ci_unix_cluster_resource] Defines resources for::Gets resources from Unix 클러스터 노드 [cmdb_ci_unix_cluster_node]
    클러스터 가상 IP [cmdb_ci_cluster_vip] Uses::Used by Unix 클러스터 노드 [cmdb_ci_unix_cluster_node]
    Unix 클러스터 노드 [cmdb_ci_unix_cluster_node] Cluster of::Cluster Unix 클러스터 [cmdb_ci_unix_cluster]
    Unix 클러스터 노드 [cmdb_ci_unix_cluster_node] Hosted on:Hosts Unix 클러스터 [cmdb_ci_unix_cluster]
    Unix 클러스터 자원 [cmdb_ci_unix_cluster_resource] Defines resources for::Gets resources from Unix 클러스터 [cmdb_ci_unix_cluster]

    Unix 클러스터 [cmdb_ci_unix_cluster]

    Hosts::Hosted on Linux 서버 [cmdb_ci_linux_server]
    Unix 클러스터 노드 [cmdb_ci_unix_cluster_node] Hosted on::Hosts Linux 서버 [cmdb_ci_linux_server]