Oracle Autonomous Data Warehouse in der Cloud

Netzwerk-Datenverkehr verschlüsseln

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

Looker-Host für Verbindungen einrichten

Alle Oracle ADWC-Verbindungen erfordern SSL- und Zertifikatauthentifizierung. Damit Looker eine Verbindung zu Ihrer Oracle ADWC-Instanz herstellen kann, müssen Sie die Oracle-Wallet-Dateien herunterladen und auf dem Looker-Server installieren. Wenn Sie ein vom Kunden gehosteter Looker-Nutzer sind, benötigen Sie dazu einen Systemadministrator mit Zugriff auf den Looker-Server. Wenn Sie von Looker gehostet werden, wenden Sie sich an den Looker-Support.

So installieren Sie Ihr Oracle Wallet auf dem Looker-Server:

  1. Laden Sie Ihr Oracle Wallet auf Ihren lokalen Computer herunter. Sie erhalten eine ZIP-Datei mit einem Namen wie Wallet_databasename.zip.

  2. Erstellen Sie auf dem Looker-Server ein Verzeichnis für die ZIP-Datei mit der Wallet:

    mkdir /home/looker/looker/credentials
    
  3. Kopieren Sie die Wallet-ZIP-Datei von Ihrem lokalen Computer auf den Looker-Server. In diesem Beispiel wird scp verwendet und die Datei wird in /home/looker/looker/credentials abgelegt:

    scp Wallet_databasename.zip username@remotehost:/home/looker/looker/credentials
    
  4. Entpacken Sie die ZIP-Datei des Wallets. In diesem Beispiel wird der Befehl unzip verwendet:

    cd /home/looker/looker/credentials
    unzip Wallet_databasename.zip
    
  5. Prüf den Inhalt des Wallets mit dem Befehl ls. Sie sollten folgende Dateien haben:

     ls
    
     cwallet.sso  keystore.jks      sqlnet.ora    truststore.jks
     ewallet.p12  ojdbc.properties  tnsnames.ora
    

    Looker stellt über Oracle-Wallets mit dem JDBC Thin Driver 18.3 eine Verbindung zum Oracle ADWC her. Dazu benötigen Sie den TNS-Alias (Transparent Network Substrate) der Oracle ADWC-Dienstebene für Ihre Datenbank und den Pfad zu Ihren Oracle-Wallet-Dateien.

  6. Führen Sie den folgenden Befehl aus, um den TNS-Alias Ihrer Datenbank abzurufen:

    cat tnsnames.ora
    

    Sie können aus drei TNS-Aliassen wählen: dbname_high, dbname_medium und dbname_low. Diese Aliasse entsprechen verschiedenen Servicelevels. Diese Datei enthält das Protokoll, den Host, den Port, den Dienstnamen und die SSL-Informationen. In diesem Beispiel verwenden wir dbname_medium.

Looker-Nutzer erstellen

Erstellen Sie zunächst einen designierten Looker-Benutzer:

  -- 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;

Weisen Sie dem Looker-Nutzer schließlich die entsprechenden SELECT-Berechtigungen für die Datentabellen zu, 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>;

Sicherstellen, 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 von Ihnen benötigten Tabellen nicht im generierten LookML-Code oder in SQL Runner angezeigt werden, führen Sie den folgenden Befehl 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 auf 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 diese 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=&apos;LOOKER&apos;;

CREATE OR REPLACE SYNONYM LOOKER.LOOKER_SQL FOR LOOKER_SQL;

GRANT SELECT ON LOOKER.LOOKER_SQL TO LOOKER;

-- Pay special attention to the 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 ADWC deployment
    "SERIAL#",
    -- If using a clustered Oracle ADWC deployment
    (SERIAL# || ',' || INST_ID) AS "SERIAL#",
    AUDSID
  -- If using a single node Oracle ADWC deployment
  FROM V$SESSION
  -- If using a clustered Oracle ADWC deployment
  FROM GV$SESSION
  WHERE
    USERNAME=&apos;LOOKER&apos;;

CREATE OR REPLACE SYNONYM LOOKER.LOOKER_SESSION FOR LOOKER_SESSION;

GRANT SELECT ON LOOKER.LOOKER_SESSION TO LOOKER;

Symmetrische Aggregatfunktionen einrichten

Ihr Oracle-DBA muss die LOOKER_HASH-Funktion einrichten, um symmetrische Aggregatfunktionen 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. Im folgenden Beispiel 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;

Je nach Konfiguration Ihrer Oracle-Datenbank kann das Präfix SYS SYSDBA, ADMIN oder unnötig sein.

Persistente abgeleitete Tabellen einrichten

Wenn Sie persistente abgeleitete Tabellen aktivieren möchten, erteilen Sie dem Looker-Nutzer die Berechtigungen UNLIMITED TABLESPACE und CREATE TABLE. 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;

Abfragen beenden

Um das Beenden von Abfragen einzurichten, muss der Oracle-Datenbankadministrator 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 ADWC deployment
  FROM V$SESSION
  -- If using a clustered Oracle ADWC deployment
  FROM GV$SESSION
  WHERE
    username = USER
    AND sid = p_sid
    -- If using a single node Oracle ADWC deployment
    AND serial# = p_serial#;
    -- If using a clustered Oracle ADWC deployment
    AND (SERIAL# || ',' || INST_ID) = p_serial#;

  IF (ignore = 1)
  THEN
    dbms_sql.parse(cursor_name,
                   &apos;ALTER SYSTEM KILL SESSION &apos;&apos;&apos;
                   || p_sid || &apos;,&apos; || p_serial# || &apos;&apos;&apos;&apos;,
                   dbms_sql.native);
    ignore := dbms_sql.execute(cursor_name);
  ELSE
    raise_application_error(-20001,
                            &apos;You do not own session &apos;&apos;&apos; ||
                            p_sid || &apos;,&apos; || p_serial# ||
                            &apos;&apos;&apos;&apos;);
  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 unnötig sein.

Looker-Verbindung zu Ihrer Datenbank erstellen

So erstellen Sie die Verbindung von Looker zu Ihrer Datenbank:

  1. Wählen Sie in Looker im Bereich Admin die Option Verbindungen aus und klicken Sie dann auf Verbindung hinzufügen.
  2. 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 ADWC:

    • Dialekt: Oracle ADWC.
    • TNS verwenden: Aktivieren Sie TNS-Verbindungen (Transparent Network Substrate).
    • Host: Hostname oder TNS-Alias. In diesem Beispiel: dbname_medium.
    • Port: Lassen Sie die Standardeinstellung unverändert. Looker ermittelt den Port aus der Datei tnsnames.ora.
    • Dienstname: Lassen Sie dieses Feld leer. Looker ermittelt den Dienstnamen aus der Datei tnsnames.ora.
    • Nutzername: Nutzername für die Datenbank oder Temporäre Datenbank, wenn PDTs aktiviert sind.
    • Password (Passwort): Passwort des Datenbanknutzers
    • PDTs aktivieren: Mit dieser Option können Sie persistente abgeleitete Tabellen aktivieren. Wenn PDTs aktiviert sind, werden im Fenster Connection (Verbindung) zusätzliche PDT-Einstellungen und der Bereich PDT Overrides (PDT-Überschreibungen) angezeigt.
    • Temporäre Datenbank: In Oracle ist ein Nutzer ein Schema. Daher sollte dieser Wert als Name des Datenbanknutzers angegeben werden. In diesem Beispiel würden Sie den Wert LOOKER für das Temp-Schema verwenden.
    • Zusätzliche JDBC-Parameter: Der PATH zu Ihrem Oracle-Wallet auf dem Looker-Server. In diesem Beispiel ist das /home/looker/looker/credentials.
    • Bei einer von Looker gehosteten Legacy-Bereitstellung ist dieser Wert /home/lookerops/looker/credentials.
    • Bei einer von Looker gehosteten Bereitstellung im Next-Generation-Hosting ist dieser Wert /app/credentials.
    • SSL und SSL bestätigen: Diese Felder können Sie ignorieren. Looker verwendet bei Oracle ADWC immer SSL.
  3. 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. Wenn Sie auf Testen klicken, erstellt Looker einen JDBC-String wie den folgenden:

    jdbc:oracle:thin:@dbname_medium?TNS_ADMIN=/home/looker/looker/credentials

  4. Klicken Sie auf Verbinden, um diese Einstellungen zu speichern.

Funktionsunterstützung

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

Oracle ADWC unterstützt ab Looker 24.16 die folgenden Funktionen:

Funktion Unterstützt?
Supportstufe
Integration
Looker (Google Cloud Core)
Nein
Symmetrische Summen
Ja
Abgeleitete Tabellen
Ja
Persistente SQL-Abgeleitete Tabellen
Ja
Nichtflüchtige native abgeleitete Tabellen
Ja
Stabile Ansichten
Nein
Anfrage abbrechen
Ja
SQL-basierte Pivot-Tabellen
Ja
Zeitzonen
Ja
SSL
Ja
Zwischensummen
Ja
Zusätzliche JDBC-Parameter
Nein
Groß-/Kleinschreibung beachten
Ja
Standorttyp
Ja
Listentyp
Ja
Perzentil
Ja
Unterschiedliches Perzentil
Nein
SQL Runner-Prozesse anzeigen
Ja
SQL Runner Describe Table
Ja
SQL Runner – Indexe anzeigen
Nein
SQL Runner – Select 10
Ja
Anzahl der SQL Runner
Ja
SQL Explain
Nein
OAuth-Anmeldedaten
Nein
Kontextkommentare
Ja
Verbindungs-Pooling
Nein
HLL-Skizzen
Nein
Aggregatfunktion
Ja
Inkrementelle PDTs
Nein
Millisekunden
Ja
Mikrosekunden
Ja
Materialisierte Ansichten
Nein
Ungefähre Anzahl einzelner
Nein