در نسخه ۱۲C پایگاه داده اوراکل یک ویژگی جدید به نام multitenant یا چندگانگی را مطرح نموده است این مقاله مروری است بر ویژگی multitenant و مفاهیم Container DataBase) CDB ) و Pluggable DataBase) PDB)
ویژگی چندگانگی یکی از بزرگترین تغییرات در معماری پایگاه داده اوراکل تاکنون است. این ویژگی مفاهیم Container DataBase و Pluggable DataBase را بیان می کند
Container DataBase) CDB) : یک لایه شبیه به دیتابیس معمولی اوراکل است که شامل قسمت های مختلف در حال فعالیت مانند ( controlfile ها ، datafile ها ، فایل های شامل undo ، temp و redologfile ها ) می باشد . CDB همچنین از data dictionary مربوط به این PDB (Pluggable DataBase) ها در قالب یک root container میزبانی می کند.
Pluggable Database )PDB) : اگر یک cdb میزبان چند قسمت و یا PDB (Pluggable DataBase) باشد یک PDB فقط شامل اطلاعات مربوط به خود است. و نیازی به نگرانی در مورد controlfile ها ، redolog file ها ، undo و … نمی باشد. در عین حال این PDB شامل datafile ها و Tempfile هایی است که فقط به object های این PDB سرویس می دهند. این دیتابیس شامل data dictionary مربوط به خود و اطلاعاتی درباره object های مشخص شده جهت همان PDB است.
این تقسیم data dictionary مابین object های root container یا شاخه اصلی و object هایی که در data dictionary مربوط به PDB است که بسیار با اهمیت می باشد، زیرا این جداسازی انطاف پذیری چندگانگی را مشخص می کند. از منظر PDB یک data dictionary شامل تجمیع data dictionary ی Root و PDB است، بنابراین به صورت داخلی، PDB بسیار شبیه به یک دیتابیس معمولی است. بطور مثال، view های DBA_% و ALL_% در PDB شبیه به یک دیتابیس معمولی (non- CDB) است.
ساخت PDB
از آنجا که بخش عمده ای از بخش های در حال کار در root container معرفی می شوند، ساخت یک PDB نسبتا ساده و سریع است. زمانی که یک PDB جدید ساخته شد، PDB به عنوان یک کپی از PDB دیگر شناسایی می شود.
به جای ساخت PDB جدید می توانید از PDB یک clone بگیرید.
همچنین می توان برای یک CDB دیگر نیز clone گرفت.
جداسازی و اتصال یک PDB
یکی از مهترین ویژگی های multitenant option یا چندگانگی امکان جداسازی یک PDB از CDB و اتصال آن به یک CDB دیگر است.
نه تنها این امکان را به شما می دهد که آن را به آسانی جدا کنید، بلکه یک راه را برای اتصال سریع و ارتقا آن به نسخه های بالاتر را هموار می کند. یک PDB می تواند از نسخه ۱۲٫۱ جدا شود و به نسخه ۱۲٫۲ متصل گردد و در چند ثانیه ارتقا یابد.
تبدیل یک non-CDB به یک PDB مستلزم تشریح non-CDB و استفاده از آن برای اتصال به یک CDB به عنوان یک PDB جدید است.
Views
معرفی ویژگی چندگانگی(multitenant) یک لایه اضافی از data dictionary view ها را به همراه خود دارد بطوریکه امکان گزارش گیری را هم از سمت root container و هم از سمت PDB را فراهم می کند. نادیده گرفتن این امکان در این شکل نمایان است:
DBA_ : All objects in the database.
|
–ALL_ : Objects accessible by the current user, including those owned by the current user.
|
–USER_ : Objects owned by the current user.
اما در نسخه ۱۲C، یک لایه به این سلسله مراتب اضافه گردیده است:
CDB_ : All objects in the root container and all PDBs.
|
–DBA_ : All objects in the root container or PDB, depending on the current settings.
|
–ALL_ : Objects accessible by the current user, including those owned by the current user.
|
–USER_ : Objects owned by the current user.