Refreshable PDB oluştur, tazele ve bağımsız PDB'ye dönüştür
OracleMultitenantKomut
-- Hedef CDB root'unda (kaynaga DB link hazir: bkz. pdb-clone-remote):
CREATE PLUGGABLE DATABASE <new_pdb> FROM <pdb>@clone_link
FILE_NAME_CONVERT = ('/<pdb>/', '/<new_pdb>/')
REFRESH MODE EVERY 60 MINUTES;
SELECT pdb_name, status, refresh_mode, refresh_interval, last_refresh_scn
FROM dba_pdbs WHERE pdb_name = UPPER('<new_pdb>');
-- Yalniz READ ONLY acilabilir; elle tazelemek icin once kapat:
ALTER PLUGGABLE DATABASE <new_pdb> OPEN READ ONLY;
ALTER PLUGGABLE DATABASE <new_pdb> CLOSE IMMEDIATE;
ALTER PLUGGABLE DATABASE <new_pdb> REFRESH;
-- Mod degistir (MANUAL) veya bagimsiz, yazilabilir PDB'ye cevir (geri alinamaz):
ALTER PLUGGABLE DATABASE <new_pdb> REFRESH MODE MANUAL;
ALTER PLUGGABLE DATABASE <new_pdb> REFRESH MODE NONE;
ALTER PLUGGABLE DATABASE <new_pdb> OPEN;Ne yapar?
Kaynak PDB'nin redo'sunu periyodik veya elle uygulayarak güncel tutulan bir kopya oluşturur; raporlama için READ ONLY açılır, REFRESH MODE NONE ile bağımsız read-write PDB'ye dönüştürülür.
Ne zaman kullanılır?
Üretimden düzenli tazelenen raporlama/test kopyası, kesinti süresi az PDB taşıma (son refresh + REFRESH MODE NONE) veya "PDB düzeyinde ucuz standby" ihtiyacında.
Dikkat
Refresh sırasında PDB kapalı olmalı; READ ONLY açıkken otomatik refresh bekler. Refresh için kaynakta gerekli archivelog'lar erişilebilir olmalı. REFRESH MODE NONE geri alınamaz; kopya artık tazelenemez. Kaynakta local undo + ARCHIVELOG gerekir. Gerçek DR için Data Guard'ın yerini tutmaz.
İlgili
- PDB$SEED'den yeni PDB oluştur
- PDB'yi aynı CDB içinde klonla (local / hot clone)
- PDB'yi başka bir CDB'den DB link üzerinden klonla (remote clone)
- PDB'yi unplug et ve başka (veya aynı) CDB'ye plug et
- PDB'leri aç ve CDB yeniden başlatıldığında açık kalmasını sağla (SAVE STATE)
- PDB başına CPU, bellek, I/O ve depolama sınırı koy