Erkennung von Oracle-Datenbanken

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 7 Minuten Lesedauer
  • Von Discovery kann eine unter UNIX oder Windows ausgeführte Oracle-Datenbankinstanz erkannt werden. Von Discovery kann auch Oracle-Clusterware erkannt werden, von der Real Application Clusters (RAC) ausgeführt werden.

    Die Erkennung von Oracle-Installationen erfolgt mit Mustern. Diese Muster ersetzen mehrere Probes für neue Instanzen. Wenn Sie weiterhin Probes verwenden möchten, können Sie die Probe „Horizontal Discovery“ deaktivieren, die das Muster startet, und dann die erforderlichen Probes aktivieren.
    Hinweis:
    Oracle unter UNIX und Oracle unter Windows bieten keine Unterstützung für RAC-Einzelknoten-Erkennung.
    Discovery erkennt nicht die Oracle-Datenbanken selbst, die als Datenbankkataloge bezeichnet werden.
    Hinweis:
    Weitere Informationen zur Migration von Probe zu Muster finden Sie im Wissensartikel KB0694477

    Berechtigungen

    Konfigurieren Sie die folgenden Anmeldeinformationen:
    Anmeldeinformationstyp Zusätzliche Informationen

    Applicative-Anmeldeinformationen

    Applicative-Anmeldeinformationen sind nur für die folgenden zwei Anwendungsfälle obligatorisch:
    • Verbindungen zu Datenbanklinks erstellen
    • Software Asset Management aktiviert
    Sie müssen den Datenbankbenutzer hinzufügen, den Sie während der Installation der Oracle-Datenbank konfiguriert haben. Geben Sie als CI-Typ Oracle-Instanz [cmdb_ci_db_ora_instance] an.

    Der Benutzer muss auch über Zugriff auf die Parameterdatei tnsnames.ora verfügen. Stellen Sie sicher, dass tnsnames.ora richtig konfiguriert und im Oracle-Pfad auf dem Windows-Zielhost vorhanden ist. Stellen Sie außerdem sicher, dass die verwendeten Discovery-Anmeldeinformationen die Datei tnsnames.ora lesen können.

    Windows-Anmeldeinformationen Neben Applicative-Anmeldeinformationen können Sie auch Windows- und SSH-Anmeldeinformationen verwenden. Für Windows-Anmeldeinformationen muss der Benutzer über Leseberechtigungen für die Datei tnsnames.ora verfügen. SSH-Anmeldeinformationen müssen Leseberechtigung für die Datei oratab und Leseberechtigung für das Serverparameterfile aufweisen.

    Eine Liste der privilegierten Befehle, die Sie für Discovery und Service Mapping benötigen, finden Sie unter Service-Mapping-Befehle, die einen privilegierten Benutzer erfordern - dort finden Sie auch eine Liste der Befehle, für die erhöhte Rechte zum Erkennen und Zuordnen von Unix-basierten Hosts in Ihrer Organisation erforderlich sind.

    SSH-Anmeldeinformationen

    Zusätzliche Anforderungen

    Unter UNIX erkennt Discovery eine ausgeführte Instanz einer Oracle-Datenbank anhand des Prozesses, der mit ora_pmon_ beginnt. Stellen Sie sicher, dass dieser Prozess in dem von Ihnen für Discovery festgelegten IP-Bereich ausgeführt wird. Unter Windows erkennt Discovery eine ausgeführte Instanz einer Oracle-Datenbank anhand des Prozesses oracle.exe. Stellen Sie sicher, dass dieser Prozess in dem von Ihnen festgelegten IP-Bereich ausgeführt wird.

    Für Oracle-Clusterware benötigen Sie außerdem Berechtigungen zum Lesen der Datei /etc/hosts/ , die Hostnamen mit IP-Adressen verknüpft.

    Die folgenden Befehle werden für Oracle-Clusterware ausgeführt:
    Befehl Beschreibung

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

    Überprüft, ob der Oracle CRS-Prozess ausgeführt wird

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

    Ruft Oracle Home ab

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

    Ruft den Namen des Oracle CRS-Clusters ab

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

    Ruft die ID des Oracle CRS-Clusters ab

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

    Ruft die Version von Oracle CRS ab

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

    Ruft Oracle CRS-Knoten ab

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

    Ruft den Status von Oracle CRS-Knoten ab

    /u01/app/12.1.0.2/grid/bin/crs_stat -f | tr '\n' '#’

    Ruft Oracle CRS-Ressourcen ab
    /u01/app/12.1.0.2/grid/bin/crsctl stat res -p | grep -v CHECK_R |grep -v error |grep -v failed Ruft Oracle CRS VIP-Ressourcen ab

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

    Ruft VIP-Konfigurationen für Oracle RAC SCAN ab

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

    Ruft Namen von Oracle CRS-VIPs ab

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

    Ruft IP-Adressen von Oracle CRS-VIPs ab
    Sudo-Berechtigung zur Ausführung: sudo /u01/app/12.1.0.2/grid/bin/ocrcheck | egrep -v 'error|return code'

    Klassifizierer, Muster und Probes

    Zur Erkennung von Oracle-Datenbanken verwendet Discovery die folgenden Klassifizierer, Probes und Muster:
    Klassifizierung Auslöser-Probes Muster
    Oracle-Instanz
    • Probe „Horizontal Discovery“: Startet Muster
    • Powershell-Oracle - Instance PFile (für Windows)*
    • Powershell-Oracle - Instance Version (für Windows)*
    • SSHCommand-Oracle - Instance Details (für Linux)*
    Anwendungsmuster:
    • Oracle DB On Windows
    • Oracle DB on UNIX

    Das folgende Muster für gemeinsam genutzte Bibliotheken, das vom Muster Linux Server verwendet wird:

    UNIX Cluster - ORACLE Clusterware
    Hinweis:
    Dieses Muster für gemeinsam genutzte Bibliotheken wird ausgelöst, wenn der Prozess crsd.bin auf dem Oracle-Datenbankserver ausgeführt wird.
    Oracle-Listener SSHCommand-Oracle - Listener Details keine
    *Probes inaktiv für neue Instanzen

    Um Muster zu verwenden, vergewissern Sie sich, dass das richtige Muster in der horizontalen Mustersonde des Klassifizierers angegeben ist. Siehe Probe „Horizontal Pattern“ einem Klassifizierer hinzufügen für Anweisungen.

    Erfasste Daten

    Unter UNIX und Windows werden in der Tabelle „Oracle-Instanzen“ [cmdb_ci_db_ora_instance] die folgenden Daten erfasst:
    Tabelle : 1. Auf UNIX-Computern erfasste Daten
    Bezeichnung Feldname Zusätzliche Informationen
    SID sid Abgeleitet aus dem Namen des Prozesses, der mit ora_pmon_beginnt
    Installationsverzeichnis install_directory Abgeleitet aus dem Pfad von ORA_HOME
    Version Version In der folgenden Reihenfolge abgerufen:
    • Aus der Ausgabe des Befehls ORA_HOME/bin/sqlplus/NOLOG
    • Aus der Ausgabe des Statusbefehls ORA_HOME/bin/lsnrctl
    • Aus dem Pfad von ORA_HOME
    Parameterdatei pfile Die folgenden Speicherorte werden für den Speicherort des Systemparameterfile untersucht. Wenn diese Datei an keinem der untersuchten Speicherorte vorhanden ist, findet Discovery die Datei nicht, und es wird ein Fehler gemeldet.
    • oracle_home/dbs/spfileSID.ora
    • oracle_home/dbs/spfile.ora
    • oracle_home/dbs/initSID.ora
    Oracle Home oracle_home Aus der Datei ORATAB abgerufen
    Edition Edition Abgerufen aus der Datei context.xml
    Name Name Kombination aus SID-Name und Hostname im Format SID@HOST_NAME
    TCP-Port(s) tcp_port Abgerufen aus der Datei tnsnames.ora oder mit dem Statusbefehl lsnrctl. Wenn keine gültigen Informationen abgerufen werden, wird der Standardport 1521 zugewiesen.
    Hinweis:
    Unter Oracle-Optionen finden Sie Informationen über Mustererweiterungen und zusätzlich erfasste Informationen.
    Tabelle : 2. Auf Windows-Computern erfasste Daten
    Bezeichnung Feldname Zusätzliche Informationen
    SID sid Abgeleitet aus dem Prozessparameter, der an den Prozess oracle.exe übergeben wird
    Installationsverzeichnis install_directory
    Version Version Abgerufen aus der Ausgabe des Befehls ORA_HOME/bin/sqlplus.exe -V
    Parameterdatei pfile Die folgenden Speicherorte werden für den Speicherort des Systemparameterfile untersucht. Wenn diese Datei an keinem der untersuchten Speicherorte vorhanden ist, findet Discovery die Datei nicht, und es wird ein Fehler gemeldet.
    • oracle_home\database\spfileSID.ora
    • oracle_home\database\spfile.ora
    • oracle_home\database\initSID.ora
    Oracle Home oracle_home Analysiert aus dem Pfad von oracle.exe
    Edition Edition
    Hinweis:
    Unter Oracle-Optionen finden Sie Informationen über Mustererweiterungen und zusätzlich erfasste Informationen.

    Oracle-Optionen

    Discovery kann auch die für die Instanz aktivierten Oracle-Optionen erkennen. Weitere Informationen zu https://docs.oracle.com/en/-Optionen finden Sie auf der Oracle-Website. Discovery speichert diese Optionen in der Tabelle „Oracle-Optionen“ [samp_oracle_options].
    Bezeichnung Feldname
    Instanz instance
    Option option
    Lizenzierbar lizenzierbar
    Derzeit verwendet currently_used
    Datum der ersten Verwendung first_usage
    Datum der letzten Verwendung last_usage
    Datum des letzten Beispiels last_sample
    Erkannte Verwendung detected_usage
    Beispielintervall sample_interval
    Benötigte Tabellenberechtigungen Zusätzliche Informationen
    Auf die folgenden Tabellen wird als Teil der Oracle-Optionserweiterung für UNIX und Windows zugegriffen:
    • DBA_FEATURE_USAGE_STATISTICS
    • CDB_FEATURE_USAGE_STATISTICS
    • V$DATABASE
    • V$VERSION
    • GV$PARAMETER
    • V$CONTAINERS
    • V$INSTANCE
    Die folgenden Mustererweiterungen verwenden das Oracle-Skript option_packs_usage_statistics.sql. Dieses SQL-Skript kann für DB Server Version 11.2 und höher verwendet werden. Um das Skript auszuführen, benötigen Sie die Berechtigung zur Auswahl eines beliebigen Wörterbuchs. Weitere Informationen zu Usage-Skripts finden Sie im Supportdokument ID13172651.1 auf https://support.oracle.com/portal/.
    • Oracle-Optionserweiterungen für UNIX
    • Oracle-Optionserweiterungen für Windows
    Tabelle : 3. Auf Clusterware erfasste Daten
    Tabelle Bezeichnungen und Feldnamen
    Unix-Cluster [cmdb_ci_unix_cluster]

    Name [name]

    Clusterstatus [cluster_status]

    Clustertyp [cluster_type]

    IP-Adresse [ip_address]

    Kurzbeschreibung [short_description]

    Cluster-ID [cluster_id]

    Clusterversion [cluster_version]

    cmdb_ci_unix_cluster_node

    Name [name]

    Knotenzustand [node_state]

    IP-Adresse [ip_address]

    Knotenstatus [node_status]

    cmdb_ci_unix_cluster_resource

    Name [name]

    Ressourcentyp [resource_type]

    Ressourcenstatus [resource_status]

    Eigenschaften [properties]

    cmdb_ci_cluster_vip

    Name [name]

    IP-Adresse [ip_address]

    Clustername [cluster_name]

    Cluster-ID [cluster_id]

    In der Abhängigkeitsansicht bedeutet ein +1 für einen Oracle-Datenbankserver, dass er Teil eines Clusters ist.

    Erweiterung „Extend Oracle instance“

    Hinweis:
    Mit der Erweiterung „Extend Oracle instance“ kann Discovery weitere Attribute für die Instanz erkennen. Weitere Informationen zu den Optionen finden Sie auf der Oracle-Website https://docs.oracle.com/en/. Discovery speichert diese Attribute in der Tabelle „Oracle-Instanzen“ [cmdb_ci_db_ora_instance].
    Bezeichnung Feldname
    Instanz instance
    Host-Name host_name
    IS_CDB cdb_yn
    DB – Eindeutiger Name db_unique_name
    DB-Name database_name
    Replikation aktiviert replication_enabled
    Benötigte Tabellenberechtigungen Zusätzliche Informationen
    Als Teil der Erweiterung „Extend Oracle Instance“ für UNIX und Windows wird auf die folgenden Tabellen zugegriffen:
    • V$DATABASE
    • V$INSTANCE
    Die Erweiterung „Extend Oracle Instance“ muss installiert sein. Diese Erweiterung ist in der Anwendung Discovery and Service Mapping Patterns, Version 1.0.72 oder höher, enthalten, die aus dem ServiceNow Store heruntergeladen werden kann.

    Oracle-Instanzen auf virtuellen Computern

    Wenn Oracle-Instanzen auf virtuellen Maschinen gehostet werden, erstellt das System Beziehungen zwischen CIs.
    CI Beziehung CI
    Oracle-Instanz Gehostet auf Computer [cmdb_ci_computer] oder Server [cmdb_ci_server]
    Hinweis:
    Das ist ein virtueller Computer. Das Feld Ist virtuell enthält den Wert true.
    Computer [cmdb_ci_computer] oder Server [cmdb_ci_server]
    Hinweis:
    Das ist ein virtueller Computer. Das Feld Ist virtuell enthält den Wert true.
    Virtualisiert von Computer [cmdb_ci_computer] oder Server [cmdb_ci_server]
    Hinweis:
    Das ist kein virtueller Computer.

    Oracle-Instanzen auf virtuellen Computern, die in AWS- oder Azure-Clouds gehostet werden

    Basisklasse Beziehung Abhängige Klasse
    Oracle-Instanz Gehostet auf Computer [cmdb_ci_computer]
    Hinweis:
    Das ist ein virtueller Computer. Das Feld Ist virtuell enthält den Wert true.
    Computer [cmdb_ci_computer]
    Hinweis:
    Das ist ein virtueller Computer. Das Feld Ist virtuell enthält den Wert true.
    Virtualisiert von Computer [cmdb_ci_computer]
    Hinweis:
    Das ist kein virtueller Computer.
    Computer [cmdb_ci_computer]
    Hinweis:
    Das ist ein virtueller Computer. Das Feld Ist virtuell enthält den Wert true.
    Virtualisiert von VM-Instanz [cmdb_ci_vm_instance]
    Hinweis:
    Die vCPU-Anzahl wird in diese Tabelle gefüllt.
    VM-Instanz [cmdb_ci_vm_instance] Gehostet auf AWS-Rechenzentrum [cmdb_ci_aws_datacenter] oder Azure-Rechenzentrum [cmdb_ci_azure_datacenter]

    Beziehungen für Clusterware

    CI Beziehung CI
    Unix-Cluster [cmdb_ci_unix_cluster] Virtualisiert::Virtualisiert von Virtuelle Cluster-IP [cmdb_ci_cluster_vip]
    Unix-Clusterressource [cmdb_ci_unix_cluster_resource] Definiert Ressourcen für::Erhält Ressourcen von Unix-Clusterknoten [cmdb_ci_unix_cluster_node]
    Virtuelle Cluster-IP [cmdb_ci_cluster_vip] Verwendet::Verwendet von Unix-Clusterknoten [cmdb_ci_unix_cluster_node]
    Unix-Clusterknoten [cmdb_ci_unix_cluster_node] Cluster von::Cluster Unix-Cluster [cmdb_ci_unix_cluster]
    Unix-Clusterknoten [cmdb_ci_unix_cluster_node] Gehostet auf::Hostet Unix-Cluster [cmdb_ci_unix_cluster]
    Unix-Clusterressource [cmdb_ci_unix_cluster_resource] Definiert Ressourcen für::Erhält Ressourcen von Unix-Cluster [cmdb_ci_unix_cluster]

    Unix-Cluster [cmdb_ci_unix_cluster]

    Hostet::Gehostet auf Linux-Server [cmdb_ci_linux_server]
    Unix-Clusterknoten [cmdb_ci_unix_cluster_node] Gehostet auf::Hostet Linux-Server [cmdb_ci_linux_server]