אורקל (מסד נתונים)

אורקל מסדי נתונים (Oracle Database) היא מערכת לניהול מסד נתונים רלציוני (RDBMS), שפותחה על ידי תאגיד אורקל האמריקאי.

מייסדי החברה הם לארי אליסון וידידו ועמיתו לעבודה בוב מיינר ואד אוטס, אשר הקימו חברת ייעוץ בשם "Software Development Laboratories (SDL)" ופיתחו את בסיס הנתונים המקורי בשם אורקל. הם כינו את המוצר בשם אורקל על שם קוד פרויקט ה־CIA שבו הם עבדו כאשר עבדו לפני כן בחברת Ampex.

== מבנה מסד הנתונים ==
בסיס הנתונים של אורקל מורכב משני גורמים עיקריים: Instance ושטח האחסון. רכיב ה־Instance עצמו מורכב מתהליכי מערכת הפעלה מצד אחד וממבני זיכרון שונים מצד שני. תהליכי מערכת ההפעלה הטיפוסיים הם (PMON (the process monitor), SMON (the system monitor ו־DBWR (database writer).

מבני הזיכרון בהם משתמש בסיס הנתונים נקרא SGA (Shared or System Global Area) והוא ממוקם בצד השרת. ה־SGA מכיל בתוכו בדרך כלל מטמון של נתונים או תוכניות שירות, פקודות SQL שהורצו לאחרונה ותוכניות ההפעלה שלהן ומידע על המשתמשים. בנוסף לשטחי אחסון, בסיס הנתונים מורכב גם מקובצי redo logs אשר שומרים את ההיסטוריה של התנועות. מידע זה מסייע במידת הצורך לשיחזור בסיס הנתונים ועבור שכפול המידע לבסיסי נתונים אחרים.

בסיס הנתונים אורקל שומר את המידע על אמצעי אחסון שונים. ניתן להתבונן בצורת האחסון בשתי דרכים: הצורה הלוגית – שימוש ב־tablespaces ובצורה הפיזית של שמירת קובצי מידע (data files). כל tablespace יכול להכיל מבחר של סוגי מידע במקטעים שונים (segments): אינפורמציה טבלאית, אינדקסים וכדומה. מקטעי מידע אלה יכולים להיות מורכבים ממקטע מידע אחד היותר הנקרא extent. ה־extents מורכבים אף הם ממקטעי מידע רציפים של בלוקים ברמת מערכת ההפעלה. הבלוקים הם היחידה הבסיסית בה מאוחסנים הנתונים בבסיס הנתונים.
ברמה הפיזית, קבצים מורכבים מבלוקי מידע בגדלים משתנים (בדרך כלל לפי מערכת ההפעלה).

אורקל מנהל את השימוש במבנה הנתונים שלה בעזרת מידע הנשמר ב־tablespace ייעודי בשם SYSTEM. ב־tablespace זה בסיס הנתונים שומר את מילון המידע שלו ולעיתים קרובות גם את האינדקסים ואשכולות של טבלאות שונות. מגרסה 8i, ניתן להגדיר tablespaces כך שאלו ינוהלו באופן מקומי בתוך כותרת (header) הקבצים המרכיבים את ה־tablespace עצמם ולא באמצעות שימוש ב־tablespace חיצוני.

ישנה אפשרות לכתוב, לאחסן ולהריץ פרוצדורות ופונקציות בתוך בסיס הנתונים. בסיס הנתונים תומך כיום במספר שפות: PL/SQL – שפה פרוצדורלית קניינית של חברת אורקל או בשימוש בשפת תכנות מונחית עצמים – Java אשר מופעלת ישירות מתוך מסד הנתונים. ישנה אפשרות נוספת של כתיבת קוד חיצוני לבסיס הנתונים באמצעות השפות C או פסקל ולהשתמש בהן מתוך בסיס הנתונים.

גרסאות ישנות יותר של בסיס הנתונים אורקל (לפני גרסה 10g) הכילו משתמש לדוגמה בשם scott. לאחר סיום תהליך ההתקנה המשתמש יכול היה להתחבר לתוך בסיס הנתונים באמצעות שם המשתמש scott והסיסמה tiger. האגדה מספרת ששם הסכמה "scott" נוצר בעקבות שמו של ברוס סקוט, אחד מעובדיה הראשונים של SDL וחתולו בשם Tiger.

==היסטוריה==
=== אירועים חשובים מבחינת החברה והטכנולוגיה ===
* 1977 – לארי אליסון מקים את Software Development Laboratories.
* 1979 – DSL משנה את שמה ל־Relational Software, Inc. (RSI) ומציגה בפעם הראשונה את המוצר "בסיס הנתונים היחסי אורקל" (גרסה 2) בצורה מסחרית. גרסה זו לא תומכת בתנועות אבל מממשת ממשק בסיסי של SQL, שאילתות ו־joins. החברה מעולם לא הוציאה את גרסה 1 של התוכנה וזה היה "טריק שיווקי".
* 1983 – RSI משנה את שמה ל"אורקל" (Oracle Corporation) וממצבת את עצמה באמצעות מוצר הדגל שלה. בשנה זו שוחררה גרסה 3 אשר נכתבה מחדש בשפת C ותמכה בפעולות COMMIT ו־ROLLBACK לצורך תנועות. גרסה 3 הורחבה גם מעבר לפלטפורמות ה־Digital VAX/VMS והחלה לתמוך גם בסביבות Unix. בגרסה זו החלה תמיכה במספר מעבדים בו זמנית (SMP).
* 1984 חברת אורקל מוציאה את גרסה 4 ומציגה את "עקביות הקריאה" (read-consistency) – עקרון המבטיח שהנתונים החוזרים משאילתא נכונים לתחילת פעולתה ולא ישתנו בזמן ריצתה.
* משנת 1985 ואילך, חברת אורקל החלה לתמוך בתצורת שרת־לקוח ובשילוב רשתות נתונים שהחלו נפוצות באמצע שנות השמונים של המאה העשרים אורקל החלה תמוך בשאילתות מבוזרות החל מגרסה 5 של החברה.
* 1989 – חברת אורקל מציגה כלים אפליקטיביים ומפתחת מוצר ERP בשם Oracle Financials המבוסס על בסיס הנתונים שלה. גרסה 6 יוצאת ומוסיפה תמיכה ב־PL/SQL, נעילות ברמת השורה וגיבויים "חמים".
* 1992 – אורקל מוציאה את גרסה 7h (ה־h מייצגת את המילה datawareHouse).
* 1997 – אורקל מוציאה את גרסה 8 אשר תומכת בפיתוח מונחה עצמים ותמיכה באפליקציות מולטימדיה.
* 1999 – אורקל מוציאה את גרסה 8i. אף על פי ששמה דומה לגרסה שיצאה בשנת 1997, גרסה זו מציגה שינויים רבים במוצר ומיועדת לתמיכה באפליקציות אינטרנט אשר הפכו לנפוצות ביותר. ה־i מייצג את המילה Internet. בגרסה זו הוצגה לראשונה התמיכה הטבעית בJVM.
* 2001 – אורקל מציגה את גרסה 9i עם למעלה מ־400 תכונות חדשות הכוללות את היכולת לקרוא ולכתוב מסמכי XML. בגרסה זו גם מתווספת האפשרות ליצור אשכולות של מסדי נתונים באמצעות המוצר Oracle Real Application Clusters.
* 2003 – אורקל מוציאה את גרסה 10g. ה־g מסמלת "Grid" בניסיון שיווקי לדחוף את מסד הנתונים ולמצב אותו כמוכן למחשוב סריגי.
* 2005 – אורקל מוציאה גרסה משופרת של 10g המכונה 10gR2 ובו היא מציגה יכולת לשלוף נתונים הנכונים לנקודת זמן (קרובה) מבלי להתחשב בתנועות ובשיפור התחזוקה העצמאית של מסד הנתונים. כמו כן הוצגו שינויים מרחיקי לכת בניהול הזיכרון של התוכנה.
* 2006 – אורקל מציגה את גרסה 11g אך לא משחררת גרסה רשמית.
* 2007 – אורקל מוציאה את גרסה 11g לחלונות ולינוקס.
* 2009 – אורקל רוכשת את סאן מיקרוסיסטמס בסכום של 7.4 מיליארד דולר.
* 2013 – אורקל מציגה את גרסת 12c – ניהול בסיסי נתונים בענן וכן יכולות נוספות רבות לכתיבה, ביצועים וניהול, בין היתר unplugged database.

=== מספרי גרסאות ===
החל מגרסה 7 של המוצר, אורקל שינו את שיטת מספור הגרסאות שלה כך שיכילו גם את מספר השחרור (Release) של הגרסה בנוסף למספרה הרשמי.

מספרי הגרסאות החל מגרסה 7 הם:
<div style="direction: ltr;">
* Oracle7: 7.0.16 — 7.3.4
* Oracle8 Database: 8.0.3 — 8.0.6
* Oracle8i Database Release 1: 8.1.5.0 — 8.1.5.1
* Oracle8i Database Release 2: 8.1.6.0 — 8.1.6.3
* Oracle8i Database Release 3: 8.1.7.0 — 8.1.7.4
* Oracle9i Database Release 1: 9.0.1.0 — 9.1.0.5
* Oracle9i Database Release 2: 9.2.0.1 — 9.2.0.8 (גרסה לא פעילה – עדכון אחרון באפריל 2007)
* Oracle Database 10g Release 1: 10.1.0.2 — 10.1.0.5 (גרסה לא פעילה – עדכון אחרון בפברואר 2006)
* Oracle Database 10g Release 2: 10.2.0.1 — 10.2.0.5 (גרסה פעילה – עדכון אחרון באפריל 2010)
* Oracle Database 11g Release 1: 11.1.0.7 (גרסה פעילה – עדכון אחרון בספטמבר 2008)
* Oracle Database 11g Release 2: 11.2.0.2 (גרסה פעילה – עדכון אחרון בנובמבר 2010)
* Oracle Database 12c Release 1: 12.1 (גרסה פעילה)
</div>

=== רשימת ראשונים ===
* 1979 – הראשונים בשחרור בסיס נתונים מסחרי מבוסס SQL.
* 1983 – הראשונים לתמוך בבסיס נתונים המאפשר שימוש במספר מעבדים במקביל.
* 1986 – הראשונים ליצור בסיס נתונים מבוזר.
* 1993 – הראשונים לתמוך לחלוטין ב־ANSI SQL.
* 1995 – הראשונים לתמוך במסד נתונים הפועל ב־64 סיביות.
* 1997 – הראשונים ליצור מסד נתונים מבוסס רשת (web).
* 1998 – הראשונים לספק תמיכה טבעית במנוע Java – JRE.
* 1999 – הראשונים לשחרר בסיס נתונים טבלאי מסחרי לסביבת לינוקס.
* 1999 – הראשונים לשחרר בסיס נתונים התומך ב־XML.
* 2001 – הראשונים לשחרר בסיס נתונים התומך במחשוב סריגי המשתף את כל המשאבים בין המחשבים בצביר.

== מהדורות ==
מעבר לגרסאות השונות שפורטו, אורקל סיפקה "מהדורות" שונות של בסיס הנתונים – בעיקר לצורכי רישוי ושיווק.
* Standard Edition – הכילה גרסה בסיסית של יכולות בסיס הנתונים.
* Enterprise Edition – הכילה תוספת של תכונות מעבר לגרסה הבסיסית – בעיקר בתחום הביצועים והאבטחה.
* Standard Edition One – הוצגה בגרסה 10g – גרסה מוחלשת המסוגלת לעבוד עד שני מעבדים בלבד.
* Express Edition – הוצגה בשנת 2005 והציעה שימוש חופשי לפלטפורמות חלונות ולינוקס עם הגבלה לשימוש על מעבד אחד, 4 גיגה של נתוני משתמש וגיגה אחד של זיכרון בלבד.
* Oracle Personal Edition – מוצר בעל היכולות של Enterprise Edition עם הגבלת השימוש לתחנת עבודה אחת.
* Oracle Lite – גרסה של בסיס הנתונים המיועדת בעיקר לשימוש על מחשבים ניידים ותחנות עבודה עם ובלי replication מול בסיסי נתונים מרוחקים.

== מערכות הפעלה ==
לפני גרסת 9i, חברת אורקל תמכה במספר גדול של מערכות הפעלה וסביבות עבודה. מאז גרסת 9i אוחדו הגרסאות לתמיכה במספר מצומצם יותר של מערכות הפעלה.

;מערכות הפעלה הנתמכות בגרסה 10gR2<nowiki>:</nowiki>
<div style="direction: ltr;">
* HP Tru64 Unix
* HP-UXPA-RISC (64-bit)
* HP-UX Itanium
* IBM AIX Based System (5L)
* IBM z/OS (OS/390)
* IBM Power Based Linux
* לינוקס x86
* Linux x86-64 (AMD64/EM64T)
* Linux Itanium
* Microsoft Windows (32-bit)
* Microsoft Windows Itanium (64-bit)
* Microsoft Windows x86-64 (AMD64/EM64T) – תמיכה בפלטפורמה אשר לא הייתה קיימת בגרסאות קודמות.
* Solaris Operating Env (SPARC 64-bit)
</div>
;פלטפורמות הנתמכות בגרסה 10gR1 הן הפלטפורמות הנתמכות בגרסה 10gR2 בתוספת<nowiki>:</nowiki>
<div style="direction: ltr;">
* IBM S/390 Based Linux
* Solaris Operating Env (x86) – נתמכה רק בגרסה זו.
</div>

;מערכות הפעלה הנתמכות בגרסה 9iR2 הן הפלטפורמות הנתמכות בגרסה 10gR1 ובתוספת<nowiki>:</nowiki>
<div style="direction: ltr;">
* HP OpenVMS Alpha
* IBM RS/600(64-bit)
* Solaris Operating Env (SPARC 32-bit)
</div>

==קישורים חיצוניים==

* 

* [http://www.oracle.com אתר חברת אורקל].
* [http://www.oracle.com/technology/software/products/database/oracle10g/index.html גרסאות בסיס הנתונים להורדה חופשית מאתר אורקל].
* [http://docs.oracle.com ספרות אורקל באתר אורקל].
* [http://asktom.oracle.com אתר שאלות ותשובות] של טום קייט.
* [http://www.iloug.org.il ארגון משתמשי אורקל] בישראל.

קטגוריה:מערכות לניהול מסדי נתונים יחסיים
קטגוריה:אורקל