DBAtlas · Veritabanı operasyon atlası

PDB başına CPU, bellek, I/O ve depolama sınırı koy

OracleMultitenant

Komut

ALTER SESSION SET CONTAINER = <pdb>;
-- CPU (Resource Manager ile instance caging; 19c'de PDB duzeyinde):
ALTER SYSTEM SET cpu_count = 2 SCOPE = BOTH;
-- Bellek (sga_min_size garanti, sga_target ust sinir):
ALTER SYSTEM SET sga_target = 512M SCOPE = BOTH;
ALTER SYSTEM SET sga_min_size = 96M SCOPE = BOTH;
ALTER SYSTEM SET pga_aggregate_limit = 2G SCOPE = BOTH;
-- I/O (Exadata disi):
ALTER SYSTEM SET max_iops = 5000 SCOPE = BOTH;
ALTER SYSTEM SET max_mbps = 200 SCOPE = BOTH;
-- Oturum sayisi (PDB yeniden acilinca):
ALTER SYSTEM SET sessions = 200 SCOPE = SPFILE;
-- Depolama:
ALTER PLUGGABLE DATABASE STORAGE (MAXSIZE 10G MAX_SHARED_TEMP_SIZE 2G);

-- Root'tan tum PDB'lerdeki ayarlar:
ALTER SESSION SET CONTAINER = CDB$ROOT;
SELECT p.name AS pdb, sp.name, sp.value
FROM   v$system_parameter sp JOIN v$pdbs p ON p.con_id = sp.con_id
WHERE  sp.name IN ('cpu_count','sga_target','sga_min_size','max_iops','max_mbps','pga_aggregate_limit')
ORDER  BY p.name, sp.name;

Ne yapar?

Bir PDB'nin CDB kaynaklarından kullanabileceği CPU, SGA/PGA, IOPS/MBPS ve toplam depolama miktarını PDB düzeyindeki parametrelerle sınırlar; "gürültülü komşu" PDB'lerin diğerlerini etkilemesini önler.

Ne zaman kullanılır?

Konsolide CDB'lerde, farklı SLA'lı uygulamaları aynı CDB'de çalıştırırken veya bir PDB'nin tüm sunucu kaynağını tükettiği görüldüğünde.

Dikkat

PDB sga_target CDB sga_target'ından küçük olmalı; çok düşük değerler ORA-04031 ve performans sorunlarına yol açar. sga_min_size toplamı CDB SGA'nın tamamını rezerve etmemeli. PDB'de cpu_count etkili olması için CDB'de bir resource manager planı aktif olmalı. MAXSIZE dolunca PDB'de ORA-65114 alınır.

DBAtlas'ta aç →

İlgili