40
Introduction to Oracle Database ی ئ ه ز م ح سان ح ا

Introduction to oracle

Embed Size (px)

Citation preview

Page 1: Introduction to oracle

Introduction to Oracle Database

احسان حمزه ئی

Page 2: Introduction to oracle

فهرست مطالب1معماری پایگاه داده اوراکل -2نصب و راه اندازی -3ایجاد و مدیریت بانک اطالعاتی -4 مدیریت -Instance5 مدیریت -TableSpace6مدیریت جداول -7مدیریت سایر اشیاء منطقی -

Page 3: Introduction to oracle

معماری پایگاه داده اوراکل:سرور بانک اطالعاتی

1)بانک اطالعاتی )مجموعه فایل روی دیسک -2 -Instance -مجموعه ای از فرآیندها و ساختارهای حافظه(

هدف: دستیابی به داده ها1: ساختار ذخیره سازی بانک اطالعاتی .

1.1ساختار فیزیکی .1.2ساختار منطقی .

2 .Instance2.1)ساختار حافظه )حافظه مشترک .2.2فرآیندهای پس زمینه .

Page 4: Introduction to oracle

معماری پایگاه داده اوراکل

Page 5: Introduction to oracle

معماری پایگاه داده اوراکل1.1:ساختار فیزیکی .

Data FilesControl FilesRedo Log FilesParameter FilesBackup FilesArchive Log FilesAlert & Trace Log Files…

Page 6: Introduction to oracle

معماری پایگاه داده اوراکل:ساختار منطقی پایگاه داده اوراکل

Data BlockExtentSegmentTablespace

Page 7: Introduction to oracle

معماری پایگاه داده اوراکل (Data Block)

Page 8: Introduction to oracle

معماری پایگاه داده اوراکل(segment)

Page 9: Introduction to oracle

معماری پایگاه داده اوراکل(TableSpace)

Page 10: Introduction to oracle

معماری پایگاه داده اوراکلInstance

Page 11: Introduction to oracle

معماری پایگاه داده اوراکلSGAحافظه

DataBase Buffer Cache: )فoدیتای خوانده شده + داده تغییر داده شده )درج، تغییر یا حذ این ناحیه اولین جایی است که هنگام یک دستورSQL اوراکل به

دنبال دیتای مورد نظر می گردد و اگر نبود...:انواع بافر در ناحیه بافر داده ها

1 -Free Buffer2 -Dirty Buffer3 -Pinned Buffer

:استفاده از چندین بافر دادهKeep Buffer PoolRecycle Buffer PoolDefault Buffer Pool

Page 12: Introduction to oracle

معماری پایگاه داده اوراکلSGAحافظه

Redo Log Buffer: نگه داری ازRedo Entry هایی که در نتیجه ی تغییر )درج، حذف، به

روزرسانی( به وجود می آیند. این بافر به شکل مدور است به تخصیص فضای حافظه می پردازد. و

پس از بازگشت به نوشتن داده ها در فایل های مربوطه می پردازد.Shared Pool:

یکی از مهم ترین بخش های حافظهSGAاست در اینجا دستوراتSQL, PL/SQL و اطالعات Data Dictionary

قرار می گیرند.:این بخش به چند زیر بخش تقسیم می شود

1 -Library Cache2 -Data Dictionary Cache3 -Result Cache

Page 13: Introduction to oracle

معماری پایگاه داده اوراکلSGAحافظه

Shared Pool:

Page 14: Introduction to oracle

معماری پایگاه داده اوراکلSGAحافظه

Large Pool این بخش از حافظه اختیاری ست و برای :حالتی است که ممکن است فرآیندی نیاز به حافظه باال

و LRUداشته باشد، برای فرار از مکانیزم fragmentation در حافظه Shared از این حافظه استفاده می شود.

Page 15: Introduction to oracle

معماری پایگاه داده اوراکلSGAحافظه

Java Pool! :Stream Pool حافظه ای اختیاری که به ابزار :Oracle

Streams اختصاص پیدا می کند تا وظیفه ی Data Replication.را انجام دهد

Fixed SGA حافظه ای ثابت که توسط اوراکل مدیریت :می شود و به هیچ وجه قابل تغییر نیست و در آن اوراکل

را نگه Instanceداده هایی از قبیل شرایط پایگاه داده و داری می کند که توسط فرآیندهای مختلف مورد نیاز

به Releaseاست. این بخش حافظه ممکن است از یک Release.دیگر متفاوت باشد

Page 16: Introduction to oracle

معماری پایگاه داده اوراکلSGAحافظه

InMemory Column Store: )12c( oیک بخشoptional است که در آن کپی ای از جداول در

فرمت ستونی و به منظور اسکِن سریع نگه داری می شود.

:مزایا افزایش سرعت برایSCAN, JOIN

کردن AGGREGATE و

Page 17: Introduction to oracle

معماری پایگاه داده اوراکلPGAحافظه

حافظهPGA وقتی کاربری :session ،ایجاد می کند حافظه ای به منظور کارهای مربوطه اختصاص داده می

شود. بخش های مختلف این حافظه وابسته به پیکره بندی

(dedicated, sharedسرور اوراکل است )UGA )dedicated(Private SQL Area )dedicated(SQL Work Area

Page 18: Introduction to oracle

معماری پایگاه داده اوراکلمدیریت خودکار حافظه

مدیریت خودکارPGA: )9i( مدیریت خودکارSGA: )10g(( :11مدیریت خودکار همزمانg)

:تخصیص حافظهOptimalOne passMulti pass

Page 19: Introduction to oracle

معماری پایگاه داده اوراکلفرآیندها

Processes:1 -Client Process2 -Oracle Process

2.1 -Server Process2.2 -Background Process

Page 20: Introduction to oracle

معماری پایگاه داده اوراکلفرآیندها

Page 21: Introduction to oracle

معماری پایگاه داده اوراکلفرآیند های پس زمینه

یoفرآیندهای پس زمینه به سه دسته ی زیر تقسیم بندی مشوند:

فرآیندهای اجباریPMON )Process Monitor(LREG )Listener Registration(SMON )System Monitor(DBWR )Database Writer(LGWR )Log Writer(CKPT )Check Point(MMON + MMNL )Manageability and Monitor(RECO )Recoverer(…

فرآیندهای اختیاریARCn

Page 22: Introduction to oracle

معماری پایگاه داده اوراکلفرآیند های پس زمینه

PMON )Process Monitor( ئولیت آزاد سازی بخش حافظه یoمسDB Buffer Cache ئولیت مانیتور کردن سایرoمسProcessها

LREG )Listener Registration( العاتی در موردoاطInstance, Dispatchers )or server

Processes(, Listener ها Register نحوی که oکند. به oمی Listener مربوطه مoطلع میo شود. در صoورتیo که service handlerاز

Listener ود فرآیند ثبتoباال نباشد این فرآیند با چک کردن دوره ای خ مoربوطه اقدام service handler و Instanceاطoالعات در مورد نام

میo کند. برای چک کردن oخواهیم به صورت بدون اتالف وقت oکه می oدر صورتی

فرآیند ثبتo انجام شود؛ دستور زیر Listenerدوره ای، پس از باال آمoدن را اجرا میo کنیم:

Alter system register;

Page 23: Introduction to oracle

معماری پایگاه داده اوراکلفرآیند های پس زمینه

SMON )System Monitor(: الیت هایی در مقیاسoاین فرآیند به منظور انجام فع

سیستم ایجاد شده است.:فعالیت های مرتبط

Instance RecoveryClean-up Unused Temporary SegmentsMerging contiguous extents

Page 24: Introduction to oracle

معماری پایگاه داده اوراکلفرآیند های پس زمینه

( Database Writer:) این فرآیندdirty buffer ها را از DB Buffer Cache

به روی دیسک می نویسند. به طور کلی این فرآیند در دو حالت فراخوانی می شود:

1 هنگام عملیات -checkpoint2 هنگام نبود حافظه به اندازه کافی در -DB Buffer

Cache امکان تعریفDBWR به صورت چندین فرآیند

(DBWRn)

Page 25: Introduction to oracle

معماری پایگاه داده اوراکلفرآیند های پس زمینه

LGWR )Log Writer( وظیفه ی انتقال اطالعات موجود : را بر Redo Log به فایل های Redo Log Bufferدر

عهده دارد. چه زمانیLGWR داده ها را در Redo Log:ثبت می کند

تراکنشیcommit.می شود Log switch.اتفاق می افتد 3!ثانیه یک بار 1/3 1 ناحیه بافر پر شده باشد یا حجم ناحیه پر شده از

مگابایت تجاوز کند. قبل ازDBWR )write-ahead protocol(

Page 26: Introduction to oracle

معماری پایگاه داده اوراکلفرآیند های پس زمینه

CKPT )Checkpoint(: این فرآیند با فراخوانی فرآیندDBWRDBWR فراخوانی LGWRثبت در دیسک آپدیت فایلHeader و Control

Full CKPT, Partial CKPT

Page 27: Introduction to oracle

معماری پایگاه داده اوراکلفرآیند های پس زمینه

MMON, MMNL :Instance اوراکل همواره داده های آماری ای از

performance خود تهیه می کند. وظیفه جمع آوری این و وظیفه انتقال آنها بر روی MMONداده ها در حافظه

است.MMNLدیسک پس از پر شدن حافظه مربوطه با

RECO: های توزیع oاین فرآیند وظیفه ترمیم و بازسازی تراکنش

شده را دارد. )این کار نیازمند برقراری ارتباط میان امکان پذیر NetServiceدیتابیسo ها است که توسط

است(

Page 28: Introduction to oracle

معماری ارتباط با پایگاه داده اوراکل1 -Client / Server

2 -Multitier ویژگی اصلی این معماری وجود الیه درونی :(application server .به منظور مدیریت ارتباط با پایگاه داده است )

3 -SOA اوراکل توسط بخشی به نام :Oracle XML DB امکان ارائه را فراهم آورده application serverوب سرویس بدون دخالت

است و با این دیدگاه می توان از معماری سرویس مبنا برای ارتباط با پایگاه های داده استفادهکرد.

4 -Grid در این معماری امکان :Pool کردِن Resource ها فراهم آمدهاست.

Page 29: Introduction to oracle

معماری ارتباط با پایگاه داده اوراکلC/S

Page 30: Introduction to oracle

معماری ارتباط با پایگاه داده اوراکلMultitier

Page 31: Introduction to oracle

معماری ارتباط با پایگاه داده اوراکلGrid

Page 32: Introduction to oracle

شبکه و پایگاه داده اوراکلOracle NetService :

وظoیفه ایجoاد ارتباط در بستر شoبکه بین سرورهای

پایگاه داده با هم و با کالینتo ها را بر عoهده

دارد.Oracle Net Listener :

این سرویسo همواره ها clientدرخoواسoتo های

را دریافتo می کند و با انتخoاب سرویس دهنده بهینه در سمتo سرور ارتباطo بین کالینتo و

سرور را برقرار میo کند.

Page 33: Introduction to oracle

شبکه و پایگاه داده اوراکل:oپیکره بندی نحوه اتصال به پایگاه داده اوراکل

dedicated: به ازای هر اتصال یکdedicated server processتا زمانی که اتصال قطع نشود منابع بر نمی گرددامکان انجام کارهای مدیریتی از طریق این ارتباط اختصاص حافظه تماما درPGAمربوطه

Shared server: ایجاد ارتباط از طریقdispatcher وجود یکpool از server processخگوییoها به منظور پاس اختصاص هرگونه اطالعات وابسته بهsession در SGA )large pool, shared area( امکان تعریف چندینdispatcherبه منظور پاسخگویی بهتر عدم امکان اتصال به صورتDBAو انجام کارهای مدیریتی

DCRP همانندdedicated .ولی در زمان غیر فعال شدن فرآیند سرور به مخزن باز می گردد

فقط زمانی حافظه تخصیص داده می شود که کاری در حال انجام باشد. در صورتی که تعداد درخواست ها بیشتر از اندازهpool.باشد درون صف قرار می گیرند

Page 34: Introduction to oracle

شبکه و پایگاه داده اوراکلdedicated

Page 35: Introduction to oracle

شبکه و پایگاه داده اوراکلshared server

Page 36: Introduction to oracle

:ه پیکره بندیoنحو ام میoورت پویا انجoند، این کار به صoباید پارامتر های زیر تنظیم شو

Listener در همان زمان به Registerشود و با استفاده از دسoتور معرفی می شوoند.

SHARED_SERVERS)به مقداری بزرگتر از صفر( MAX_SHARED_SERVERSDISPATCHERSMAX_DISPATCHERS

:مثال Alter system set dispatchers=‘)dispatchers=2(

)porotocol=tcp(’; Alter System set shared_servers=20; Alter system register;

شبکه و پایگاه داده اوراکلshared server

Page 37: Introduction to oracle

شبکه و پایگاه داده اوراکلDRCP- Database Resident Connection pooling

Page 38: Introduction to oracle

:نحوه ی پیکره بندی فقط برای یکo( :ال کردن منبع با استفاده از دستور زیرoفع

(stop_poolبار، برای لغو هم دستور EXEC DBMS_CONNECTION_POOL.start_pool)(;

:هدایت درخواست به سمت منبع ارتباطی Host:port/sid:POOLED

شبکه و پایگاه داده اوراکلDRCP- Database Resident Connection pooling

Page 39: Introduction to oracle

جمع بندی بخش های مورد بررسیمعماری پایگاه داده اوراکل

1ساختار ذخیره سازی -1.1فیزیکی و منطقی -

2 -Oracle Instance2.1ساختارهای حافظه -

2.1.1 حافظه مشترک -SGA)مدیریت خودکار، دستی و همزمان( 2.1.2 حافظه اختصاصی -PGA)مدیریت خودکار دستی و همزمان(

2.2فرآیندها -2.2.1فرآیندهای اجباری -2.2.2فرآیندهای اختیاری -

3معماری ارتباط با پایگاه داده -4شبکه و پایگاه داده اوراکل -

Page 40: Introduction to oracle

با تشکر- اتمام بخش اول