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

Podobne dokumenty
SQL*Loader. Export/Import

ORACLE partycjonowanie

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

Ładowanie i reorganizacja

Bazy danych. Polecenia SQL

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

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

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

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

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

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

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

Tabela wewnętrzna - definicja

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

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

Autor: Joanna Karwowska

Wykład 5. SQL praca z tabelami 2

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

Rozwiązanie. Uruchom program Access 2007.

CREATE USER

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

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

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

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

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

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

CitiDirect Online Banking Eksport

NOWY SZABLON IMPORTU PLIKÓW

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

Kopie zapasowe w SQL Server. Michał Bleja

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

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

2017/2018 WGGiOS AGH. LibreOffice Base

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Wykład 2. Relacyjny model danych

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

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

Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

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

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

DECLARE VARIABLE zmienna1 typ danych; BEGIN

CitiDirect BE Portal Eksport

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

Optymalizacja poleceń SQL Statystyki

Database Connectivity

Instrukcje DML INSERT, UPDATE, DELETE. COPY

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

NOWY SZABLON IMPORTU PLIKÓW

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

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

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

Wykład 2. SQL 1 Structured Query Lenguage

Pakiety podprogramów Dynamiczny SQL

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

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

SQL :: Data Definition Language

I. Interfejs użytkownika.

Oracle11g: Wprowadzenie do SQL

System Inwentaryzacji Systemów Teleinformatycznych

Systemy baz danych 2 laboratorium Projekt zaliczeniowy

PODRĘCZNIK UŻYTKOWNIKA PRACOWNIK SPZOZ

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

CitiDirect EB Portal Eksport

Relacyjne bazy danych. Podstawy SQL

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

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

Fizyczna struktura bazy danych w SQL Serwerze

Widok Connections po utworzeniu połączenia. Obszar roboczy

Projektowanie systemów baz danych

060 SQL FIZYCZNA STRUKTURA BAZY DANYCH. Prof. dr hab. Marek Wisła

1. Połączenie z bazą danych. W wybranym edytorze tworzymy plik sqltest.py i umieszczamy w nim poniższy kod. #!/usr/bin/python3 import sqlite3

Bazy danych Access KWERENDY

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

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Statystyki (1) Optymalizacja poleceń SQL Część 2. Statystyki (2) Statystyki (3) Informacje, opisujące dane i struktury obiektów bazy danych.

Administracja bazy danych Oracle 10g

Server Oracle - System Zarządzania Bazą Danych - składa się z instancji Oracle i bazy danych Oracle Instancja Oracle - pewne procesy drugoplanowe i

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

Instrukcjaaktualizacji

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

DODATEK: Import i eksport danych Eksport przy użyciu SELECT a

Instrukcja użytkownika programu QImport (wydanie I r.)

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

Formularze w programie Word

SZKOLENIE: Administrator baz danych. Cel szkolenia

Relacyjne bazy danych. Podstawy SQL

Autor: dr inż. Katarzyna Rudnik

Hurtownie danych. Ładowanie, integracja i aktualizacja danych. INTEGRACJA DANYCH ETL

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować:

Instrukcja obsługi Multiconverter 2.0

Język SQL. Rozdział 2. Proste zapytania

Instrukcja użytkownika ARSoft-WZ3

Kurs. Podstawy MySQL

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

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

Transkrypt:

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

System Zarządzania Bazami Danych Oracle Loader możliwe jest przenoszenie danych z plików zewnętrznych do tabel bazy danych Oracle a sqlldr control = <nazwa_pliku_sterującego> [<opcje>] Export, Import są wykorzystywane do wykonywania operacji eksportu/importu danych np. podczas tworzenia kopii zapasowych. Zbiory eksportowane są zapamiętywane (zachowywane) w formacie binarnym Oracle (tylko!) i mogą zostać przeczytane jedynie przy pomocy narzędzia Import exp [userid/passwd] [parfile= <zb_z_parametrami>]

Loader ładuje dane do wielu tabel w tym samym przebiegu 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 rozbijane na wiele rekordów fizycznych filtrowane CONTINUEIF, CONCATENATE INTO TABLE ładowane selektywnie WHEN

Loader może generować w kolumnach: unikalne sekwencje liczbowe (klauzula SEQUENCE 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 Loader a wymagane sterujący (control file) z danymi (data file) opisuje, jak interpretować plik WE z danymi, domyślne rozszerzenie.dat, śladowy (log file) generowane na żądanie musi być dostępny, aby ładowanie mogło się odbyć; są tu informacje o przebiegu ładowania, wierszy odrzuconych (bad file) wiersze są tu zapisane w formacie ładowania, mogą zostać poprawione i użyte jako plik wejściowy, wierszy pominiętych (discard file) gdy dane nie spełniają kryteriów określonych klauzulą WHEN.

Pliki SQL Loader a sterujący (control file), z danymi (data file), śladowy (log file), wierszy odrzuconych (bad file), wierszy pominiętych (discard file.

Plik wierszy odrzuconych.bad Do tego pliku trafiają dane z: niewłaściwym formatem wejściowym (np. KOWALSKI ), nieunikalną wartością klucza, pola wymagające wartości pustej, powodujące błąd Oracle.

6. Statystyki podsumowujące. SQL*Loader Informacje zawarte w pliku.log 1. Nagłówek (data specyfikująca dzień, miesiąc, rok ładowania, nr wersji Loader a). 2. Informacje ogólne (nazwy zbiorów wejściowych oraz wyjściowych, wyszczególnienie argumentów, które wystąpiły w linii komend, specyfikacja symbolu kontynuacji). 3. Informacje o tabeli/tabelach (nazwa tabeli, warunki ładowania /klauzula WHEN/, opcja ładowania /INSERT APPEND REPLACE/, informacje o kolumnach /pozycja, długość, typ, ograniczniki kolumn,../) 4. Informacje o zbiorach danych (ta część występuje tylko dla zbioru/ów z błędnymi danymi - numer błędu (Loader a i Oracle a), rekordy odrzucone) 5. Informacje o przebiegu ładowania (dla każdej z tabel - liczba załadowanych wierszy, liczba wierszy odrzuconych z powodu błędów, liczba wierszy, których pola były NULL, )

Przebieg ładowania ścieżka konwencjonalna Kiedy ładuje się indeksowaną tabelę, która musi pozostać dostępna Kiedy ładuje się nieindeksowaną tabelę, która musi pozostać dostępna dla wstawień lub uaktualnień Kiedy ładuje się przez SQL*Net stosunkowo małe ilości wierszy do dużych indeksowanych tabel? ścieżka bezpośrednia

Ścieżka konwencjonalna domyślna 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 czytane za jednym razem może spowalniać ładowanie konkuruje z innymi zasobami Oracle a o zasoby bazy 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żywane są tylko puste bloki Ścieżka bezpośrednia tworzy bloki danych, które już są w formacie bloków danych Oracle nie używa SQL-owej komendy INSERT do wstawiania bloków do bazy jest szybsza od konwencjonalnej Generowane bloki są bezpośrednio zapisywane do bazy danych używa procedur zarządzania przestrzenią do uzyskania następnego obszaru (wskaźnik HWM) wymusza zastosowanie niektórych więzów integralności na wierszach tabeli (UNIQUE, PRIMARY, NULL) nie są wykonywane zapisy w plikach dziennika

HWM Wskaźnik HIGH_WATER_MARK jest maksymalną ilością przestrzeni, jaką baza użyła dla tabeli.

Zapis bloków do bazy Metoda konwencjonalna Procesy użytkowników Polecenia SQL Metoda bezpośrednia Server Oracle Przetwarzanie poleceń SQL Zarządzanie przestrzenią Zarządzanie buforami BUFORY (kolejkami, rozwiązywanie sporów) Czytanie bloków Zapis bloków

Budowa pliku sterującego LOAD DATA INFILE nazwa_zbioru_z_danymi * DISCARDFILE nazwa_zbioru_dsc APPEND REPLACE INSERT CONTINUEIF THIS warunek CONCATENATE n INTO TABLE nazwa_tabeli WHEN warunek_nałożony_na_pole (pozycja nazwa_kolumny) operator symbol FIELDS TERMINATED BY symbol_oddzielający_pola OPTIONALLY ENCLOSED BY symbol_ograniczający TRAILING NULLCOLS (nazwa_kolumny_której odpowiada_pierwsze_pole specyfikacja_kolumny, nazwa_kolumny_której odpowiada_drugie_pole specyfikacja_kolumny, )

Budowa pliku sterującego LOAD DATA INFILE nazwa_zbioru_z_danymi * DISCARDFILE nazwa_zbioru_dsc POSITION (numer : numer) specyfikacja typu pola APPEND REPLACE INSERT CONTINUEIF THIS warunek CONCATENATE NULLIFn warunek_nałożony_na_pole INTO TABLE nazwa_tabeli TERMINATED BY symbol_kończący_pole WHEN warunek_nałożony_na_pole DATE(20) format_daty FIELDS TERMINATED BY symbol_oddzielający_pola OPTIONALLY ENCLOSED BY symbol_ograniczający wartość_kolumny_automatycznie_generowana TRAILING NULLCOLS (nazwa_kolumny_której odpowiada_pierwsze_pole specyfikacja_kolumny, nazwa_kolumny_której odpowiada_drugie_pole specyfikacja_kolumny, )

Polecenia pliku sterującego 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 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) LOAD DATA - informacja o niezależności między danymi a kolumnami w tabeli(-ach) CONCATENATE - liczba 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 wart. NULL BEGIN DATA -słowo kluczowe, będące nagłówkiem dla danych przeznaczonych do ładowania, umieszczonych bezpośrednio w pliku sterującym

Opcje linii komend USERID CONTROL LOG BAD DISCARD DATA DISCARDMAX SKIP LOAD ERRORSr ROWS BINDSIZE SILENT DIRECT PARFILE -wyspecyfikowanie nazwy użytkownika/hasło - wyspecyfikowanie nazwy pliku sterującego - wyspecyfikowanie nazwy pliku śladowego - wyspecyfikowanie nazwy pliku ze złymi wierszami - wyspecyfikowanie nazwy pliku z wierszami pominiętymi - wyspecyfikowanie nazwy pliku z danymi do załadowania -maksymalna ilość odrzuconych wierszy, nie powodująca przerwania ładowania danych - ilość wierszy do pominięcia - ilość rekordów (logicznych), które zostaną zewnętrznymi danymi - dopuszczalna ilość błędów nie przerywających procesu ładowania - określenie momentu wystąpienia punktu zachowania - rozmiar tablicy wiązania - zablokowanie kierowania komunikatów na ekran podczas ładowania - bezpośrednia ścieżka ładowania - wyspecyfikowanie nazwy pliku z parametrami

Formaty danych wejściowch 1. fixed record format : każdy rekord ma tę samą długość w bajtach 2. variable record format : długość każdego rekordu jest zapisana w pierwszym polu rekordu 3. stream record format : długość każdego rekordu jest dowolna

Przykład wydzial nr kod miasto number(2) varchar2(5) varchar2(10) np01.txt 12,RAU2,"WARSZAWA" 10,"RMT1",KRAKOW 11,"SJO",GLIWICE 13,RME2,"POZNAN" 21,"RAU1",GLIWICE. 22,"RMCH1",RYBNIK 42,"TT",OPOLE 21,"RG1",GLIWICE 22,"RAU3",WROCLAW 30,"SJO",LODZ np01.ctl LOAD DATA INFILE np01.txt BADFILE np01.bad DISCARDFILE np01.dsc INSERT INTO TABLE wydzial FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' (nr, kod, miasto)

System Zarządzania Bazami Danych Oracle Export

Oracle - Export Po co eksport? do archiwizacji logicznej bazy danych, żeby precyzyjnie wybrać dane, które mają trafić do kopii archiwalnej, żeby odzyskać dane o różnym poziomie ziarnistości np. pojedyncze tabele wybranego użytkownika, wszystkie obiekty wybranego użytkownika,, plik eksportu może być wykorzystany do przenoszenia danych między różnymi bazami danych.

Oracle - Export 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

Oracle - Export Tryby eksportu Eksport przyrostowy umożliwia sporządzenie pełnych kopii tych tabel, których zawartość bądź definicja uległa zmianie od czasu wykonania ostatniego eksportu przyrostowego, kumulacyjnego lub pełnego. Zmiana definicji wyzwalacza związanego z daną relacją również powoduje wyeksportowanie danej relacji. Eksport kumulacyjny sporządza pełne kopie tych tabel, których zawartość bądź definicja uległa zmianie od czasu wykonania ostatniego eksportu kumulacyjnego lub pełnego. Oznacza to, że kopie danych sporządzone za pomocą wcześniejszych eksportów inkrementalnych są już niepotrzebne ponieważ znajdują się w pliku ostatniego eksportu kumulacyjnego. Eksport pełny jest równoważny eksportowi całej bazy danych. Dodatkowo, wykonanie tego eksportu powoduje usunięcie informacji systemowych związanych z każdą relacją bazy danych, a dotyczących kolejnych eksportów inkrementalnych i kumulacyjnych.

Oracle - Export Uwagi 1. W czasie eksportowania danych baza danych musi być otwarta (online), oznacza to, że użytkownicy mogą modyfikować jej zawartość. 2. Przed wyeksportowaniem każdej z tabel system sporządza jej kopię z danej chwili. Zmiany wprowadzane do tabeli w czasie jej eksportowania nie znajdą się więc w pliku eksportu. 3. Jeżeli jednak nie jest pożądane aby użytkownicy mieli dostęp do bazy danych w czasie jej eksportowania, to należy bazę otworzyć w trybie RESTRICT.

Oracle - Export Specyfikacja parametrów programu exp 1. W trybie interaktywnym, w którym system pyta o wartości parametrów. 2. W linii komend polecenia exp. 3. W pliku parametrów określonym słowem kluczowym PARFILE. exp FILE=d:\export\uzytk_u1u2.dat OWNER=(u1, u2) LOG=d:\export\exp.log exp FILE=d:\export\u1u2_1.dmp TABLES=(u1.pracownicy, u2.studenci) LOG=d:\export\log1

Oracle - Export Polecenia pliku z parametrami 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 BUFFER - maksymalna liczba wierszy w tabeli ROWS - eksport wierszy 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.

Export pełny tabela 1 Baza danych tabela 2 tabela 3 zbiór eksportowy tabela 3 tabela 4 tabela 2 tabela 4 Indeks 1 Indeks 2 tabela 1 Indeks 1 Indeks 2 exp sys/manager inctype complete

Export przyrostowy modyfikacja Baza danych zbiór eksportowy tabela 1 tabela 2 tabela 3 tabela 3 tabela 4 Indeks 1 Indeks 2 Indeks 2 tabela 1 exp sys/manager inctype incremental

Export kumulacyjny kombinacja eksportów przyrostowych z kolejnych chwil czasu (t 1 t 2 t 3.. t n ) modyfikacja w chwili t 1 Baza danych zbiór eksportowy tabela 1 tabela 2 tabela 3 tabela 3 tabela 1 tabela 4 Indeks 1 Indeks 2 Indeks 2 tabela 4 modyfikacja w chwili t 2 Indeks 1 exp sys/manager inctype cumulative

Rys. 4. Zależności między eksportem inkrementalnym, kumulacyjnym i pełnym Export I eksport przyrostowy C eksport kumulacyjny eksport pełny d dni

to już koniec Wesołych Świąt!