Chciałbym mieć kompilację CI (np. Hudson) skonfigurować i zburzyć schemat Oracle 11g w ramach nocnego cyklu budowy/testowania dla dość wanilia Aplikacja JSF/JPA.Ustawienia/zerwanie Oracle schemat dla budowania CI bez fragmentacji katalogu
Najbardziej oczywistym sposobem na to jest upuszczenie i ponowne utworzenie wszystkich tabel. Chociaż wydaje się to dość normalne (przynajmniej to jest właśnie to, co narzędzia Hibernate/JPA wykonałyby automatycznie dla ciebie), miałem już bazy danych Oracle DBA ostrzegające mnie, że katalog Oracle zostanie rozproszony po wielokrotnych cyklach tworzenia/upuszczania obiektów. Ostatecznie spowoduje to problemy z wydajnością, ponieważ obszar tabel SYSTEM nie może być defragmentowany/scalony.
Moje pytania są następujące:
- jest fragmentacja prawdziwym problemem, czy nie jest to coś trzeba się martwić w typowym środowisku rozwoju webapp?
- jeśli fragmentacja naprawdę jest problemem, czy istnieje lepszy sposób na zburzenie i odtworzenie schematu w Oracle niż DROP TABLE/CREATE TABLE?
Dzięki!
LMT na własną rękę powinno wyeliminować wszelkie obawy, które ktoś miał z fragmentacją, zakładając, że obszar tabel "SYSTEM" jest zarządzany lokalnie. Nie jest dla mnie oczywiste, że ASM dodaje cokolwiek. ASM wydaje się być znacznie bardziej politycznie i technicznie kontrowersyjną technologią, ponieważ polega na umożliwieniu administratorom DBA obsługiwać więcej zadań związanych z zarządzaniem pamięcią masową, co oznacza przeniesienie odpowiedzialności z grup, które robią to dzisiaj. Z drugiej strony, LMT są martwym mózgowo najwyraźniej lepszym zamiennikiem dla starych stołów zarządzanych przez słownik (DMT). –
@ JustinCave: dzięki za podpowiedź. Usunąłem komentarz na temat ASM (i tak nie byłem pewien) –