2013-04-16 10 views
5

Kiedy zmienia stolika DB2 muszę ułożenia ich więc wykonać następne zapytanie:DB2 reorganizacji tabeli

Call Sysproc.admin_cmd ('reorg Table myTable'); 

I m wyszukiwanie odpowiedniego roztworu do reorganizacji tabeli gdy y zmienione albo reorganizacji cały schemat po wykonaniu różnych modyfikacji

+0

Znajduję skrypty pomagające mi rozwiązać ten problem, ale chcę znaleźć inne rozwiązania. db2 -x "wybierz" tabelę reoru ", substr (rtrim (tabschema) || '.' || rtrim (tabname), 1,50), ';' \ od syscat.tables, gdzie typ = 'T' i tbspace = '' "> reorg.out db2 -tvf reorg.out – junior

+1

Tego rodzaju pytanie jest pytanie administracyjne bazy danych i należy do dba.stackexchange. com. –

Odpowiedz

3

Operacja reorg jest podobna do defrag na dysku twardym. Uwalnia puste miejsca na stronach i ostatecznie może reorganizować dane według indeksu. W zależności od funkcji tworzy słownik kompresji i kompresuje dane.

Jak widać, operacja reorg jest zadaniem administracyjnym i nie jest konieczna za każdym razem, gdy dane są modyfikowane. Baza danych może działać bez reorganizacji.

Aby to ułatwić, program DB2 zawiera funkcje autonomiczne, takie jak automatyczne tworzenie kopii zapasowych, ale nie odpowiada to na własne pytanie. Spowoduje to tylko reorg na tabelach, które tego wymagają.

0

w dB2 konfiguracji mamy:

automatycznego reorganizacja (AUTO_REORG) = OFF

możemy ustawić auto_reorg na

3

Można określić, kiedy stoły będą wymagać REORG patrząc na SYSIBMADM.ADMINTABINFO:

select tabschema, tabname 
    from sysibmadm.admintabinfo 
where reorg_pending = 'Y' 

Możesz także chcieć spojrzeć na kolumnę NUM_REORG_REC_ALTERS, ponieważ może to pokazać y ou dodatkowe tabele, które nie wymagają reorganizacji ze względu na różne instrukcje ALTER TABLE.