SQL patch geçmişini, bileşen durumunu ve geçersiz nesneleri doğrula
OraclePatch & Yaşam DöngüsüKomut
-- 1) datapatch gecmisi (en son uygulanan en altta):
SELECT patch_id, patch_type, action, status, source_version, target_version,
TO_CHAR(action_time,'YYYY-MM-DD HH24:MI') AS action_time, description
FROM dba_registry_sqlpatch
ORDER BY action_time;
-- Basarisiz olanlar ve log dosyalari:
SELECT install_id, patch_id, action, status, logfile
FROM dba_registry_sqlpatch
WHERE status <> 'SUCCESS';
-- CDB'de tum PDB'ler icin (root'tan):
SELECT con_id, patch_id, action, status
FROM cdb_registry_sqlpatch ORDER BY con_id, action_time;
-- 2) Bilesenler VALID olmali:
SELECT comp_id, comp_name, version_full, status
FROM dba_registry ORDER BY comp_id;
-- 3) Gecersiz nesne ozeti (utlrp oncesi/sonrasi karsilastir):
SELECT owner, object_type, COUNT(*) AS invalid_cnt
FROM dba_objects
WHERE status = 'INVALID'
GROUP BY owner, object_type
ORDER BY invalid_cnt DESC;Ne yapar?
Yama sonrası SQL katmanının gerçekten güncellendiğini (binary ile sözlük uyumlu mu), hangi PDB'de hangi yamanın başarısız olduğunu, sözlük bileşenlerinin VALID durumunu ve geçersiz nesne sayısını tek bakışta gösterir.
Ne zaman kullanılır?
Her datapatch sonrası doğrulama adımı olarak, yama/upgrade öncesi baz durum almak için, PDB taşıma (plug-in) sonrasında uyumsuzluk şüphesinde.
Dikkat
Salt okunur; lisans gerektirmez. SOURCE_VERSION/TARGET_VERSION kolonları 18c+ RU modelinde doludur. STATUS='WITH ERRORS' ise LOGFILE'daki hatayı çöz ve datapatch'i tekrar çalıştır. Bazı bileşenler (ör. kullanılmayan XDB/JAVA) INVALID/REMOVED görünebilir; yamadan önceki durumla karşılaştır.