Oracle

Netzwerk-Datenverkehr verschlüsseln

Es empfiehlt sich, den Netzwerkverkehr zwischen der Looker-Anwendung und Ihrer Datenbank zu verschlüsseln. Sehen Sie sich eine der Optionen an, die auf der Dokumentationsseite Sicheren Datenbankzugriff aktivieren beschrieben werden.

Wenn Sie sich für die SSL-Verschlüsselung interessieren, lesen Sie die Oracle-Dokumentation.

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;

Geben Sie dem neuen Looker-Benutzer als Nächstes die Möglichkeit, Sitzungen zu erstellen:

GRANT CREATE SESSION TO LOOKER;

Gewähren 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 zusätzliche Tabellen zugreifen möchten, müssen Sie auch für diese neuen Tabellen SELECT zuweisen.

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

Dafür sorgen, dass Looker alle Tabellen sehen kann

Dafür sorgen, dass Looker alle Tabellen sehen kann

Looker ist möglicherweise nicht in der Lage, Tabellen (insbesondere leere Tabellen) zu identifizieren, ohne zuvor Statistiken in Oracle zu erfassen. Wenn die benötigten Tabellen nicht in generierten LookML- oder SQL-Runnern angezeigt werden, versuchen Sie, Folgendes auszuführen:

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 als Root-Nutzer die folgenden Befehle aus, um die Einrichtung abzuschließen. In diesen Beispielen wird davon ausgegangen, dass der Name des Looker-Nutzers LOOKER lautet.

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 comments below:
-- 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 Summen einrichten

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

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;

Abhängig von Ihrer Oracle-Datenbankkonfiguration kann das Präfix SYS SYSDBA, ADMIN oder nicht erforderlich sein.

Persistente abgeleitete Tabellen einrichten

Erteilen Sie dem Looker-Nutzer die Berechtigungen UNLIMITED TABLESPACE und CREATE TABLE, um nichtflüchtige abgeleitete Tabellen zu aktivieren. Bei den folgenden Befehlen wird davon ausgegangen, dass der Name des Looker-Nutzers LOOKER lautet:

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

Löschung von Abfragen einrichten

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

Standard-Oracle-Bereitstellungen

Zum Einrichten des das Beendens von Abfragen in Oracle-Standardbereitstellungen muss der Oracle DBA die Prozedur LOOKER_KILL_QUERY als Synonym für ALTER SYSTEM KILL SESSION erstellen. Führen Sie dazu den 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 DBA 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;

Abhängig von Ihrer Oracle-Datenbankkonfiguration kann das Präfix SYS SYSDBA, ADMIN oder nicht erforderlich sein.

Amazon RDS-Bereitstellungen

In Amazon RDS Oracle-Bereitstellungen wird das Verfahren rdsadmin.rdsadmin_util.kill zum Beenden von Abfragen verwendet. Um dieses Verfahren verwenden zu können, muss dem Looker-Datenbanknutzer die Rolle DBA zugewiesen sein.

Da es sich bei DBA um eine Datenbankrolle mit erhöhten Berechtigungen handelt, können Sie diesen Schritt und das Beenden von Abfragen in Looker überspringen.

Führen Sie den folgenden Befehl aus, um dem Looker-Datenbankbenutzer die Möglichkeit zum Beenden von Abfragen zu geben:

GRANT DBA TO LOOKER;

Looker-Verbindung zu Ihrer Datenbank erstellen

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

Geben Sie die Verbindungsdetails ein. Die meisten Einstellungen sind den meisten Datenbankdialekten gemeinsam. 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. So verweisen Sie in LookML-Projekten auf die Verbindung.
  • Dialekt: Oracle.
  • TNS verwenden: Aktivieren Sie TNS-Verbindungen (Transparent Network Substrate).
  • Host: Hostname oder TNS-Alias
  • Port: Datenbankport.
  • Datenbank: Datenbankname (wenn nicht TNS verwendet wird).
  • Dienstname: Dienstname (bei Verwendung von TNS).
  • Nutzername: Nutzername der Datenbank oder Temporäre Datenbank, wenn PATs aktiviert sind.
  • Passwort: Passwort des Datenbanknutzers.
  • PDTs aktivieren: Verwenden Sie diese Ein/Aus-Schaltfläche, um nichtflüchtige abgeleitete Tabellen zu aktivieren. Wenn PATs aktiviert sind, werden im Fenster Verbindung zusätzliche PAT-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 temporären Schemawert LOOKER verwenden.
  • Maximale Anzahl von PAT-Builder-Verbindungen: Geben Sie die Anzahl der möglichen gleichzeitigen PAT-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 für Datengruppe und PAT: 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 Wartungsplan für Datengruppen und PATs.
  • SSL: Aktivieren Sie diese Option, um SSL-Verbindungen zu verwenden.
  • SSL überprüfen: Ignorieren Sie dieses Feld. Oracle verwendet zur Überprüfung von SSL den Standard-Java Truststore.
  • Max. Verbindungen pro Knoten: Diese Einstellung kann anfangs auf dem Standardwert belassen werden. Weitere Informationen zu dieser Einstellung finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden im Abschnitt Max. Verbindungen pro Knoten.
  • Zeitüberschreitung beim Verbindungspool: Diese Einstellung kann anfangs auf dem Standardwert belassen werden. Weitere Informationen zu dieser Einstellung finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden im Abschnitt Zeitüberschreitung beim Verbindungspool.
  • SQL Runner Precache: Deaktivieren Sie diese Option, damit SQL Runner Tabelleninformationen nicht vorab lädt, sondern nur dann, wenn eine Tabelle ausgewählt ist. Weitere Informationen zu dieser Einstellung finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden im Abschnitt SQL Runner Precache.
  • Datenbank-Zeitzone: Geben Sie die in der Datenbank verwendete Zeitzone an. Lassen Sie dieses Feld leer, wenn Sie die Zeitzone nicht umwandeln möchten. Weitere Informationen finden Sie auf der Dokumentationsseite Zeitzoneneinstellungen verwenden.

Klicken Sie auf Testen, um zu prüfen, ob die Verbindung erfolgreich hergestellt wurde. Informationen zur Fehlerbehebung finden Sie auf der Dokumentationsseite Datenbankkonnektivität testen.

Klicken Sie auf Verbinden, um diese Einstellungen zu speichern. Wählen Sie im Bereich Admin von Looker die Option Verbindungen aus und klicken Sie dann auf Verbindung hinzufügen.

Unterstützte Funktionen

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

Oracle unterstützt ab Looker 24.6 die folgenden Funktionen:

Funktion Unterstützt?
Supportstufe
Unterstützt
Looker (Google Cloud Core)
Ja
Symmetrische Summen
Ja
Abgeleitete Tabellen
Ja
Abgeleitete SQL-Tabellen
Ja
Nichtflüchtige native abgeleitete Tabellen
Ja
Stabile Ansichten
Ja
Abfrage beenden
Ja
SQL-basierte Pivots
Ja
Zeitzonen
Ja
SSL
Ja
Zwischensummen
Ja
Zusätzliche JDBC-Parameter
Nein
Groß-/Kleinschreibung beachten
Ja
Standorttyp
Ja
Listentyp
Ja
Perzentil
Ja
Unterschiedliche Perzentile
Nein
SQL-Runner-Show-Prozesse
Ja
SQL-Runner – Tabelle beschreiben
Ja
SQL Runner – Indexe anzeigen
Ja
SQL Runner Select 10
Ja
Anzahl der SQL-Runner
Ja
SQL erklären
Nein
OAuth-Anmeldedaten
Nein
Kontextkommentare
Ja
Verbindungs-Pooling
Nein
HLL-Skizzen
Nein
Aggregatfunktion
Ja
Inkrementelle PDTs
Nein
Millisekunden
Ja
Mikrosekunden
Ja
Materialisierte Ansicht
Nein
Ungefähre Anzahl unterschiedlich
Nein