Nedávno jsem upgradoval na 11.2.0.2 z 11.1.0.7. Ihned po upgradu jsem si všiml nárůstu naší redo generace. Všiml jsem si také tabulek s názvy jako DBMS_TABCOMP_TEMP_UNCMP a DBMS_TABCOMP_TEMP_CMP. Co ty tabulky dělají v mých produkčních schématech a jak se tam dostaly? Po kopání se mi podařilo zjistit, že tyhle vytváří nový 11gR2 Compression Advisor. Během okna noční údržby se naplánovaná úloha podívá na vaše tabulky a vezme podmnožinu dat a načte je do nekomprimované tabulky (UNCMP). Poté zkomprimuje vaše data (CMP) a určí kompresní poměr na základě vašich skutečných dat. Pokud je kompresní poměr nad určitou prahovou hodnotou, poradce doporučí tabulku pro kompresi. Po dokončení nástroje Compression Advisor jsou tabulky odstraněny.
Problém je v tom, že Poradce pro komprese generuje spoustu změn! Toto bylo označeno jako nepublikovaná chyba 8896202. Více informací naleznete na Metalink Note 1284972.1, pokud máte zájem.
Nebudu používat Compression Advisor, takže bych rád vypnul noční práci. Úloha je bohužel součástí Space Advisor a nemohu samotného Compression Advisor vypnout. Míra generování opakování je prostě příliš vysoká a myslím, že dokážu žít i bez vesmírného poradce, takže to jde:
SQL> exec dbms_auto_task_admin.disable(client_name=>'auto space advisor',operation=>null,window_name=>null);
PL/SQL procedure successfully completed.
Vidím, že byl podán požadavek na vylepšení, aby se oddělil Compression Advisor od Space Advisor.