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 an der Verwendung von SSL-Verschlüsselung interessiert sind, lesen Sie die Oracle-Dokumentation.
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>;
Dafür sorgen, dass Looker alle Tabellen sehen kann
Sicherstellen, 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 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='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 Summen einrichten
Ihr Oracle-Datenbankadministrator 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
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
Erteilen Sie dem Looker-Nutzer die Berechtigungen UNLIMITED TABLESPACE
und CREATE TABLE
, um persistente 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;
Abfragen beenden
Folgen Sie dieser Anleitung, um das Beenden von Abfragen für eine Standard-Oracle-Bereitstellung oder eine Amazon RDS-Bereitstellung zu konfigurieren.
Standard-Oracle-Deployments
Um das Beenden von Abfragen in Standard-Oracle-Implementierungen einzurichten, muss der Oracle-Datenbankadministrator 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 DBA muss außerdem die folgenden 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;
Je nach Konfiguration Ihrer Oracle-Datenbank kann das Präfix
SYS
SYSDBA
,ADMIN
oder unnötig sein.
Amazon RDS-Bereitstellungen
In Amazon RDS Oracle-Bereitstellungen wird die Prozedur rdsadmin.rdsadmin_util.kill
verwendet, um Abfragen zu beenden. Für dieses Verfahren muss dem Looker-Datenbanknutzer die Rolle DBA
zugewiesen sein.
Da DBA eine erhöhte Datenbankrolle ist, sollten Sie diesen Schritt überspringen und auf das Beenden von Abfragen in Looker verzichten.
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 Verwaltung die Option Verbindungen und dann Verbindung hinzufügen aus.
Geben Sie die Verbindungsdetails ein. Der Großteil der Einstellungen gilt für die meisten Datenbankdialekte. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden. Die folgenden Einstellungen gelten nur für Oracle:
- Name: Geben Sie den Namen der Verbindung an. So wird in LookML-Projekten auf die Verbindung verwiesen.
- Dialekt: Oracle.
- TNS verwenden: Aktivieren Sie TNS-Verbindungen (Transparent Network Substrate).
- Host: Hostname oder TNS-Alias.
- Port: Datenbankport.
- Datenbank: Datenbankname (falls keine TNS-Verbindung verwendet wird)
- Dienstname: Dienstname (bei Verwendung von TNS)
- Nutzername: Datenbanknutzername oder Temporäre Datenbank, wenn PDTs aktiviert sind.
- Password (Passwort): Passwort des Datenbanknutzers
- PDTs aktivieren: Mit dieser Ein/Aus-Schaltfläche können Sie persistente abgeleitete Tabellen aktivieren. Wenn PDTs aktiviert sind, werden im Fenster Verbindung zusätzliche PDT-Einstellungen und der Bereich PDT-Überschreibungen angezeigt.
- Temporäre Datenbank: In Oracle ist ein Nutzer ein Schema. Geben Sie daher den Namen des Datenbanknutzers an. In diesem Beispiel würden Sie den temporären Schemawert
LOOKER
verwenden. - Maximale Anzahl von PDT-Builder-Verbindungen: 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 für Datengruppe und PAT: Ein
cron
-Ausdruck, der angibt, wann Looker Datengruppen und persistente abgeleitete Tabellen prüfen sollte. Weitere Informationen zu dieser Einstellung finden Sie in der Dokumentation Wartungszeitplan für Datengruppe und PAT. - SSL: Aktivieren Sie SSL-Verbindungen.
- SSL überprüfen: Ignorieren Sie dieses Feld. Oracle verwendet den Standard-Java-Truststore, um SSL zu prüfen.
- Maximale Verbindungen pro Knoten: Diese Einstellung kann anfangs auf dem Standardwert belassen werden. Weitere Informationen zu dieser Einstellung finden Sie auf der Seite Looker mit Ihrer Datenbank verbinden im Abschnitt Maximale Verbindungen pro Knoten.
- Zeitlimit für den Verbindungspool: Diese Einstellung kann anfangs auf dem Standardwert belassen werden. Weitere Informationen zu dieser Einstellung finden Sie auf der Seite Looker mit Ihrer Datenbank verbinden im Abschnitt Zeitüberschreitung für Verbindungspool.
- 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 auf der Seite Verbindung von Looker mit Ihrer Datenbank herstellen im Abschnitt SQL Runner Precache.
- Datenbankzeitzone: Geben Sie die Zeitzone an, die in der Datenbank verwendet wird. Lassen Sie dieses Feld leer, wenn keine Zeitzonenkonvertierung erfolgen soll. 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 in Looker im Bereich Verwaltung die Option Verbindungen und dann Verbindung hinzufügen aus.
Funktionsunterstützung
Damit Looker einige Funktionen unterstützen kann, müssen diese auch von Ihrem Datenbankdialekt unterstützt werden.
Oracle unterstützt ab Looker 24.16 die folgenden Funktionen:
Funktion | Unterstützt? |
---|---|
Supportstufe | Unterstützt |
Looker (Google Cloud Core) | Ja |
Symmetrische Summen | Ja |
Abgeleitete Tabellen | Ja |
Persistente SQL-abgeleitete 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 |
Unterschiedliches Perzentil | Nein |
SQL Runner – Prozesse anzeigen | Ja |
SQL Runner – Tabelle beschreiben | Ja |
SQL Runner-Indexe für Serien | Ja |
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 |