Oracle

ניתן להגדיר את Looker לנתח נתונים המאוחסנים במסד הנתונים של Oracle. האינטגרציה של Oracle של Looker מספקת חיבור מאובטח, תומכת בטבלאות נגזרות מתמידות (PDTs) ומקלה על סיום שאילתות. באמצעות אינטגרציה זו, תוכלו להשתמש בנתוני Oracle שלכם ישירות בתוך פלטפורמת Looker כדי לתמוך בצורכי הניתוח והתפעול שלכם.

הצפנה של תנועה ברשת

מומלץ להצפין את תעבורת הנתונים ברשת בין אפליקציית Looker לבין מסד הנתונים. כדאי לשקול אחת מהאפשרויות שמתוארות בדף הפעלת גישה מאובטחת למסד נתונים.

אם אתם מעוניינים להשתמש בהצפנת SSL, עיינו בתיעוד של Oracle.

יצירת משתמש 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 לא יוכל לזהות טבלאות (במיוחד טבלאות ריקות) מבלי לאסוף תחילה סטטיסטיקות ב-Oracle. אם הטבלאות הדרושות לך אינן מופיעות ב-LookML או SQL Runner שנוצרו, נסה לבצע:

EXEC DBMS_STATS.GATHER_DATABASE_STATS;

לשיטות חלופיות, עיין בתיעוד של Oracle.

הגדרת אובייקטים ראשיים של מסד נתונים

מנהל ה-DBA של 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 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;

הגדרת צבירות סימטריות

אדמין מסד הנתונים של 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;

הגדרת טבלאות נגזרות מתמידות (PDT)

כדי להפעיל טבלאות נגזרות קבועות, צריך לתת למשתמש Looker את ההרשאות UNLIMITED TABLESPACE ו-CREATE TABLE. הפקודות הבאות מבוססות על ההנחה ששם המשתמש ב-Looker הוא LOOKER:

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

הגדרת השבתה של שאילתות

כדי להגדיר את השבתת השאילתות, פועלים לפי ההוראות האלה להטמעה רגילה של Oracle או להטמעה של Amazon RDS.

פריסות סטנדרטיות של Oracle

כדי להגדיר ביטול של שאילתות בפריסות רגילות של Oracle, מנהל מסד הנתונים של 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 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;

בנוסף, מנהל מסד הנתונים יצטרך להריץ את הפקודות הבאות שקשורות לכך:

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

פריסות RDS של אמזון

בפריסות של Amazon RDS Oracle, ה-rdsadmin.rdsadmin_util.kill הפרוצדורה משמשת להפסקת שאילתות. כדי להשתמש בהליך זה, למשתמש מסד הנתונים Looker יש להקצות את התפקיד DBA.

כדי לתת למשתמש מסד הנתונים Looker יכולות רישום שאילתות, הפעל את הפקודה הבאה:

GRANT DBA TO LOOKER;

יצירת חיבור Looker למסד הנתונים

בקטע ניהול ב-Looker, בוחרים באפשרות חיבורים ואז לוחצים על הוספת חיבור.

ממלאים את פרטי החיבור. רוב ההגדרות משותפות לרוב הניבים של מסדי הנתונים. מידע נוסף זמין בדף חיבור Looker למסד הנתונים. ההגדרות הבאות ספציפיות ל-Oracle:

  • שם: ציין את שם החיבור. כך תתייחסו לחיבור בפרויקטים של LookML.
  • דיאלקט: אורקל.
  • השתמש ב-TNS: הפעל חיבורי TNS (Transparent Network Substrate).
  • מארח: שם מארח או כינוי TNS.
  • פורט: פורט מסד נתונים.
  • מסד נתונים: שם מסד הנתונים (אם לא משתמשים ב-TNS).
  • שם השירות: שם השירות (אם משתמשים ב-TNS).
  • שם משתמש: שם משתמש של מסד נתונים או מסד נתונים זמני אם ממשק PDT מופעלים.
  • סיסמה: סיסמת משתמש מסד הנתונים.
  • הפעלת PDT: משתמשים במתג הזה כדי להפעיל טבלאות נגזרות מתמידות (PDT). כשהאפשרות PDT מופעלת, בחלון Connection מופיעות הגדרות נוספות של PDT והקטע PDT Overrides.
  • מסד נתונים זמני: ב-Oracle משתמש הוא סכימה, לכן יש לציין זאת כשם משתמש מסד הנתונים. עבור דוגמה זו, תשתמש בערך הסכימה הזמנית LOOKER.
  • מספר מרבי של חיבורי בונה PDT: ציין את מספר מערכות הבנייה של PDT האפשריות בו-זמניות בחיבור זה. הגדרת ערך גבוה מדי עלולה להשפיע לרעה על זמני השאילתה. למידע נוסף, עיין בדף התיעוד של חיבור Looker למסד הנתונים שלך.
  • פרמטרים נוספים של JDBC: השאר שדה זה ריק, מכיוון ש-Oracle אינו תומך בפרמטרים נוספים של JDBC.
  • לוח זמנים לתחזוקה אcron ביטוי המציין מתי Looker צריך לבדוקקבוצות נתונים וטבלאות נגזרות מתמידות. קרא עוד על הגדרה זו בתיעוד של לוח זמנים לתחזוקה.
  • SSL: סמן כדי להשתמש בחיבורי SSL.
  • אימות SSL: התעלם משדה זה. אורקל תשתמש ב-Java Truststore המוגדר כברירת מחדל כדי לאמת SSL.
  • מספר חיבורים מקסימלי לכל צומת: ניתן להשאיר הגדרה זו על ערך ברירת המחדל בתחילה. קרא עוד על הגדרה זו בסעיף מקסימום חיבורים לכל צומת בדף התיעוד של חיבור Looker למסד הנתונים שלך.
  • זמן קצוב של מאגר חיבורים: ניתן להשאיר הגדרה זו בערך ברירת המחדל בתחילה. קרא עוד על הגדרה זו בסעיף זמן קצוב של מאגר חיבורים בדף התיעוד של חיבור Looker למסד הנתונים שלך.
  • SQL Runner Precache: כדי לגרום ל-SQL Runner לא לטעון מראש את פרטי הטבלה ולטעון את פרטי הטבלה רק כאשר טבלה נבחרת, בטל את הסימון באפשרות זו. קרא עוד על הגדרה זו בסעיף SQL Runner Precache בדף התיעוד של חיבור Looker למסד הנתונים שלך.
  • אזור זמן של מסד נתונים: ציין את אזור הזמן שבו נעשה שימוש במסד הנתונים. השאר שדה זה ריק אם אינך מעוניין בהמרת אזור זמן. למידע נוסף, עיין בדף התיעוד של שימוש בהגדרות אזור זמן.

כדי לוודא שהחיבור בוצע בהצלחה, לוחצים על הלחצן בדיקת החיבור בקטע פרטי הסטטוס בחלק התחתון של הדף הגדרות החיבורים.

אם ב-Looker מוצגת ההודעה Can Connect (אפשר להתחבר), לוחצים על Connect (התחברות) כדי ליצור את החיבור.

החיבור למסד הנתונים יתווסף לרשימה בדף Connections Admin ב-Looker.

תמיכה בתכונות

כדי ש-Looker יתמוך בתכונות מסוימות, הדיאלקט של מסד הנתונים צריך לתמוך בהן גם כן.

אורקל תומכת בתכונות הבאות החל מ-Looker 26.16:

תכונה נתמך?
Looker (Google Cloud core)‎
צבירה סימטרית
טבלאות נגזרות
טבלאות נגזרות מתמידות שמבוססות על SQL
טבלאות נגזרות מתמידות מבוססות LookML
תצוגות יציבות
ביטול שאילתה
טבלאות ציר שמבוססות על SQL
אזורי זמן
SSL
סיכומי ביניים
פרמטרים נוספים של JDBC
תלוי רישיות
סוג מיקום
סוג הרשימה
מאון
אחוזון נפרד
SQL Runner Show Processes
SQL Runner Describe Table
SQL Runner Show Indexes
SQL Runner Select 10
מספר הפעמים שהופעל SQL Runner
SQL Explain
פרטי כניסה של OAuth 2.0
תגובות להוספת הקשר
איגום חיבורים
רישומים מסוג HLL
מודעות מצטברת
המרות מצטברות של PDT
אלפיות שנייה
מיקרו-שניות
תצוגות מהותיות
מדדים של השוואה בין תקופות שונות
ספירה משוערת של ערכים ייחודיים
מודלים לניתוח נתונים במסד הנתונים
יומנים בהתאמה אישית