More Related Content
Similar to Exploring Oracle Database Architecture (Hebrew) (20)
Exploring Oracle Database Architecture (Hebrew)
- 2. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Main AbilitiesDatabase
•Availability–זמינות.
•Survivability–שרידות,טוב ושחזור גיבוי מנגנון.Performance–
ביצועים.
•Integrity–אמינות,במערכת שיושב המידע על תקינות בדיקות.
•Security–אבטחה.
- 3. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Local Connection
•Local
•ה את המריצה ההפעלה למערכת מתחבר המשתמשInstanceומפעיל
האפליקציה את שם.
•ה בין תתבצע התקשורת-Process-ההפעלה מערכת ובאמצעות בתוך ים
ע המקומית"הנקרא מכניזם יIPC (Inter Processs Communication)
- 4. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Client / Server Connection
•Front End–הקליינט(Client)
•ע מנוהל אשר המידע את ומציג מבקש אשר החלק"השרת י
•השרת של החומרה מרכיבי שונים יהיו הקליינט של החומרה רכיבי
אחרות למטרות וינותבו(למשל גרפיים ביצועים)
•מהשרת אחר מחשב על ירוץ הקליינט לרוב
•Clientsאחד שרת מול לרוץ יכולים רבים
•Back End–השרת(Server)
•אפליקציית את מכילOracle
•שונים מיוזרים התקבלו אשר בקשות ומעבד מקבל
•רשת אפליקציית(Network Software)
•והשרת היוזר לחיבור משמשת
- 5. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Three-Tiered Connection
•והיא מסויימת לאפליקצייה רשת דרך מתחבר המשתמש
ל הרשת דרך מתחברת-Oracle Server.
לדוגמאBrowser-ים.
זו תקשורת בצורת,הבאים הרכיבים קיימים
•הClientאחרת אפליקציה כל או(Initiator Process)את התחילה אשר
הפעולה
•יותר או אחדApplication Serversמהפעולה חלק מבצעים אשר
(Query Processing)מהשרת עומס מורידים וכך
ASשרתי למספר יוזרים בין כממשק לשרת יכולDatabaseשונים
ASאבטחה של נוספת רמה להוות יכול
•השרתה את מכיל אשרData
- 6. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Connecting to the Database
Instance
•Connection–ה בין תקשורת נתיבUser Process(האפליקצייה
ה על רצה אשרClient)
ה לביןInstance,ע מושג זה תקשורת נתיב"יIPC(לוקאלי בחיבור)
כלשהי רשת אפליקציית או(בחיבורclient/server)
•Session–בין מסויים חיבורUser Process
לInstance
ה מול רבים סשנים לפתוח יכול מסויים יוזרDatabase
- 7. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Server Process and User
Process
•User Process–כגון כלי פותח המשתמשSQL*Plusאפליקציה או
אחרת,כ המורצים-User Process.(היוזר מחשב על)
•Server Process-ה כאשרUser Processה אל מתחבר-Oracle
Server,עבורו נוצרProcessב-Oracle Server,הנקראServer
Process.
•ה של תפקידו-SPעם לתקשר הואSה-Instanceולהריץ הלקוח עבור
ה פקודות את עבורו-SQL.
- 8. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Dedicated Server Connection
Shared Server Connection
•Dedicated Server Connection–כל עבור כאשרUser Processיש
Server Processאחד.
•Shared Server Connection–מספר עבור כאשרUser Processes
ישServer Processאחד.
- 9. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Oracle Database Server
Architecture
•זכרון מבני–הלוגי המבנה,הInstance.
•ל הגישה-DBה דרך רק נעשית-Instance,פעיל להיות חייב הוא ולכן
ב שהנתונים כדי-DBזמינים יהיו.
•ל רק ולגשת לפתוח יכול-DBפעם בכל אחד.
•ה כאשרInstanceלעבוד מתחיל,בשם רכיבSGA(System Global
Area)זכרון שטח תופס(שנראה שונות לפעולות אותו ישמש אשר
בהמשך)לרוץ מתחילים רקע ותהליכי
- 10. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Oracle Database Server
Architecture
•רקע תהליכי–אשר ההפעלה במערכת מכניזם הוא רקע תהליך
פעולות רצף לבצע יודע
- 11. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Oracle Database Server
Architecture
•אחסון מבני–הפיזי המבנה,הקבצים.הלוגי שהמבנה לאחר
אותחל,ה את משייכת אורקלInstanceהפיזי למבנה(זה שלב
ה שלב נקראMount)
•הפעלה מערכת קבצי אוסף הוא הפיסי המבנה
סוגים לשלושה המתחלקים:
•Data Files(DBF)
•Control Files(CTL)
•Online Redo Log Files(LOG)
- 12. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Instance Database
Configurations
•כלInstanceל משוייךDatabaseאחד,ל וDatabaseבלבד אחד.
•RAC(Real Application Clusters)לDatabaseמ יותר יש אחד
Instanceאחד(מספרInstancesאותו על במקביל עובדים אשר
Database.)
ללא המערכת פעולת שזמן בכך הוא זו בתצורה היתרונות אחד
השבתה(הUptime)היא724
- 13. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Oracle Database Memory
Structures
•SGA–System Global Area
•הרקע ותהליכי היוזרים לכל משותפים אשר זכרון מבני של קבוצה
השונים
•לכלInstanceישSGAאחד
•PGA–Program Global Area
•ל משוייך אשר זכרון מבנהServer Processאחד
•ה מספרPGAהחיבורים כמספר הוא במערכת(ה מספרClients)
- 14. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
SGA Main Components
•Shared Pool
•Database Buffer Cache
•Redo log buffer
•Large Pool
•Java Pool
- 15. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Shared Pool
•הShared Poolהמערכת טבלת זכרון רכיבי של רב ממספר מורכב
v$sgastat
•העיקריים רכיביו:
•Library Cacheמ מורכב אשר-
•Shared SQL
•Shared PLSQL
•Data Dictionary Cache
- 16. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Shared Pool – Library Cache
•שומרשאילתות עבור אינפורמציהSQLוקודPLSQL.
•מורכבמShared SQLוShared PLSQL
•מנוהלע"אלגוריתם יLRU–Least Recently Used,ה כאשר
Cacheביותר הישנות הפקודות של האינפורמציה מתמלא
ב שקיימותCacheחדשות עבור מקום ומפנה נמחקת.
•אםגודלהShared Poolמדי קטן–לשליפות יגרום הדבר
ה מתוך ונשנות חוזרותDF,בביצועים להאטה שיגרום מה.
•מ מורכב:
•Shared SQL
•שאילתות עבור פעולה תוכניות שומרSQLהורצו אשר
•Shared PLSQL
•של אובייקטים עבור פעולה תוכניות שומרPLSQLהורצו אשר
- 17. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Shared Pool – Data Dictionary
Cache
•הData Dictionaryהאובייקטים על אינפורמציה בתוכו מכיל
טבלאות כגון במערכת השונים,אינדקסים,יוזרים,עמודות
וכד'.
•הDDCהנתונים את בתוכו שומר(הבלוקים)אשר האחרונים
השונות המערכת מטבלאות נשלפו,את מייעלים אנו זו בדרך
ה פעולותDMLוהDDLהמערכת על.
•הDDCע עובד"יה אלגוריתםLRU
- 18. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Data Base Buffer Cache – DBBC
•הDB Buffer Cacheלשמירת מיועדבלוקיםבזכרון מידע של.
•הDBBCמה הגיעו אשר זכרון של בלוקים בתוכו מכילData Filesכתוצאה
מפעולתSELECTפעולת אוDMLהמערכת על מתרחשות אשר.
•בלוק–לכתוב או לקרוא מסוגל שאורקל ביותר הקטנה המידע יחידת הוא.
(הוא שלו הגודל דיפולטי באופןK8),של רב מספר יכיל אחד בלוק לרוב
שורות.
•בלוק–ה יחידת הואI/Oהמינימלית,רוצים אנו אם שגם שאומר מה
בלבד אחת שורה של נתונים לשלוף,לזכרון יטען נמצאת היא בו הבלוק כל.
•I/Oמידע מערכות של המרכזי הבקבוק צוואר הוא
•I/Oפיזי(physical reads)–מהדיסקים קריאה
•I/Oלוגי(consistent gets)–הזכרון מול עבודה
•הDB Buffer Cacheבאפרים מכיל(Buffers)יכול מהם אחד כל אשר
מידע של אחד בלוק להכיל.
•ע מנוהל"ה אלגוריתם יLRU
- 19. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
ב שימושDBCפעולת בעתSELECT
.1שאילתה מריץ יוזר
.2Server Processב קיים המידע אם בודקDB Buffer Cache
.3ב כבר נמצאת האינפורמציה אםCacheנקרא האירוע
Cache Hitליוזר חוזרים והנתונים.
.4בזכרון לא הוא אם,נקרא האירועCache Missואז:
.1Server Processל הולךData Filesהנתונים את משם ומושך.
.2ב נשמרת האינפורמציה.Cache
.3ליוזר חוזרים השאילתה של הנתונים.
- 20. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
ב שימושDBCפעולת בעתDML
.1פקודת מריץ יוזרDML
.2הSP(Server Process)מופעלת עליו אשר הבלוק אם בודק
ה פקודתDMLב כבר נמצאDBC
.3כן אםCache Hitלשלב ומעבר5
.4לא אם,Cache Miss,הSPה מתוך הנחוצים הבלוקים את קורא
DFה לתוךDBCלשלב ומעבר5
.5ה בתוך נעשה הנתונים על השינויDBC
.1Bufferב שונה אשרDBCכ מוגדרDirty Buffer
.6Dirty Bufferל חזרה נכתבDFע"ה יDBWR
- 21. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Redo Log Buffer
•הRLBכ מוגדרCircular Bufferכל של סידרתי רקורד בתוכו ומכיל
ב התרחשו אשר הפעולותDB
(DMLוDDL.)
•נקרא בו המתועד שינוי כל"Redo Entry",מידע מכילים והוא
ב שקרו והשינויים הפעולות את מחדש לבצע ניתן שבאמצעותו-DB
(Recovery)
•מוגדר זמן בכל–ה אשר הנתוניםRLBשמר,ל מועבריםRedo Log
Files(SP–LGWR.)
- 22. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Large Pool
•חלקאופציונאליבSGA
•אשר שונות לפעולות זכרון להקצאות משמש זה זכרון אזור
שה בזמן להתרחש יכולותInstanceפעיל
•Session MemoryעבורShared Server
•I/O Server Processes
•Parallel Query Buffers
•Oracle Backup and Restore Operations using RMAN
•וה במידהLarge Poolמופעל לא,ב מתבצעות אלו פעולות
Shared Pool,הביצועים על שמשפיע מה,מופעל והוא במידה
ל מאפשר בו השימושShared Poolבעיקר לבצעCacheלכל
זה נושא תחת נרשמו אשר הדברים.
- 23. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Java Pool
•של קוד לכתוב מאפשר אורקלJavaבDB
•הJava Poolקוד מחזיקJavaקוד בה לצורה בדומהPL/SQLנשמר
בShared Pool
•ל משמש-Parsingפקודות שלJava( .User Defined Java Objects–
אובייקטיJavaב להגדיר שאפשר-DB)
•פרמטר זהואופציונלי,ב משתמשים אנו אם אותו לשפעל עלינו אך-
Java.
- 24. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Program/Process Global Area
(PGA)
•הPGAל הרלוונטית אינפורמציה שומר אשר זכרון איזור הואServer
Processesאחד(לכלServer Processה את ישPGAשלו)
•ה של המרכזי החלקPGA:
•User Global Area(UGA)–הUGAהבאים מהחלקים מורכב
•קרסורים עבור זכרון איזור
•User Session Data–לדוגמא:כמהCPUתופס הסשן,מקסימום זמן כמה
מחובר להיות לו מותר,ב להיות לו מותר מקסימום זמן כמהIdle,כמהBlock
Readsועוד ביצע הוא.
•פקודות עיבוד עבור זכרון איזורSQLמ מורכב אשר–
•פקודות עבור זיכרון איזורORDER BYוGROUP BY
•עבור זכרון איזורHash Joins
•יצירת עבור זכרון איזורBitmapאינדקס
•ב ימוקםPGAבDedicated Server,ב ימוקםSGAבShared Server
- 25. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Process Architecture
•User process–ל מתחבר היוזר בעזרתה אשר האפליקצייהOracle
Database
•Server process–ל מתחבר היוזר כאשרDatabaseעבורו נפתחserver
processה מול פעולותיו את לבצע נועד אשרDatabase
•הServer Processהבאות הפעולות כל או אחת את לבצע יכול:
•Parseה פקודות והרצתSQL
•ה קריאתData Blocksה אל מהקבציםBuffer Cache
•מה תוצאות החזרתBuffer Cacheלו מובנת תהיה אשר בצורה היוזר אל
•Dedicated–לכלUser ProcessישServer Processאותו משרת אשר אחד.
•Shared–קבוצת לכלUser ProcessesישServer Processמשרת אשר אחד
אותם.
•Background Process–שרת בצד פועלים אשר רקע תהליכי,את מנהלים
הפיזיים הקבצים לבין בינהם האינטראקציה את ויוצרים הזכרון רכיבי.
- 26. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Background Processes
•נוצריםה עליית בעת-Instace.
•מקשריםהפיסיים הקבצים לבין הזיכרון מבני בין.
•חמישה יש לאורקלProcess-כאלה הכרחיים ים,וכמה כמה ועוד
אופציונליים,שלהם באופציה שימוש עושים אם הנוצרים.
•המנדטוריים חמשת:DBWn,LGWR,CKPT,SMON,PMON
- 27. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
DBWn(DB Writer)
•כתיבת על אחראיdirty buffersמהbuffer cacheלדיסק.
•ב באפר כאשרbuffer cacheכ מסומן הוא משתנהdirty,
cold bufferה לפי לאחרונה שימוש כל בו נעשה לא אשר באפר הוא
LRU.
DBWnלדיסק ומלוכלכים קרים באפרים רושם
•ה את מנהל הואBuffer Cacheבאפרים יהיו שתמיד כזו בצורה
פנויים.
- 28. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
DBWn(DB Writer)
•הDBWrהבאים בתנאים כותב
•ה כאשרserver processשל סריקה לאחר פנוי באפר למצוא מצליח לא
מסויימת תקורה
•Checkpoint
•ל קשור לא-Commit!
•(ב-Commitה רק-LGWRלדיסק כותב.)
- 29. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
LGWR(Log Writer)
•מה סדרתיות כתיבות מבצע-Redo Log Bufferשב-SGA(מהזיכרון)ה קבצי אל-
Online redo log filesשבדיסק.
•ה כל את לדיסק מעביר הוא פעם בכלRedo entriesהפעם מאז בו שנמצאים
כתב שהוא האחרונה
•מסוימים באירועים הדיסק אל לכתוב מתעורר הוא:
•מבצעת טרנזקציה כאשרCommit.
•ה כאשר-Redo Log Bufferהתמלאבשליש.
•מ יותר יש כאשר-1 MBמידע שלRedoב-Buffer.
•שניות שלוש כל.
•ה כאשר-DBWnלכתוב ומבקש מתעורר,הLGWRלפניו לכתוב חייב(Write Ahead
Protocol)
Fast Commit–ה בפעולת-Commitה אל נכתב לא המידע-Data Filesאל אלא
ה-Online Redo Log Filesע"ה י-LGWR( .ומהירה סדרתית כתיבה.נפלנו אם–ישתחזר
ע"י
ה-Roll Forward.יותר ומסורבל איטי השחזור אמנם,מהירה השוטפת העבודה אך
וסדרתית.)
- 30. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
CKPT–(Checkpoint)
•CKPT–תהליךל לאותת שמטרתוDBWRמה לכתובBuffer
Cacheה אלData Files
•Checkpoint–האירועה שבוDBWRכל את הקבצים אל כותב
ה-Buffersב-Cacheה את ומעדכן מסוימת נקודה עד שעודכנו
checkpoint position
•Checkpoint Position–זמן נקודתה אליה שנכון מסויימתDB
מסונכרן
ה בקובץ בדיוק היכן מציינת זו נקודה-Online redoצריך
נפילה של במקרה השחזור להתחיל,שה מכיוון-DBWnכבר
זו נקודה לפני שעודכן המידע כל את לקבצים כתב.
- 31. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
CKPT–(Checkpoint)
•לביצוע הסיבותCheckpoints:
•לוודאקבוע בסיס על לדיסק נכתב שבזיכרון שהמידע,נאבד שלא כך
נפילה של במקרה מידע.
•להקטיןלבצע הנדרש הזמן אתInstance recovery.את רק לעבד עלינו
רשומותRedoה לאחר שנרשמו-Checkpointשבוצע האחרון.
- 32. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
CKPT–(Checkpoint)
•סוגיCheckpoint:
•מלא–ב שיש מה כל-Logה אל נכתב-DB.ולא מסתנכרן הכל
בשחזור צורך יהיה(בעת למשלShudownמסודר.)
•חלקי(Partial)–שה כתיבות-DBWRיזם(מישהו למשל אם
ל קובץ הוריד-Offline,עליו רק יעשה אורקלCheckpoint.)
•Incremental Checkpoint–הבלוקים כל את לכתוב במקום
לדיסק,חלק רק כותב(עדSCNמסוים)כמות על ושומר
של מסוימתDirty blocks
CKPTה את שכותב זה אינו-Data blocksה או-Redoלדיסק.
ל שמאותת זה רק הוא-DBWRב לכתוב-Checkpoint,ש או-
DBWRלכתוב רוצה כשהוא לו מאותת.
- 33. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
SMON(System Monitor)
•ה כאשרInstanceשונים מכשלים כתוצאה נופל,כל
ב אשר האינפורמציהSGAפיזי באופן נכתבה לא אשר-
אבודה.ה של העיקרית מטרתוSMONהיאInstance
Recoveryה כאשרData Baseמחדש נפתח.
•ה פתיחת על אחראי-Instance.
•ב צורך יש אם בודקRecovery(טוב לא ירד אם,נדפק או אבד
וכו קובץ'.)
•אם,למשל,ה-Instanceנפל(מ נפילת עקב"ה,חשמל הפסקת
וכו'),ב המידע כל-SGAהדיסק אל נכתב לא שעדיין,אבד.
•כזה במקרה, SMONשחזור אוטומטית יבצעInstance)
recovery)ה את ונפתח שנעלה הבאה בפעםInstance
- 34. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
PMON(Process Monitor)
•ה כל על אחראי-Clients.
•אםUPנכשל או התנתק,PMON
•מבצעRollbackלטרנזקציה.
•וטבלאות שורות על הנעילות כל את משחרר.
•המשתמש עבור שנשמר אחר משאב כל משחרר.
•נוספות פעולות מבצע(ל קשורNetworking)
- 35. Copyright 2014 © Ram Kedem. All rights reserved. Not to be reproduced without written consent
ramkedem.com
Archiver (ARCn)
•רקע תהליך זהואופציונלי,של נפילה לאחר מידע שחזור לשם הכרחי אך
קובץ של אובדן או דיסק.
•קובץ כאשרOnline redoמתמלא,מתבצעLog switchמתחיל ואורקל
שאחריו לקובץ לכתוב.
•ה תהליך-ARCnה קובץ גיבוי על אחראי-Redoבכל המלאLog switch.
•עליו ולכתוב בקובץ מחודש שימוש לבצע יהיה אפשר זה גיבוי לאחר רק,
ב שהתבצעו השינויים שכל מוודאים אנו וכך-DBולא זמן לאורך נשמרים
לעולם נדרסים.
•את אפילו או מידע קבצי איבדנו אם גם המידע כל את לשחזר מאפשר זה
הדיסק כל.
•ה קובץ שהתמלא ברגע-Redoהאחרון,הראשון על לכתוב נחזור,וכך
מעגלי באופן מידע נדרוס.