Administracja bazy danych Oracle 10g
Transkrypt
Administracja bazy danych Oracle 10g
Administracja bazy danych Oracle 10g Oracle Database Administration część 6 Tworzenie tabeli Create table [schema.] NAME (column datatype [, column datatype] …) [TABLESPACE tablespace] [pctfree integer] [pctused integer] [initrans integer] [maxtrans integer] [Segment storage clause] [logging | nologging] [cache | nocache] Tworzenie tabeli • • • • • Schemat (ang. Schema) jest właścicielem tabeli. NAME jest nazwą tabeli. COLUMN jest nazwą kolumny (pola). DATATYPE określa typ danych w kolumnie. TABLESPACE jest nazwą przestrzeni tabel, gdzie tabela zostanie utworzona. • LOGGING / NOLOGGING określa czy chcemy posiadać informację o tworzeniu tabeli w plikach redo log. • CACHE / NOCACHE określa jak bloki danych tabeli będą traktowane przez bufor pamięci (ang. buffer cache). Tworzenie tabeli • Tabela jest tworzona w przestrzeni tabel (ang. tablespace). Przestrzeń tabel nie może być tymczasowa lub wycofana z transakcji (ang. UNDO tabelspace). • W celu zmniejszenia fragmentacji (informacja zawarta w tabeli jest zapisywana na dysku w dużej ilości porcji o małych rozmiarach) jest wskazane używanie kilku rozszerzeń, które są wielokrotnością 5 * db_block_size. 5 * 8k = 40k * 1000 = 40 M 5 * 16k = 80k * 10000 = 800 M • Tabele, które mają mały rozmiar (relatywne do pamięci operacyjnej) i są często używane (słownikowe) należy umieścić w pamięci operacyjnej, wykorzystując opcję CACHE. Tworzenie tabeli - zakładka Administration Schema Tables Tworzenie tabeli - zakładka Administration Schema Tables Tworzenie tabeli - zakładka Administration Schema Tables Tworzenie tabeli - zakładka Administration Schema Tables Tworzenie tabeli - zakładka Administration Schema Tables Tworzenie tabeli - zakładka Administration Schema Tables Migracja danych • Migracja - sytuacja, kiedy wiersz tabeli, który jest w jednym bloku, jest aktualizowana i w bloku brakuje miejsca do wykonania aktualizacji, wiersz jest usuwany z tego bloku i zapisywany w innym bloku. • ROWID wiersza, który uległ migracji pozostaje bez zmian. • Przy występowaniu migracji lub łańcuchowaniu wierszy mamy do czynienia ze spadkiem szybkości wymiany informacji między pamięcią operacyjną a dyskiem (ang. I/O performance). • Łańcuchowanie wierszy może być zminimalizowane poprzez wybór większej wielkości bloku danych lub podział tabeli z wiersza o dużej wielkości na kilku tabelach. Alter table (zmiana tabeli) • W celu zmiany istniejącej tabeli jest używane polecenie ALTER TABLE: • Alter table [schema.] table {[storage-clause] [pctfree integer] [Pctused integer] [Initrans integer] [maxtrans integer]} • Zmiany w parametrach przechowywania obowiązują dla nowych rozszerzeń tabeli. • Wartość parametru IINITAL nie może być zmieniana. • Wartość parametru NEXT jest zaokrąglona w górę do wielokrotności db_block_size. Alter table (zmiana tabeli) • Zmiany w parametrach PCTFREE oraz INITRANS obowiązują tylko dla nowych bloków. • Zmiany w parametrach PCTUSED oraz MAXTRANS obowiązują dla wszystkich bloków. Alter table (zmiana tabeli) koniec tej części Otwórz następną część kursu