Oracle

Sie können Looker so konfigurieren, dass in Ihrer Oracle-Datenbank gespeicherte Daten analysiert werden. Die Oracle-Integration von Looker bietet eine sichere Verbindung, unterstützt persistente abgeleitete Tabellen (PDTs) und erleichtert das Beenden von Abfragen. Durch diese Integration können Sie Ihre Oracle-Daten direkt in der Looker-Plattform verwenden, um Ihre Analyse- und Betriebsanforderungen zu erfüllen.

Netzwerk-Datenverkehr verschlüsseln

Es empfiehlt sich, den Netzwerkverkehr zwischen Looker-Anwendung und Datenbank zu verschlüsseln. Prüfen Sie eine der Optionen, die auf der Dokumentationsseite Sicheren Datenbankzugriff ermöglichen beschrieben werden.

Wenn Sie an der Verwendung von SSL-Verschlüsselung interessiert sind, informieren Sie sich in der Dokumentation zu Oracle.

Looker-Nutzer erstellen

Erstellen Sie zuerst einen bestimmten Looker-Nutzer:

-- connect / as sysdba;
CREATE USER LOOKER IDENTIFIED BY <password>
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;

Als Nächstes weisen Sie dem neuen Looker-Nutzer die Berechtigung zu, Sitzungen zu erstellen:

GRANT CREATE SESSION TO LOOKER;

Erteilen Sie dem Looker-Nutzer schließlich die entsprechenden SELECT-Berechtigungen für die Datentabellen, auf die Sie über Looker zugreifen möchten. Wenn Sie in Zukunft auf weitere Tabellen zugreifen möchten, müssen Sie SELECT auch für diese neuen Tabellen gewähren.

GRANT SELECT ON -- <all tables that will be used by looker>;

Dafür sorgen, dass Looker alle Tabellen sehen kann

Looker kann Tabellen (insbesondere leere Tabellen) möglicherweise nicht identifizieren, ohne zuerst Statistiken in Oracle zu erfassen. Wenn die benötigten Tabellen nicht in der generierten LookML oder in SQL Runner angezeigt werden, führen Sie Folgendes aus:

EXEC DBMS_STATS.GATHER_DATABASE_STATS;

Informationen zu alternativen Methoden finden Sie in der Oracle-Dokumentation.

Hauptdatenbankobjekte einrichten

Ihr Oracle-DBA muss die folgenden Objekte und Berechtigungen in Oracle einrichten. Mit den folgenden Befehlen werden LOOKER_SESSION und LOOKER_SQL als Synonyme für V$SESSION und V$SQL erstellt.

Führen Sie die folgenden Befehle als Root-Nutzer aus, um die Einrichtung abzuschließen. In diesen Beispielen wird davon ausgegangen, dass der Name des Looker-Nutzers LOOKER ist.

CREATE OR REPLACE VIEW LOOKER_SQL
AS
  SELECT
    sql.SQL_ID,
    sql.SQL_TEXT
  FROM
    V$SQL sql,
    v$session sess
  WHERE
    sess.SQL_ADDRESS = sql.ADDRESS AND
    sess.username='LOOKER';

CREATE OR REPLACE SYNONYM LOOKER.LOOKER_SQL FOR LOOKER_SQL;

GRANT SELECT ON LOOKER.LOOKER_SQL TO LOOKER;

-- Pay special attention to the following comments:
-- the following view will be different for clustered Oracle deployments
CREATE OR REPLACE VIEW LOOKER_SESSION
AS
  SELECT
    SID,
    USERNAME,
    TYPE,
    STATUS,
    SQL_ID,
    -- If using a single node Oracle deployment
    "SERIAL#",
    -- If using a clustered Oracle deployment, like Oracle Real Application Clusters
    (SERIAL# || ',' || INST_ID) AS "SERIAL#",
    AUDSID
  -- If using a single node Oracle deployment
  FROM V$SESSION
  -- If using a clustered Oracle deployment, like Oracle Real Application Clusters
  FROM GV$SESSION
  WHERE
    USERNAME='LOOKER';

CREATE OR REPLACE SYNONYM LOOKER.LOOKER_SESSION FOR LOOKER_SESSION;

GRANT SELECT ON LOOKER.LOOKER_SESSION TO LOOKER;

Symmetrische Aggregate einrichten

Ihr Oracle-DBA muss die Funktion LOOKER_HASH einrichten, um symmetrische Aggregate zu aktivieren. Die Funktion LOOKER_HASH ist ein Synonym für die Oracle-Funktion dbms_crypto.hash. Der DBA muss auch das zugehörige Synonym und die zugehörigen Berechtigungen erstellen. Bei den folgenden Befehlen wird davon ausgegangen, dass der Name des Looker-Nutzers LOOKER ist:

CREATE OR REPLACE FUNCTION LOOKER_HASH(bytes raw, prec number)
  RETURN raw AS
  BEGIN
    return(dbms_crypto.HASH(bytes, prec));
  END;

CREATE OR REPLACE SYNONYM LOOKER.LOOKER_HASH FOR LOOKER_HASH;

GRANT EXECUTE ON LOOKER.LOOKER_HASH TO LOOKER;

GRANT EXECUTE ON SYS.LOOKER_HASH TO LOOKER;

Persistente abgeleitete Tabellen einrichten

Damit persistente abgeleitete Tabellen verwendet werden können, müssen Sie dem Looker-Nutzer die Berechtigungen UNLIMITED TABLESPACE und CREATE TABLE erteilen. Bei den folgenden Befehlen wird davon ausgegangen, dass der Name des Looker-Nutzers LOOKER ist:

GRANT UNLIMITED TABLESPACE TO LOOKER;
GRANT CREATE TABLE TO LOOKER;

Abfrageabbruch einrichten

Folgen Sie dieser Anleitung, um das Beenden von Abfragen für eine Standard-Oracle-Bereitstellung oder eine Amazon RDS-Bereitstellung zu konfigurieren.

Standardmäßige Oracle-Bereitstellungen

Zum Einrichten des Abfrageabbruchs in Standard-Oracle-Bereitstellungen muss der Oracle-DBA die Prozedur LOOKER_KILL_QUERY als Synonym für ALTER SYSTEM KILL SESSION erstellen. Führen Sie dazu folgenden Befehl aus:

CREATE OR REPLACE PROCEDURE LOOKER_KILL_QUERY(p_sid in varchar2,
                                              p_serial# in varchar2)
IS
  cursor_name pls_integer default dbms_sql.open_cursor;
  ignore pls_integer;

BEGIN
  SELECT
    COUNT(*) INTO ignore
  -- If using a single node Oracle deployment
  FROM V$SESSION
  -- If using a clustered Oracle deployment, like Oracle Real Application Clusters
  FROM GV$SESSION
  WHERE
    username = USER
    AND sid = p_sid
    -- If using a single node Oracle deployment
    AND serial# = p_serial#;
    -- If using a clustered Oracle deployment, like Oracle Real Application Clusters
    AND (SERIAL# || ',' || INST_ID) = p_serial#;

  IF (ignore = 1)
  THEN
    dbms_sql.parse(cursor_name,
                   'ALTER SYSTEM KILL SESSION '''
                   || p_sid || ',' || p_serial# || '''',
                   dbms_sql.native);
    ignore := dbms_sql.execute(cursor_name);
  ELSE
    raise_application_error(-20001,
                            'You do not own session ''' ||
                            p_sid || ',' || p_serial# ||
                            '''');
  END IF;
END;

Der Datenbankadministrator muss außerdem die folgenden zugehörigen Befehle ausführen:

CREATE OR REPLACE SYNONYM LOOKER.LOOKER_KILL_QUERY FOR SYS.LOOKER_KILL_QUERY;
GRANT EXECUTE ON SYS.LOOKER_KILL_QUERY TO LOOKER;

Amazon RDS-Bereitstellungen

In Amazon RDS Oracle-Bereitstellungen wird die Prozedur rdsadmin.rdsadmin_util.kill verwendet, um Abfragen zu beenden. Damit dieses Verfahren verwendet werden kann, muss dem Looker-Datenbanknutzer die Rolle DBA zugewiesen sein.

Führen Sie den folgenden Befehl aus, um dem Looker-Datenbanknutzer die Möglichkeit zu geben, Abfragen zu beenden:

GRANT DBA TO LOOKER;

Looker-Verbindung zu Ihrer Datenbank erstellen

Wählen Sie in Looker im Bereich Admin die Option Verbindungen aus und klicken Sie dann auf Verbindung hinzufügen.

Geben Sie die Verbindungsdetails ein. Der Großteil der Einstellungen ist für die meisten Datenbankdialekte gleich. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden. Die folgenden Einstellungen gelten speziell für Oracle:

  • Name: Geben Sie den Namen der Verbindung an. Dies ist die Art und Weise, auf die in LookML-Projekten auf die Verbindung verwiesen wird.
  • Dialekt: Oracle.
  • TNS verwenden: Aktivieren Sie TNS-Verbindungen (Transparent Network Substrate).
  • Host: Hostname oder TNS-Alias.
  • Port: Datenbankport.
  • Datenbank: Datenbankname (wenn TNS nicht verwendet wird).
  • Dienstname: Dienstname (bei Verwendung von TNS).
  • Nutzername: Datenbanknutzername oder Temporäre Datenbank, wenn PDTs aktiviert sind.
  • Passwort: Passwort des Datenbanknutzers.
  • PDTs aktivieren: Mit dieser Option können Sie persistente abgeleitete Tabellen aktivieren. Wenn PDTs aktiviert sind, werden im Fenster Verbindung zusätzliche PDT-Einstellungen und der Abschnitt PDT-Überschreibungen angezeigt.
  • Temporäre Datenbank: In Oracle ist ein Nutzer ein Schema. Daher sollte dies als Name des Datenbanknutzers angegeben werden. In diesem Beispiel würden Sie den Wert LOOKER für das temporäre Schema verwenden.
  • Max. Anzahl der Verbindungen für PDT-Generator: Geben Sie die Anzahl der möglichen gleichzeitigen PDT-Builds für diese Verbindung an. Wenn Sie diesen Wert zu hoch festlegen, kann sich das negativ auf die Abfragezeiten auswirken. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
  • Zusätzliche JDBC-Parameter: Lassen Sie dieses Feld leer, da Oracle keine zusätzlichen JDBC-Parameter unterstützt.
  • Wartungszeitplan: Ein cron-Ausdruck, der angibt, wann Looker Datengruppen und persistente abgeleitete Tabellen prüfen soll. Weitere Informationen zu dieser Einstellung finden Sie in der Dokumentation zum Wartungszeitplan.
  • SSL: Klicken Sie hier, um SSL-Verbindungen zu verwenden.
  • SSL überprüfen: Ignorieren Sie dieses Feld. Oracle verwendet den Standard-Java-Truststore, um SSL zu prüfen.
  • Max. Verbindungen pro Knoten: Diese Einstellung kann zunächst auf dem Standardwert belassen werden. Weitere Informationen zu dieser Einstellung finden Sie im Abschnitt Max. Verbindungen pro Knoten auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
  • Zeitlimit für Verbindungspool: Diese Einstellung kann zunächst auf dem Standardwert belassen werden. Weitere Informationen zu dieser Einstellung finden Sie im Abschnitt Zeitüberschreitung für Verbindungspool auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
  • SQL-Runner-Precache: Deaktivieren Sie diese Option, damit SQL-Runner Tabelleninformationen nicht vorab lädt, sondern nur bei Auswahl einer Tabelle. Weitere Informationen zu dieser Einstellung finden Sie im Abschnitt SQL Runner Precache auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
  • Zeitzone der Datenbank: Geben Sie die in der Datenbank verwendete Zeitzone an. Lassen Sie dieses Feld leer, wenn Sie keine Zeitzonenumrechnung wünschen. Weitere Informationen dazu finden Sie auf der Dokumentationsseite Zeitzoneneinstellungen verwenden.

Klicken Sie unten auf der Seite Verbindungseinstellungen im Bereich Statusdetails auf den Button Verbindung testen, um zu prüfen, ob die Verbindung erfolgreich hergestellt wurde.

Wenn Looker Can Connect anzeigt, klicken Sie auf Connect, um die Verbindung zu erstellen.

Ihre Datenbankverbindung wird dann der Liste auf der Looker-Seite Verbindungen Verwaltung hinzugefügt.

Funktionsunterstützung

Damit Looker einige Funktionen unterstützen kann, müssen diese auch von Ihrem Datenbankdialekt unterstützt werden.

Oracle unterstützt ab Looker 26.22 die folgenden Funktionen:

Funktion Unterstützt?
Looker (Google Cloud Core)
Symmetrische Aggregate
Abgeleitete Tabellen
Persistente abgeleitete SQL-Tabellen
Persistente, native abgeleitete Tabellen
Stabile Ansichten
Abfrageeabruch
SQL-basierte Pivots
Zeitzonen
SSL
Zwischensummen
Zusätzliche JDBC-Parameter
Groß-/Kleinschreibung beachten
Standorttyp
Listentyp
Perzentil
Perzentil der unterschiedlichen Werte
SQL-Runner-Befehl – Prozesse anzeigen
SQL-Runner-Funktion – Tabelle beschreiben
SQL Runner-Befehl – Indexe anzeigen
SQL-Runner – 10 auswählen
SQL-Runner – Anzahl
SQL – Erklären
OAuth 2.0-Anmeldedaten
Kontextkommentare
Verbindungs-Pooling
HLL-Skizzen
Aggregate Awareness
Inkrementelle PDTs
Millisekunden
Mikrosekunden
Materialisierte Ansichten
Vergleich zum vorherigen Zeitraum
Ungefähre Anzahl einzelner Aufrufe
In-Database-Analysemodelle
Benutzerdefinierte Kalender