SQL*Loader. Export/Import



Podobne dokumenty
System Zarządzania Bazami Danych Oracle. Import, eksport, ładowanie danych

ORACLE partycjonowanie

Ładowanie i reorganizacja

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Bazy danych. Polecenia SQL

Ref. 7 - Język SQL - polecenia DDL i DML

I. Interfejs użytkownika.

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Tabela wewnętrzna - definicja

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Kopie zapasowe w SQL Server. Michał Bleja

1. Przypisy, indeks i spisy.

Wykład 5. SQL praca z tabelami 2

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Projektowanie systemów baz danych

Wykład 8. SQL praca z tabelami 5

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Rozwiązanie. Uruchom program Access 2007.

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Składowane procedury i funkcje

Systemy GIS Tworzenie zapytań w bazach danych

W oknie konfiguratora Importu/Exportu należy wprowadzić odpowiednie ustawienia poprzez zaznaczenie pól kursorem myszki przy poszczególnych opcjach.

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Bazy danych. Dr inż. Paweł Kasprowski

bazy danych - heterogeniczność producenci funkcjonalność modele danych protokoły komunikacyjne

Przed zaimportowaniem danych należy odpowiednio skonfigurować sposób interpretacji danych z zakładki [Ustawienie pliku importu]

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań,

Cele. Definiowanie wyzwalaczy

Wykład 2. Relacyjny model danych

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

Klawisze szybkiego wyboru układu drabinkowego

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

Ile rekordów będzie zawierała tabela przy założeniu, że na początku była pusta?

Systemy baz danych. mgr inż. Sylwia Glińska

1 Zaznacz poprawne stwierdzenia dotyczące grup plików (filegroup) możemy określić do której grupy plików trafi

Pakiety podprogramów Dynamiczny SQL

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

T A B E L E i K W E R E N D Y

Administracja bazy danych Oracle 10g

Wykład 6. SQL praca z tabelami 3

CREATE USER

BAZY DANYCH Import i eksport danych Tworzenie kopii bezpieczeństwa oraz odzyskiwanie danych

Wykład 2. SQL 1 Structured Query Lenguage

Tabele przestawne tabelą przestawną. Sprzedawcy, Kwartały, Wartości. Dane/Raport tabeli przestawnej i wykresu przestawnego.

Wdrożenie modułu płatności eservice. dla systemu Magento

2017/2018 WGGiOS AGH. LibreOffice Base

Import danych z plików Excel. (pracownicy, limity urlopowe i inne)

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

W tej części zajmiemy się ćwiczeniami dotyczącymi modyfikacji rekordów.

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

DBPLUS Data Replicator Subtitle dla Microsoft SQL Server. dbplus.tech

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

Optymalizacja poleceń SQL Statystyki

BAZY DANYCH Cz III. Transakcje, Triggery

Bloki anonimowe w PL/SQL

ABC 2002/XP PL EXCEL. Autor: Edward C. Willett, Steve Cummings. Rozdział 1. Podstawy pracy z programem (9) Uruchamianie programu (9)

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

XML w bazie danych IBM DB2

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. asix. Aktualizacja pakietu asix 4 do wersji 5 lub 6. Pomoc techniczna

Szkolenie obejmuje zagadnienia związane z tworzeniem i zarządzaniem bazą danych Oracle, jej zasobami i dostępem do danych.

Instrukcja użytkownika aplikacji modernizowanego Systemu Informacji Oświatowej PRACA NA WIELU BAZACH DANYCH

Wykład 5: PHP: praca z bazą danych MySQL

Kod składa się z kodu głównego oraz z odpowiednich kodów dodatkowych (akcesoriów). Do kodu można przyłączyć maksymalnie 9 kodów dodatkowych.

(a) T (b) N (c) N (d) T

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

SHOPER INTEGRATOR XL BY CTI INSTRUKCJA

Należy uruchomid program: Start-Wszystkie programy- Microsoft Office- Microsoft Office Access 2007

Autor: Joanna Karwowska

SQL :: Data Definition Language

PODRĘCZNIK UŻYTKOWNIKA PRACOWNIK SPZOZ

Database Connectivity

WinUcz procedura uprzedniego wywozu

E-DEKLARACJE Dokumentacja eksploatacyjna 2017

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

Instalacja MySQL.

ORAPACK NARZĘDZIE DO OBCIĘCIA BAZY DANYCH TYPU ORACLE DLA SYSTEMU APTECZNEGO KS-AOW

Wykład 4. SQL praca z tabelami 1

SHOPER INTEGRATOR BY CTI INSTRUKCJA

BACKUP BAZ DANYCH FIREBIRD

Sposób tworzenia tabeli przestawnej pokażę na przykładzie listy krajów z podstawowymi informacjami o nich.

Nowa Netia administrator firmy Nagrywanie połączeń-zarządzanie

T-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15

Transkrypt:

Laboratorium Baz Danych SQL*Loader Export/Import Opracowała: Mgr inż. Aleksandra Werner

Laboratorium baz danych - SQL*Loader, Export, Import 3 1. SQL*Loader Przy pomocy narzędzia SQL*Loader możliwe jest przenoszenie danych z plików zewnętrznych do tabel bazy danych Oracle a. Uruchomienie następuje po podaniu w linii komend polecenia: sqlload control= <nazwa_pliku_sterującego> [<opcje>] Podczas pracy, SQL*Loader produkuje trzy rodzaje plików: śladowy (ang. log file), w którym zapisywane są informacje o przebiegu ładowania, ze złymi wierszami (ang. bad file), w którym są umieszczane wiersze nie załadowane ze względu na niepoprawność danych, z wierszami pominiętymi (ang. discard file), które nie mogły być wstawione do bazy, ponieważ nie zostały spełnione żadne kryteria wstawienia. 1.1.Tryby pracy SQL*Loader a Ścieżka bezpośrednia jest wykonywana tylko wtedy, gdy w linii komend parametr DIRECT jest ustawiony na TRUE. Praca z wykorzystaniem ścieżki bezpośredniej jest szybsza niż w przypadku zastosowania ścieżki konwencjonalnej ponieważ nie są używane żadne odwołania SQL Gdy jeden blok zostaje wypełniony, inne -puste- bloki są wypełniane, co również poprawia wydajność ładowania. W czasie pracy nie są wykonywane zapisy w plikach dziennikach. Ścieżka konwencjonalna jest ścieżką domyślną. Do załadowania danych do tabeli używana jest SQL -owa komenda INSERT oraz bufor budowanej w trakcie ładowania tablicy wiązania (ang. bind array). Używając ścieżki konwencjonalnej, SQL*Loader współzawodniczy z innymi procesami Oracle a o zasoby bazy co powoduje spowolnienie pracy. 1.2. Plik sterujący - polecenia Żeby rozpocząć pracę, SQL*Loader wymaga dwóch typów plików wejściowych: pliku z danymi do załadowania i pliku sterującego, opisującego dane. W skład pliku sterującego wchodzą: komentarze (poprzedzone znakami --), opcje oraz polecenia: USERID - wyspecyfikowanie nazwy użytkownika/hasło (w przypadku pominięcia parametru w linii komend) INFILE - wskazanie, w jakim pliku są dane do ładowania (jeżeli są w pliku sterującym po frazie BEGIN DATA, wówczas po słowie INFILE umieszczany jest znak *) INTO TABLE - wskazanie, które tabele zostaną załadowane danymi REPLACE - usuwa istniejące wiersze tabeli i ładuje na ich miejsce nowe

4 Laboratorium baz danych - SQL*Loader, Export, Import LOAD DATA - APPEND - rozbudowuje tabelę, dodając do niej nowe wiersze INSERT - ładuje dane tylko do pustej tabeli (jeżeli tabela nie będzie pusta, to wystąpi błąd) informacja o niezależności między danymi a kolumnami w tabeli (tabelach) CONCATENATE - ilość fizycznych rekordów składanych w jeden rekord logiczny, który zostanie wstawiony do bazy ROWS - określenie momentu wystąpienia punktu zachowania CONTINUE LOAD - liczba rekordów do przeskoczenia FIELDS TERMINATED BY - znak oddzielający dane mające wejść w skład poszczególnych kolumn ENCLOSED BY - znak (-i), będący ogranicznikiem pól tekstowych BAD FILE - wyspecyfikowanie nazwy zbioru, w którym znajdą się złe dane TRAILING NULLCOLS - ciąg spacji nie jest ładowany do tabeli jako odrębne kolumny z wartościami NULL BEGIN DATA - do sterującym 1.3. Opcje linii komend słowo kluczowe, będące nagłówkiem dla danych przeznaczonych ładowania, umieszczonych bezpośrednio w pliku W linii komend mogą się pojawić następujące opcje: USERID 1 - wyspecyfikowanie nazwy użytkownika/hasło CONTROL - wyspecyfikowanie nazwy pliku sterującego LOG - wyspecyfikowanie nazwy pliku śladowego BAD - wyspecyfikowanie nazwy pliku ze złymi wierszami DISCARD - wyspecyfikowanie nazwy pliku z wierszami pominiętymi DATA - wyspecyfikowanie nazwy pliku z danymi do załadowania DISCARDMAX - maksymalna ilość odrzuconych wierszy, nie powodująca przerwania ładowania danych SKIP 1 - ilość wierszy do pominięcia LOAD - ilość rekordów (logicznych), które zostaną załadowane zewnętrznymi danymi ERRORSr - dopuszczalna ilość błędów nie przerywających procesu ładowania ROWS 1 - określenie momentu wystąpienia punktu zachowania BINDSIZE - rozmiar tablicy wiązania SILENT - zablokowanie kierowania komunikatów na ekran podczas ładowania DIRECT - bezpośrednia ścieżka ładowania PARFILE - wyspecyfikowanie nazwy pliku z parametrami 1 polecenie może pojawić się albo w linii komend albo w pliku sterującym 4

Laboratorium baz danych - SQL*Loader, Export, Import 5 1.4. Skrót informacji o Loaderze Loader: ładuje dane: 1. do wielu tabel w tym samym przebiegu 2. z wielu plików źródłowych różnych typów Fizyczne rekordy mogą być: składane w 1 logiczny rekord, który jest wstawiany do bazy (CONTINUEIF, CONCATENATE) np. jeżeli mam 2 wiersze, a na końcu ostatniego, to piszę: CONTINUEIF LAST=, z dwóch fizycznych robi 1 logiczny lub: CONCATENATE 2 rozbijane na wiele rekordów fizycznych np. 1 fizyczny rekord podzielić na 2 logiczne (pierwsze 4 wart. do tabeli prac): INTO TABLE prac WHEN nr_proj!= (nrp POSITION(1:4),...) INTO TABLE proj WHEN nr_proj!= (nrp POSITION(1:4),...) filtrowane ładowane selektywnie (WHEN) Loader może generować w kolumnach: unikalne sekwencje liczbowe (klauzula SEQUENCE funkcja SEQUENCE(MAX,.. ) generuje unikalne wartości, znajdując bieżącą wartość maksymalną w kolumnie i inkrementując ją dla każdego wstawionego wiersza) aktualną datę (SYSDATE) wartości stałe (CONSTANT) numery rekordów (RECNUM) Pliki SQL*Loadera: wymagane 1. sterujący (control file) opisuje, jak interpretować plik WE z danymi 2. z danymi (data file) domyślne rozszerzenie.dat 3. śladowy (log file) musi być dostępny, aby ładowanie mogło się odbyć; są tu informacje o przebiegu ładowania 4. wierszy odrzuconych (bad file) tu wiersze są zapisane w formacie łądowania; mogą zostać poprawione i użyte jako plik WE Tu trafiają dane z: niewłaściwym formatem wejściowym (np. ALA - brak ) nieunikalną wartością klucza pola wymagające wartości pustej powodujące błąd Oracle a 5. wierszy pominiętych (discard file) gdy dane nie spełniają kryteriów określonych klauzulą WHEN; tu są szczegóły o wszystkich pominiętych wierszach 5. Generowane na żądanie

6 Laboratorium baz danych - SQL*Loader, Export, Import Ścieżka konwencjonalna Ścieżka bezpośrednia Domyślna tworzy bloki danych, które już są w formacie Oracle owych bloków danych używa SQL-owej komendy INSERT i bufora budowanej tablicy wiązania (bind array) do załadowania danych W macierzy wiązania są umieszczane wiersze (np. 100) czytane za jednym razem nie używa SQL-owej komendy INSERT do wstawiania bloków do bazy może spowalniać ładowanie jest szybsza od konwencjonalnej konkuruje z innymi zasobami Oracle a o zasoby bazy Generowane bloki są bezpośrednio zapisywane do bazy danych generowane są dodatkowe nagłówki jako komendy SQL-owe, następnie wysyłane do Oracle a i przetwarzane czeka na wypełnienie bufora danymi lub na koniec danych używa procedur zarządzania przestrzenią do uzyskania następnego obszaru * wymusza zastosowanie niektórych więzów integralności na wierszach tabeli (UNIQUE< PRIMARY, NULL) klauzula REENABLE w INTO TABLE używane są tylko puste bloki nie są wykonywane zapisy w plikach dziennika Kiedy używać? Kiedy ładuje się indeksowaną tabelę, która musi pozostać dostępna * Wskaźnik HIGH_WATER_MARK jest maksymalną ilością przestrzeni, jaką baza użyła dla tabeli Kiedy ładuje się nieindeksowaną tabelę, która musi pozostać dostępna dla wstawień/uaktualnień Kiedy ładowanie przez SQL*Net stosunkowo małych ilości wierszy do dużych indeksowanych tabel Typy danych: INTEGER EXTERNAL DECIMAL EXTERNAL 6

Laboratorium baz danych - SQL*Loader, Export, Import 7 DECIMAL(5,2) CHAR Identyfikują typ danych poszczególnych pól w zbiorze, a nie odpowiadających im kolumn w tabeli wyspecyfikowanej po INTO TABLE Komenda: SQLLDR USERID=... CONTROL=...CTL SKIP=135 ROWS=1000 (ilość wierszy wstawianych) 2. Export/ Import Narzędzia: Export i Import są wykorzystywane do wykonywania operacji eksportu/importu danych np. podczas tworzenia kopii zapasowych. Zbiory eksportowane są zapamiętywane (zachowywane) w formacie binarnym Oracle a (tylko!) i mogą zostać przeczytane jedynie przy pomocy narzędzia Import. Do dyspozycji administartora są trzy tryby eksportu: TABLE - dane są eksportowane do niesklastrowanej tabeli USER - eksportowane są wszystkie obiekty schematu użytkownika FULL DATABASE - eksportowana jest cała baza danych (trzeba mieć przywilej EXP_FULL_DATABASE) typ przyrostowy typ kumulacyjny typ pełny Sposób wywołania programu eksportującego tabele może przyjąć jedną z podanych niżej form: exp help=y pojawia się ekran pomocy z opisanymi komendami exp userid/passwd praca w trybie interakcyjnym exp userid/passwd parfile= <zb_z_parametrami> W pliku z parametrami mogą się m.i. znaleźć następujące polecenia: USERID - wyspecyfikowanie nazwy użytkownika inicjującego eksport FULL - czy praca w trybie FULL DATABASE FILE - wyspecyfikowanie nazwy pliku, do którego są eksportowane dane GRANTS - eksport przywilejów INDEXES - eksport indeksów CONSTRAINTS - eksport więzów integralności TABLES - lista tabel do wyeksportowania

8 Laboratorium baz danych - SQL*Loader, Export, Import BUFFER - maksymalna liczba rzędów w tablicy ROWS - eksport rzędów tabeli LOG - wyspecyfikowanie nazwy zbioru, do którego odsyłane są komunikaty FEEDBACK - po wyeksportowaniu ilu rzędów ma pojawić się na ekranie znak. Program importujący wyeksportowane wcześniej dane, jest wywoływany w sposób analogiczny do opisanych powyżej: imp help=y pojawia się ekran pomocy z opisanymi komendami imp userid/passwd praca w trybie interakcyjnym imp userid/passwd parfile= <zb_z_parametrami> 2.1. Przyrostowy typ eksportu Przy wykorzystaniu eksportu kumulacyjnego, wyeksportowane zostaną tylko te tabele (i związane z nimi indeksy), które uległy modyfikacji. Sposób wywołania: exp userid/passwd inctype incremental Baza danych Zbiór eksportowy Tablica 5 Tablica 4 Indeks 5 Tablica 2 Indeks 4 obiekty zmodyfikowane 8

Laboratorium baz danych - SQL*Loader, Export, Import 9 2.2. Kumulacyjny typ eksportu Kumulacyjny typ eksportu jest kombinacją eksportów przyrostowych z kolejnych chwil czasu (t 1 t 2 t 3.. t n ). Sposób wywołania: exp userid/passwd inctype cumulative Baza danych Zbiór eksportowy Tablica 5 Tablica 4 Indeks 5 Tablica 2 Indeks 4 obiekty zmodyfikowane w chwili t 1 Baza danych Zbiór eksportowy Tablica 5 Tablica 4 Indeks 5 Tablica 2 Indeks 4 Tablica 4 obiekty zmodyfikowane w chwili t 2 Indeks 4

10 Laboratorium baz danych - SQL*Loader, Export, Import 2.3. Pełny typ eksportu W pełnym trybie eksportu eksportowane są wszystkie obiekty bez względu na to czy uległy modyfikacji czy też nie. Sposób wywołania: exp userid/passwd inctype complete 10