ל-Looker יש תמיכה ברמת השילוב ב-Oracle ADWC. בדף הזה מוסבר איך לחבר את Looker ל-Oracle ADWC.
הצפנת התנועה ברשת
מומלץ להצפין את התנועה ברשת בין אפליקציית Looker לבין מסד הנתונים. כדאי לשקול אחת מהאפשרויות שמתוארות בדף התיעוד הפעלת גישה מאובטחת למסד נתונים.
הגדרת המארח של Looker לחיבורים
כל החיבורים ל-Oracle ADWC דורשים אימות SSL ואימות אישורים. כדי ש-Looker יתחבר למכונה של Oracle ADWC, צריך להוריד את קובצי Oracle wallet ולהתקין אותם בשרת Looker. אם אתם משתמשים ב-Looker באירוח בצד הלקוח, תצטרכו אדמין עם גישה לשרת Looker כדי לעשות את זה. אם אתם משתמשים ב-Looker באירוח, פנו לתמיכה של Looker.
כדי להתקין את ארנק Oracle בשרת Looker:
מורידים את Oracle Wallet למחשב המקומי. יווצר קובץ ZIP בשם
Wallet_databasename.zipאו שם דומה.בשרת Looker, יוצרים ספרייה שתכיל את קובץ ה-ZIP של הארנק:
mkdir /home/looker/looker/credentialsמעתיקים את קובץ ה-ZIP של הארנק מהמחשב המקומי לשרת Looker. בדוגמה הזו משתמשים ב-
scpוממקמים את הקובץ ב-/home/looker/looker/credentials:scp Wallet_databasename.zip username@remotehost:/home/looker/looker/credentialsמחלצים את קובץ ה-ZIP של הארנק. בדוגמה הזו משתמשים בפקודה
unzip:cd /home/looker/looker/credentials unzip Wallet_databasename.zipמאמתים את התוכן של הארנק באמצעות הפקודה
ls. אלה הקבצים שצריכים להיות לכם:ls cwallet.sso keystore.jks sqlnet.ora truststore.jks ewallet.p12 ojdbc.properties tnsnames.oraLooker מתחבר ל-Oracle ADWC באמצעות Oracle Wallets עם JDBC Thin Driver 18.3. לשם כך, תצטרכו את הכינוי של Transparent Network Substrate (TNS) של רמת השירות Oracle ADWC עבור מסד הנתונים ואת הנתיב לקבצי הארנק של Oracle.
כדי לקבל את הכינוי TNS של מסד הנתונים, מריצים את הפקודה הבאה:
cat tnsnames.oraיהיו שלושה כינויים של TNS שאפשר לבחור מביניהם:
dbname_high,dbname_mediumו-dbname_low. הכתובות האלה תואמות לרמות שירות שונות. הקובץ הזה כולל את הפרוטוקול, המארח, היציאה, שם השירות ופרטי ה-SSL. בדוגמה הזו נשתמש ב-dbname_medium.
יצירת משתמש Looker
קודם כול, יוצרים משתמש ייעודי ב-Looker:
-- connect / as sysdba;
CREATE USER LOOKER IDENTIFIED BY <password>
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
בשלב הבא, נותנים למשתמש החדש ב-Looker את היכולת ליצור סשנים:
GRANT CREATE SESSION TO LOOKER;
לבסוף, נותנים למשתמש Looker את ההרשאות המתאימות SELECT לטבלאות הנתונים שרוצים לגשת אליהן מ-Looker. אם תרצו לגשת לטבלאות נוספות בעתיד, תצטרכו לתת ל-SELECT הרשאות גם בטבלאות החדשות האלה.
GRANT SELECT ON -- <all tables that will be used by looker>;
איך לוודא ש-Looker יכול לראות את כל הטבלאות
יכול להיות ש-Looker לא יוכל לזהות טבלאות (במיוחד טבלאות ריקות) בלי לאסוף קודם נתונים סטטיסטיים ב-Oracle. אם הטבלאות שאתם צריכים לא מופיעות ב-LookML שנוצר או ב-SQL Runner, הריצו את הפקודה הבאה:
EXEC DBMS_STATS.GATHER_DATABASE_STATS;
לשיטות חלופיות, אפשר לעיין במסמכי התיעוד של Oracle.
הגדרת האובייקטים הראשיים של מסד הנתונים
מנהל מסד הנתונים של Oracle צריך להגדיר את האובייקטים וההרשאות הבאים ב-Oracle. הפקודות הבאות יוצרות את LOOKER_SESSION ו-LOOKER_SQL כמילים נרדפות ל-V$SESSION ול-V$SQL.
כדי להשלים את ההגדרה, מריצים את הפקודות הבאות כמשתמש Root. בדוגמאות האלה, שם המשתמש ב-Looker הוא LOOKER.
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:
-- 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='LOOKER';
CREATE OR REPLACE SYNONYM LOOKER.LOOKER_SESSION FOR LOOKER_SESSION;
GRANT SELECT ON LOOKER.LOOKER_SESSION TO LOOKER;
הגדרת צבירה סימטרית
מנהל מסד הנתונים של Oracle צריך להגדיר את הפונקציה LOOKER_HASH כדי להפעיל צבירה סימטרית. הפונקציה LOOKER_HASH היא שם נרדף לפונקציה dbms_crypto.hash של Oracle. בנוסף, מנהל מסד הנתונים צריך ליצור את המילה הנרדפת וההרשאות המשויכות. בדוגמה הבאה, שם המשתמש ב-Looker הוא LOOKER:
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;
בהתאם להגדרות של מסד הנתונים של Oracle, יכול להיות שהקידומת
SYSתהיהSYSDBA,ADMINאו לא נחוצה.
הגדרה של טבלאות נגזרות מתמידות (PDT)
כדי להפעיל טבלאות נגזרות מתמידות, צריך לתת למשתמש ב-Looker את ההרשאות UNLIMITED TABLESPACE ו-CREATE TABLE. הפקודות הבאות מבוססות על ההנחה ששם המשתמש ב-Looker הוא LOOKER:
GRANT UNLIMITED TABLESPACE TO LOOKER;
GRANT CREATE TABLE TO LOOKER;
הגדרת ביטול שאילתות
כדי להגדיר סגירת שאילתות, מנהל מסד הנתונים של Oracle צריך ליצור את הפרוצדורה LOOKER_KILL_QUERY כמילה נרדפת של ALTER SYSTEM KILL SESSION. כדי לעשות את זה, מריצים את הפקודה הבאה:
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,
'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;
מנהל מסד הנתונים יצטרך גם להריץ את הפקודות הקשורות הבאות:
CREATE OR REPLACE SYNONYM LOOKER.LOOKER_KILL_QUERY FOR SYS.LOOKER_KILL_QUERY;
GRANT EXECUTE ON SYS.LOOKER_KILL_QUERY TO LOOKER;
בהתאם להגדרות של מסד הנתונים של Oracle, יכול להיות שהקידומת
SYSתהיהSYSDBA,ADMINאו מיותרת.
יצירת החיבור של Looker למסד הנתונים
כדי ליצור את החיבור בין Looker למסד הנתונים:
- בקטע Admin ב-Looker, בוחרים באפשרות Connections ולוחצים על Add Connection.
ממלאים את פרטי החיבור. רוב ההגדרות משותפות לרוב הניבים של מסדי הנתונים. מידע נוסף זמין בדף התיעוד קישור Looker למסד הנתונים. ההגדרות הבאות ספציפיות ל-Oracle ADWC:
- Dialect: Oracle ADWC.
- Use TNS: הפעלת חיבורי Transparent Network Substrate (TNS).
- מארח: שם המארח או כינוי TNS. בדוגמה הזו,
dbname_medium. - Port: משאירים את ערך ברירת המחדל. Looker ימצא את היציאה מהקובץ
tnsnames.ora. - Service Name: משאירים את השדה ריק. Looker ימצא את שם השירות בקובץ
tnsnames.ora. - Username: שם המשתמש של מסד הנתונים או Temp Database אם טבלאות PDT מופעלות.
- סיסמה: סיסמת המשתמש של מסד הנתונים.
- הפעלת טבלאות נגזרות מתמידות (PDT): המתג הזה משמש להפעלת טבלאות נגזרות מתמידות (PDT). כשהטבלאות הנגזרות הקבועות מופעלות, בחלון Connection מופיעות הגדרות נוספות של טבלאות נגזרות קבועות והקטע PDT Overrides.
- Temp Database: ב-Oracle, משתמש הוא סכימה, ולכן צריך לציין את זה כשם של משתמש מסד הנתונים. בדוגמה הזו, משתמשים בערך הסכימה הזמני
LOOKER. - פרמטרים נוספים של JDBC: משאירים את השדה הזה ריק, כי Oracle לא תומכת בפרמטרים נוספים של JDBC.
- SSL ו-Verify SSL: אפשר להתעלם מהשדות האלה. Looker תמיד ישתמש ב-SSL עם Oracle ADWC.
כדי לוודא שהחיבור בוצע בהצלחה, לוחצים על הלחצן בדיקת החיבור בקטע פרטי הסטטוס בחלק התחתון של הדף הגדרות החיבורים.
אם ב-Looker מוצגת ההודעה Can Connect, לוחצים על Connect כדי ליצור את החיבור.
החיבור למסד הנתונים יתווסף לרשימה בדף Admin (ניהול) בקטע Connections (חיבורים) ב-Looker.
תמיכה בתכונות
כדי ש-Looker יתמוך בתכונות מסוימות, גם הניב של מסד הנתונים צריך לתמוך בהן.
החל מגרסה 26.20 של Looker, Oracle ADWC תומך בתכונות הבאות:
| תכונה | יש תמיכה? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| ביטול שאילתות | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סיכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| מאון ייחודי | |
| הצגת תהליכים ב-SQL Runner | |
| SQL Runner Describe Table | |
| הצגת אינדקסים ב-SQL Runner | |
| SQL Runner Select 10 | |
| ספירת SQL Runner | |
| הסבר על SQL | |
| פרטי כניסה של OAuth 2.0 | |
| תגובות להוספת הקשר | |
| איגום חיבורים | |
| סקיצות HLL | |
| מודעות מצטברת | |
| טבלאות PDT מצטברות | |
| אלפיות השנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים להשוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים של ניתוח נתונים במסד הנתונים | |
| יומנים בהתאמה אישית |