Een aantal nieuwe mogelijkheden in Oracle9i zorgen voor een betere database beschikbaarheid
Online Index Rebuilds Met Online index rebuilds heb je de mogelijkheid om DML operaties uit te voeren op een tabel tijdens het maken van een index. Oracle9i breidt deze mogelijkheid uit met het opnemen van de mogelijkheid om Reverse Key, Function Based en Key Compressed indexen te maken. Key compressed indexen op Index Oraganized Tables (IOT) kunnen ook online gemaakt worden. De syntax voor een online rebuild:
ALTER INDEX my_index REBUILD ONLINE;
Als het ONLINE keyword wordt gebruikt als onderdeel van de CREATE of ALTER syntax, zal de huidige index in tact blijven terwijl er een nieuwe kopie van de index gebouwd wordt zodat DML de oude index kan benaderen. Enige aanpassing aan de oude index worden opgeslagen in een Index Organized Table ook wel bekend als een “journal table". Als de rebuild eenmaal klaar is zullen de aanpassingen uit de journal table samengevoegd worden met de nieuwe index. Dit kan enige stappen duren afhankelijk van hoe vaak de index is aangepast. Het proces zal alle gelockte rows overslaan en ieder 20 rijen een commit geven. Als de samenvoeg operatie eenmaal klaar is zal de data dictionary geupdate worden en de oude index gedropped worden. Tijdens de data dictionary updates zal DML toegang geblockt zijn, hetgeen erg snel klaar is. De beschikbaarheid van Index Organized Tables (IOTs) is beter geworden door: Online creëren en rebuilden van secondary indexen met: ALTER INDEX <index_naam> REBUILD ONLINE;
Online COALESCE van IOTs primary key indexen met: ALTER TABLE <table_name> COALESCE;
Online update van logical rowids voor secondary indexen met: ALTER INDEX <index_name> UPDATE BLOCK REFERENCES;
Online move van overflow segmenten: ALTER TABLE <table_name> MOVE ONLINE TABLESPACE data1 OVERFLOW TABLESPACE data2;
Online Analyze Validate Het ANALYZE VALIDATE commando wordt nu uitgevoerd zonder een DML lock om beschikbaarheid te verbeteren. Dit betekend dat de validate structure option gebruikt kan worden zonder impact op de gebruikers. |