12 פיצ'רים חדשים באורקל 12c - ilDBA Portal

12 פיצ'רים חדשים באורקל 12c

10/07/2013 | פורסם על ידי

היום ומחר יש כנס גדול של ilOUG בירושלים. במסגרת הכנס הייתה הרצאה של טום קייט לגבי 12 פיצ'רים חדשים באורקל 12c. זה סיכום של ההרצאה שהייתה היום והייתה מ-ר-ת-ק-ת!

Oracle 12c

דבר ראשון, וזה לא ממש פיצ'ר אבל בכל זאת עובדה מעניינת,  גרסה 12 של אורקל הוכרזה כזמינה להורדה לפני שבועות ספורים אבל היא כבר היא זמינה עבור מגוון מרשים של פלטפורמות (windows 64bit,Linux 64bit,Solaris  על SPARC ועל x86 ובקרוב עוד).

אוקיי. לרשימת הפיצ'רים החדשים והמאוד מאוד מעניינים – כל אחד מהם שווה בעצמו פוסט (וחלקם אפילו יזכו בזה, בזמן הקרוב):

PL/SQL from SQL

החל מגרסה זו, נוספה היכולת לכתוב In line functions, כלומר כתיבת פונקציות ופרוצדורות בתוך שאילתת SQL בעזרת with clause. בצורה זו מקבלים ביצועים טובים בהרבה מאשר שימוש בפונקציות או פרוצדורות רגילות, מכיוון שאין מעבר בין מנוע ה- SQL למנוע ה- PL/SQL, כל הקוד כתוב יחד ורץ יחד.

Improved defaults

בהגדרה של שדות בטבלה ניתן עכשיו להגדיר ברירות מחדל מתוחכמות:

  1. ניתן להגדיר sequence כברירת מחדל.
  2. ערך ברירת מחדל ייכנס לעמודה אם לא נתנו לשדה ערך בכלל. לפני c12, אם היינו במפורש מכניסים NULL, זה מה שהיה נכנס לשדה. ב- c12, ניתן להגדיר ערך שייכנס לטבלה גם אם הכניסו מפורשות NULL.
  3. שדה identity שמייצר מספר רץ לעמודה בטבלה. פנימית, מיוצר sequence שמקושר לשדה הזה בטבלה, וכל תהליך ההכנסה מה- sequence לשדה מתבצע אוטומטית.

Increase varchar size

משתנים מסוג char, varchar2 ו- nvarchar2 יכולים עכשיו להגיע לגודל של 32K (כמו ב- PL/SQL). מבחינת אחסון, מידע קטן מ- 4000 בתים יישמר בתוך הבלוק של הטבלה, ומידע גדול מ- 4000 תוים יישמר בסיגמנט חיצוני (בדומה ל- LOB). מבחינת התנהגות, השדות האלה הם char, varchar2 ו- nvarchar2 לכל דבר.

Easy TOP N queries

כדי לאפשר paging ושאילתות TOP N בצורה פשוטה. עד היום היינו צריכים לעשות subqueries עם חיתוכים שונים על rownum. אופרטורים חדשים מאפשרים לנו לכתוב שאילתה פשוטה ולעשות את אותה פונקציונליות ללא subqueries. OFFSET יגדיר על כמה רשומות לדלג, ו- FETCH יגדיר כמה רשומות להביא. לדוגמא, שאילתה עם OFFSET 10 ו- FETCH 20 תביא לנו את רשומות 10 עד 30. מעניין לציין שאפשר גם לבקש כמות רשומות לפי אחוז ולא רק לפי מספר מוגדר.

Row pattern matching

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

Partitioning improvements

בגרסה החדשה יש מספר שיפורים במנגנון ה- partition, למשל ביצוע תחזוקה אסינכרונית של global index אחרי drop או truncate ל- partition. דוגמא נוספת היא ביצוע של split partition למספר partitions בפקודה אחת (עד היום, split מ- partition אחד לארבעה שונים דורש פיצול לשני partitions ואז כל אחד לעוד שניים).

Adaptive execution plans

בעזרת היכולת הזאת, אורקל יכול לשנות execution plan תוך כדי ריצה לפי הביצועים והסטטיסטיקות של השליפה. דוגמא טובה היא בחירה של ה- optimizer ב- nested loops בגלל כמות רשומות קטנה. במידה ותוך כדי הריצה, אורקל רואה שיש לו הרבה יותר רשומות להתמודד איתן ממה שהוא חשב, ה- optimizer ישנה את ה- plan ל- hash join תוך כדי ריצה כדי לשפר את זמן השאילתה.

Enhanced statistics

יכולות חדשות בתחום הסטטיסטיקות כוללות אפשרות לעשות היסטוגרמות עם 2000 buckets (במקום 254 עד היום), ניתן גם לאסוף היסטוגרמות בלבד ללא איסוף סטטיסטיקות על כל הטבלה. יכולת נוספת היא איסוף סטטיסטיקות על טבלאות זמניות ברמת ה- session. כלומר, session יכול לאסוף סטטיסטיקות על טבלה זמנית כדי לשפר ביצועים בשליפות מול הטבלה, בזמן הזה session-ים אחרים לא יראו את הסטטיסטיקות, לא יושפעו מהן ואף יוכלו לאסוף סטטיסטיקות בעצמם ל- session שלהם.

Temporary undo

Undo data שנגרם משינויים בטבלאות זמניות ייכתב מהיום ל- temp tablespace ולא ל- undo. זו יכולת חשובה למי שעובד הרבה עם טבלאות זמניות, כי זה מייצר פחות undo, פחות redo וגורם לביצועים טובים יותר בפעולות DML מול טבלאות זמניות.

Data optimization

הפיצ'ר הזה מציג מספר יכולות חדשות רבות. כמה מהחשובות הן:

  1. ניתן להגדיר תהליכים אוטומטיים לפי תנאי. למשל, להגדיר לאורקל לבצע compress או move ל- partition אחרי 90 יום מיום יצירת ה- partition.
  2. ניתן להגדיר תנאים על אובייקטים כך שנוכל לקבל סטטיסטיקות על האובייקטים האלה מבחינת שימוש. למשל, נוכל להגדיר תנאי שיסווג רשומות או טבלאות כ"חמות" (משתנות לעיתים תכופות), "פושרות" (משתנות לעיתים) ו"קרות" (כמעט לא משתנות). לאחר מכן ניתן לבצע תהליכים אוטומטיים לרשומות או טבלאות אלו לפי הסיווג שלהם.

Application continuity

למי שעובד ב- RAC ו- TAF, אחת הבעיות המרכזיות היא ש- TAF תומך במעבר שקוף משרת לשרת בשאילתות בלבד. במקרה של טרנזקציות פתוחות בזמן נפילת שרת, הטרנזקציה נכשלת ומתקבלת הודעת שגיאה. גרסת 12c מסוגל להעביר session בין שרתים בצורה שקופה גם אם ה- session נמצא באמצע טרנזקציה (הטרנזקציה תתחיל מחדש על השרת השני, ולא תמשיך מאיפה שהייתה, אבל המעבר יהיה שקוף ללא שגיאות באפליקציה).

Pluggable database

זה אולי ה- feature הגדול ביותר שנכנס ב- 12c. מהיום אפשר לבנות של מספר databases בתוך instance אחד, כך שכל database הוא עצמאי אבל מנוהל על ידי אותם תהליכים ואותו זיכרון. על הארכיטקטורה הזאת נכתוב מאמר נפרד בקרוב מאוד.

להתראות ברשומה הבאה!

שרי

The following two tabs change content below.

שרי דן

Latest posts by שרי דן (see all)

6 תגובות ל- “12 פיצ'רים חדשים באורקל 12c”

commenter

Sari Dan liked this on Facebook.

David Itshak | 28/09/2013 בשעה 22:47
commenter

שמח לכולם !

מוזמנים לכנס הבא של Oracle & ilOUG DBA North Forum .

כמו בכנסים הקודמים רוב החומר יחודי לפורום שלנו והכי חשוב מעשי .

אגב על הרצאה הקודמת : " ישום Golden Gate הגדול בעולם" Oracle כנראה יכתבו White Paper .

ניתן להירשם כאן :
http://www.iloug.org.il/Event_Page.php?EventID=175

David Yitzhak | Oracle ILOUG forum administrator

http://www.iloug.org.il/DBA_NorthForum.php

השאר תגובה:

שם (חובה):
אימייל (לא יפורסם) (חובה):
תגובה (חובה):

*



מאמרים קשורים

MySQL

MySQL For Oracle DBA’s – בסיסי נתונים, טבלאות ומשתמשים

תודה שחזרתם, אחרי שראינו שבוע שעבר איך מתקינים את MySQL הגיע הזמן להבין קצת יותר, אז בואו נתחיל … Databases MySQL תומך בעד 32,000 בסיסי נתונים ב-Instance. כ-Oracle DBA אני משווה MySQL Database ל-Oracle Schema שכן הוא מחזיק [...]
MySQL

MySQL for Oracle DBA’s – התקנה וחיות אחרות

אני עוד זוכר שהתקנה של אורקל הייתה לוקחת יום ואפילו יומיים שלמים, גם היום להתקין אורקל יכול להיות משימה לא פשוטה במידה ומדובר ב-RAC ואו אנשי ה-SYSTEM לא סיפקו לנו סביבת Linux נאותה שיש בה את כל Packages [...]
MySQL

MySQL for Oracle DBA’s – ארכיטקטורה ומנועים

לאחר שהכרנו את ההיסטוריה של MySQL הגיע הזמן להכיר קצת יותר לעומק את הארכיטקטורה ואפילו להשוות אותה לזו של Oralce. ארכיטקטורה כ-DBA-ים מנוסים בטח תשימו לב שבדיוק כמו ל-Oracle ל-MySQL יש Optimizer שתפקידו לקבוע את [...]
MySQL

MySQL for Oracle DBA's – מבוא

פני מספר שנים רכשה אורקל את חברת SUN, רכישה זו כללה את בסיס הנתונים ה-OpenSource המוביל של אותם זמנים – MySQL. רבים שאלו אותי מה לדעתי יקרה עם MySQL האם הוא יטמע בתוך Oracle, האם אורקל  תחליט להרוג אותו או [...]
Copyright 2019 ilDBA Portal. Brought to you by Brillix - Israel Leading DBA company. Sponsored by: DBSnaps - Database Video Tutorialss
Website Security Test
%d בלוגרים אהבו את זה: