Oracle sqloader

Oracle sqloader

SQLOODER to narzędzie w bazie danych Oracle, które umożliwia ładowanie danych z plików zewnętrznych do bazy danych. To narzędzie pozwala załadować dane z wielu formatów, w tym pliki tekstowe (przecinek, karta i rurowe), stałą szerokość i pliki binarne. SQLOODER jest często używany do ładowania dużych ilości danych do bazy danych, ponieważ jest on znacznie szybszy niż tradycyjne instrukcje wstawienia.

SQL*ładowarka ma kilka zalet w porównaniu z innymi metodami ładowania danych do bazy danych. Jest szybki, wydajny i może obsługiwać duże ilości danych. Może również ładować dane z wielu plików danych i selektywnie ładować określone wiersze danych na podstawie określonych kryteriów.

Ten samouczek ma na celu zrozumienie, w jaki sposób możemy użyć narzędzia SQLOODER w bazach danych Oracle do ładowania danych z plików zewnętrznych.

Aby użyć SQLOODER, najpierw musisz utworzyć plik sterujący, który określa szczegóły danych, które chcesz załadować, takie jak lokalizacja plików danych, format danych oraz kolumny i tabele, do których dane powinny być załadowane. Po utworzeniu pliku sterowania możesz użyć polecenia SQLLDR do uruchomienia SQLOODER i załadować dane do bazy danych.

Polecenie Oracle Sqlldr

Polecenie SQLLDR pozwala wywołać narzędzie SQLOODER i załadować określone dane. Składnia polecenia jest jak pokazano:

sqlldr [opcje] control = Control_file

Gdzie Control_file jest ścieżką i nazwą pliku sterowania, który określa szczegóły danych, które chcesz załadować.

Niektóre zaakceptowane opcje do użycia z poleceniem SQLLDR, aby dostosować sposób ładowania danych, obejmują:

  1. Identyfikator użytkownika - Określa nazwę użytkownika i hasło podczas łączenia się z bazą danych. Ta opcja jest zwykle używana w formularzu UserId = Nazwa użytkownika/hasła.
  2. Dziennik - Określa ścieżkę i nazwę pliku dziennika, w którym ładowarka SQL*pisze informacje o obciążeniu danych.
  3. Zły - Określa ścieżkę i nazwę pliku złego, w którym ładowarka SQL*pisze rekordy, których nie można załadować.
  4. Pominąć - Określa liczbę rekordów do pominięcia przed załadowaniem danych. Może to być przydatne, jeśli chcesz pominąć wiersz nagłówka w pliku danych.

NOTATKA: Potrzebujesz zarówno pliku sterowania, jak i pliku danych. Jak sama nazwa wskazuje, plik sterujący, znany również jako plik parametru, służy do definiowania parametrów obciążenia używanych przez narzędzie SQLOODER, podczas gdy plik danych zawiera dane do załadowania do bazy danych.

Jak korzystać z narzędzia SQLOODER

Pokazajmy, w jaki sposób możemy użyć narzędzia SQLOODER do załadowania przykładowego pliku CSV do bazy danych.

Plik zawiera następujące informacje:

1, Jessey, 5108751129385546, Stany Zjednoczone
2, Cullan, 30158095148532, Chiny
3, Larry, 560228155212200, Myanmar
4, Brewer, 676215234357374423, Stany Zjednoczone
5, Iago, 5010120503889936, Grecja

Zacznijmy od zdefiniowania pliku kontrolnego z zawartością, jak pokazano następująco:

Załaduj dane
Do użytkowników tabeli
WSTAWIĆ
Pola zakończone przez „”
(
ID,
imię,
karta kredytowa,
kraj
)

Dostarczany kod określa plik sterujący narzędzia ładującego SQL*do ładowania danych z pliku CSV do tabeli bazy danych Oracle.

W pliku kontrolnym znajdziesz informacje takie jak:

  1. Instrukcja danych obciążenia, która wskazuje, że narzędzie ładujące SQL*ładuje dane z pliku danych do bazy danych.
  2. Klauzula infilna, która określa ścieżkę do pliku danych. W naszym przypadku jest to plik CSV o nazwie user_info.Dat
  3. Klauzula do tabeli, która ustawia nazwę tabeli docelowej w bazie danych. W naszym przypadku jest to tabela użytkowników.
  4. Następnie pola zakończone klauzulą, która określa, że ​​wartości danych w pliku CSV są oddzielone przecinkiem (,).
  5. Następnie ustawiamy listę kolumn w tabeli użytkowników i odpowiednich typów danych.
  6. Możesz także użyć klauzuli SET, aby zdefiniować, że kolumna identyfikatora jest ustawiona na następną wartość w sekwencji sekwencji SESSESE_SESS. To automatycznie generuje unikalną wartość klucza podstawowego dla każdego rekordu załadowanego do tabeli użytkowników.

NOTATKA: Może być konieczne zdefiniowanie sekwencji użytkownika, jak pokazano w poniższym przykładzie:

Utwórz sekwencję SEDES_SEDENCE
Zacznij od 1
Przyrost o 1;

Ta instrukcja tworzy sekwencję o nazwie SEARS_SESENCE, która zaczyna się od jednego i przyrostu o 1 dla każdej nowej wartości, która jest dodawana do tabeli.

Po przygotowaniu danych i plików sterujących musimy zdefiniować plik parametrów, który reguluje sposób, w jaki narzędzie SQLOODER obsługuje proces ładowania.

userid = HR/Hasło
Control = Control_file.CTL
log = user_load_data.dziennik
BAD = user_load_data.zły
data = user_info.Dat
Direct = True

Parametry są wyjaśnione w następujący sposób:

  1. identyfikator użytkownika - Parametr UserID określa nazwę użytkownika i hasło do użycia podczas łączenia się z bazą danych Oracle. W takim przypadku musimy podłączyć się jako użytkownik HR z określonym hasłem.
  2. kontrola - Ten parametr określa nazwę i lokalizację pliku sterowania dla narzędzia ładujące SQL*. W naszym przykładzie używamy pliku Control_.CTL z obecnego katalogu roboczego.
  3. dziennik - Parametr dziennika ustawia nazwę pliku dziennika, którą generuje narzędzie ładujące SQL*.
  4. zły - W tym przypadku zły parametr reprezentuje nazwę złego pliku, który narzędzie ładujące SQL*generuje do przechowywania dowolnych rekordów, których nie można załadować z powodu błędów.
  5. dane - Ten parametr ustawia nazwę pliku do pliku danych, który ma zostać załadowany do bazy danych.
  6. bezpośredni - Wreszcie, bezpośredni parametr określa, czy narzędzie do ładowania SQL*powinno korzystać z trybu bezpośredniego ładowania ścieżki. Tryb bezpośredni omija niektóre wbudowane kontrole bazy danych, takie jak integralność i kontrole ograniczeń. Może to znacznie zwiększyć prędkość ładowania, szczególnie w dużym zestawie danych.

Następnym krokiem jest utworzenie tabeli użytkowników, w której ładujemy dane docelowe.

Utwórz użytkowników tabeli (
numer identyfikacyjny,
First_name varchar2 (50),
credit_card varchar2 (100),
kraj Varchar2 (50)
);

Gdy wszystkie pliki będą gotowe, możemy otworzyć terminal i wywołać polecenie SQLLDR, jak pokazano w poniższym przykładzie:

$ sqlldr userid = hr/hasło parfile = paramfile.par

NOTATKA: Możesz nazwać plik danych, sterowania i PARAM z dowolną dopuszczalną nazwą pliku. Pamiętaj, aby odwołać się do poprawnej nazwy pliku w poleceń.

Powinno to załadować dane do tabeli użytkowników i wydrukować następujące dane wyjściowe:

$ sqlldr parfile = paramfile.par
SQL*ładowarka: wydanie 19.0.0.0.0 - ****
Ścieżka użyta: bezpośredni
Załaduj ukończone - logiczna liczba rekordów 5.
Użytkownicy tabeli:
5 wierszy pomyślnie załadowanych.
Sprawdź plik dziennika:
user_load_data.dziennik

Aby sprawdzić, czy dane zostały załadowane do bazy danych, możemy wybrać wszystkie wartości z tabeli w następujący sposób:

Wybierz * od użytkowników;

Wynik:

Wniosek

W tym samouczku napotkałeś narzędzie SQLOODER, narzędzie wiersza poleceń w bazie danych Oracle, które umożliwia ładowanie danych z plików zewnętrznych do bazy danych Oracle. Odkryłeś różne metody i techniki, w tym definiowanie pliku sterowania i pliku parametrów oraz załadowanie danych do bazy danych. Chociaż narzędzie SQLOODER może początkowo wydawać się zastraszające, mamy nadzieję.

Dlatego korzystanie z narzędzia ładującego SQL*może być korzystne dla szybkiego i wydajnego ładowania dużych ilości danych do bazy danych Oracle.