Multitenant Database
12.1 versiyonundan itibaren veritabanlarınızı multitenant database (CDB) olarak dizayn edebilirsiniz. Bir container database , 1 adet root container , bir adet seed pluggable database (seed PDB) ve bir ya da daha fazla kullanıcılara ait pluggable veritabanalarından (PDB) oluşur.
Bir kullnıcı ya da uygulama için PDB mantıksal olarak ayrıştırılmış bir veritabanı gibi davranır. Gerek olduğunda eski yöntem şeklinde container olmayan veritabanları konfigüre edilebilir.
Aşağıdaki resimde container database yapısı belirtilmiştir.
- Root container (CDB$ROOT) , çoklu datafile içerir . Bu dosyalarda , Oracle tarafından sağlanan metadata bilgileri ve ortak kullanıcı bilgileri yer alır. Bu bilgiler tüm PDB’lere dağıtılır.
- Seed PDB (PDB$SEED) , kullanıcıların oluşturacağı pluggabe database(PDB) için şablon görevini gören bir PDB’dir. Container id’si her zaman 2 (iki)’dir ve readonly veritabanıdır.
- Kullanıcıların oluşturacağın PDB’ler , birçok datafile içerir, Bu veri dosyalarında uygulamaya ait veriler yer alır.
Container veritabanalarında çalışırken , veritabanları arasında geçişi “alter session set container” komutu ile yapabilirsiniz.
SQL> alter session set container = CDB$ROOT; SQL> alter session set container = CDB$SEED; SQL> alter session set container = USERDB;
Hangi container’da olduğunuzu aşağıdaki komutlarla öğrenebilirsiniz.
SQL> show con_name; SQL> select CDB from v$database;
Root container’da iken tüm pluggable veritabanı ve container’ları aşağıdaki gibi sorgulayabilirsiniz.
SQL> select dbid,con_id,name from v$pdbs; SQL> select name,con_id,dbid from v$containers;