(Lab 2 Prezentacja metod transportu danych

background image

Hurtownie Danych na platformie ORACLE

pozyskiwanie

Zasilanie

Analiza

Raportowanie

Wnioskowanie

OLAP Server

Multiple Table Insert /Upsert

Transportable tablespace.

GATEWAY (homo)

Rafał Kowalski

Transport danych

1

Wnioskowanie

SQLLDR

External table

Data Pump

GATEWAY (hetero/homo)

Multiple Table Insert

Upsert

Index

Constraint

Partitioning

Materialized view

Dimension (Hierarchy)

Fact

background image

Transport danych

SQL*Plus

(

SPOOL

)

OCI, Pro*C

SQLLDR

Tabele zewn

ę

trzne

Pliki

tekstowe

EKSPORT

IMPORT

Pozyskiwanie

EXPORT

IMPORT

Rafał Kowalski

Transport danych

2

Pliki binarne

Sieci

komputerowe

EXPORT

IMPORT

Przenoszenie przestrzeni tabel

Partycjonowanie tabel

Tabele zewn

ę

trzne/Pompa danych

BRAMY HETEROGENICZNE

(np.: odbc)

BRAMY HOMOGENICZNE

(

Rozproszone transakcje)

Zasilanie

background image

SQL

(eksport)

ZADANIE 4:

Napisa

ć

skrypt

EMPEXP.SQL

, który stworzy nast

ę

puj

ą

cy plik tekstowy:

7369;"SMITH";"CLERK";7902;17-12-1980;800;
7499;"ALLEN";"SALESMAN";7698;20-02-1981;1600;300
7521;"WARD";"SALESMAN";7698;22-02-1981;1250;500
7566;"JONES";"MANAGER";7839;02-04-1981;2975;

SET COLSEP ';'

Rafał Kowalski

Transport danych

3

SET HEADING OFF
SET FEEDBACK OFF
SET PAGESIZE 0
SPOOL &1..txt
SELECT empno||';"'||ename||'";"'||job||'";'||mgr||

';'||TO_CHAR(hiredate,'DD-MM-YYYY')||';'||sal||';'||comm

FROM emp;
SPOOL OUT
SET HEADING ON
SET FEEDBACK ON
SET PAGESIZE 15

background image

SQLLDR

Rafał Kowalski

Transport danych

4

background image

SQLLDR

– separator kolumn

CREATE TABLE etl_zaliczenie (

ETL_ZALICZENIE_SEP.CTL

LOAD DATA

INFILE 'test2.dat'

APPEND

INTO TABLE etl_zaliczenie

FIELDS TERMINATED BY ","

OPTIONALLY ENCLOSED BY '"'

(imie, nazwisko, ocena,

"Rafał","Kowalski",5,2003-10-12

„Donald",„Kaczor",3,2003-09-12

ETL_ZALICZENIE_SEP.DAT

Rafał Kowalski

Transport danych

5

C:\ORACLE9\BIN\SQLLDR userid=scott/tiger control= ETL_ZALICZENIE_SEP.ctl

ETL_ZALICZENIE_SEP.BAT

CREATE TABLE etl_zaliczenie (

imie VARCHAR2(20)

, nazwisko VARCHAR2(20)

, ocena NUMBER(2)

, datazal DATE

);

(imie, nazwisko, ocena,

datazal DATE "YYYY-MM-DD")

background image

CREATE TABLE etl_zaliczenie (

SQLLDR

– stały format kolumn

ETL_ZALICZENIE_KOL.CTL

LOAD DATA

INFILE 'test2.dat'

APPEND

INTO TABLE etl_zaliczenie

( imie POSITION(1:6)

,nazwisko POSITION(8:15)

,ocena POSITION(17:17)

Rafał Kowalski 5 2001-10-12

Donald Kaczor 3 2001-09-12

ETL_ZALICZENIE_KOL.DAT

Rafał Kowalski

Transport danych

6

CREATE TABLE etl_zaliczenie (

imie VARCHAR2(20)

, nazwisko VARCHAR2(20)

, ocena NUMBER(2)

, datazal DATE

);

SQLLDR userid=scott/tiger control= ETL_ZALICZENIE_KOL.ctl

ETL_ZALICZENIE_KOL.BAT

,ocena POSITION(17:17)

,datazal POSITION(19:29) DATE "YYYY-MM-DD„

)

background image

Import Zaawansowany

OPTIONS (DIRECT=TRUE)

UNRECOVERABLE LOAD DATA

INFILE 'purchases.dat' BADFILE 'purchases.bad'

APPEND

INTO TABLE purchases

PARTITION (purchases_jan2005)

LOAD DATA

Rafał Kowalski

Transport danych

7

sqlldr USERID=easydw/easydw CONTROL=purchases.ctl

LOG=purchases.log DIRECT=TRUE SKIP_INDEX_MAINTENANCE=TRUE

LOAD DATA

INFILE 'product.dat' append

INTO TABLE product WHEN product_id != BLANKS

FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY "'"

(product_id "upper(:product_id)",

background image

create directory etl_ext_source as '/opt/ora9/oradata/etl';

grant read,write on directory etl_ext_source to public;

CREATE TABLE etl_zaliczenie (

imie

CHAR(20)

, nazwisko

CHAR(50)

, ocena

NUMBER(2)

)

ORGANIZATION EXTERNAL (

Tabele Zewn

ę

trzne/SqlLoader

– formatowanie „naturalne”

ETL_ZALICZENIE.DAT

"Rafa";"Kowalski";5;2003-10-12
"Donald"; "Kaczor";3;2003-09-12
"Łakomczucha"; "Mucha";2;2003-10-21

Rafał Kowalski

Transport danych

8

ORGANIZATION EXTERNAL (

TYPE oracle_loader

DEFAULT DIRECTORY etl_ext_source

ACCESS PARAMETERS (

RECORDS DELIMITED BY newline

FIELDS TERMINATED BY ';'

OPTIONALLY ENCLOSED BY '"'

)

LOCATION('etl_zaliczenie.dat')

);

UNIX "\n"

Win "\r\n"

background image

CREATE TABLE etl_zaliczenie (

imie

CHAR(20)

, nazwisko

CHAR(50)

, ocena

NUMBER(2)

,

datazal

DATE

)

ORGANIZATION EXTERNAL (

TYPE oracle_loader

DEFAULT DIRECTORY etl_ext_source

Tabele Zewn

ę

trzne/SqlLoader

– formatowanie „strukturalne”

ETL_ZALICZENIE.DAT

"Rafa";"Kowalski";5;2003-10-12
"Donald"; "Kaczor";3;2003-09-12
"Łakomczucha"; "Mucha";2;2003-10-21

Rafał Kowalski

Transport danych

9

DEFAULT DIRECTORY etl_ext_source

ACCESS PARAMETERS (

RECORDS DELIMITED BY "\r\n"

FIELDS TERMINATED BY ';'

OPTIONALLY ENCLOSED BY '"'

(imie, nazwisko, ocena,

datazal CHAR(10) DATE_FORMAT DATE MASK "YYYY-MM-DD"

)

)

LOCATION('etl_zaliczenie.dat')

);

UNIX "\n"

Win "\r\n"

background image

CREATE TABLE purchases_xt2(

product_id VARCHAR2(8)

,time_key DATE

CREATE TABLE purchases_xt ORGANIZATION EXTERNAL (

TYPE ORACLE_DATAPUMP

DEFAULT DIRECTORY xt_dir

ACCESS PARAMETERS (version ‘10.2.0’)

LOCATION ('purch_xt.dmp')

) AS SELECT * FROM purchases;

Tabele Zewn

ę

trzne/DataPump

purchases

xt_dir

purch_xt.dmp

,customer_id VARCHAR2(10)

. . .

) ORGANIZATION EXTERNAL(

TYPE ORACLE_DATAPUMP

DEFAULT DIRECTORY xt_dir

LOCATION ('purch_xt.dmp')

);

Rafał Kowalski

Transport danych

10

Purchases_xt2

background image

ROZPROSZONE TRANSAKCJE

Lokalna

hurtownia

danych

Za siedmioma lasami
... gdzie

ś

bardzo daleko w

ś

wiecie,

pracuje operacyjna baza danych „EarthSea„

promocje

vetch = (...)

TNSNAMES.ORA

CREATE DATABASE LINK vetch

CONNECT TO wsisiz IDENTIFIED BY bartek USING ‘vetch';

Rafał Kowalski

Transport danych

11

CONNECT TO wsisiz IDENTIFIED BY bartek USING ‘vetch';

INSERT INTO etl_promocje SELECT * FROM promotions@vetch;

DROP DATABASE LINK vetch;

CREATE DATABASE LINK vetch

CONNECT TO wsisiz IDENTIFIED BY bartek
USING '(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST =62.179.58.161) (PORT = 1521))

(CONNECT_DATA = (SID = XE) ) )';

INSERT INTO etl_promocje SELECT * FROM promotions@vetch;

DROP DATABASE LINK vetch;

background image

Brama HETEROGENICZNA

Oracle
Transparent
Gateway

Oracle
Transparent
Gateway

SERWER ORACLE

<$oracle_home>\network\admin\

listener

.ora

...
(SID_DESC =

(PROGRAM = hsodbc)
(SID_NAME =

ETL

)

...

Oracle

Client

<$oracle_home>\hs\admin\

init

etl

.ora

...

NET 8

Rafał Kowalski

Transport danych

12

Ź

ródło danych

relacyjnych

(

etl_odbc_msacc.mdb

)

Sterownik ODBC

MS Windows: systemowe DSN

ETL

...

HS_FDS_CONNECT_INFO =

ETL

...

<$oracle_home>\network\admin\

tnsnames

.ora

...
ETL_MSACC =

(DESCRIPTION =

(ADDRESS = ...)
(CONNECT_DATA = (SID =

ETL

))

(HS =OK))

SERWER ORACLE

background image

Brama HETEROGENICZNA

1

Serwer ODBC

a.

Stworzy

ć

katalog i baz

ę

MS Access dla

ź

ródeł danych typu ODBC

C:\temp\odbc\etl_odbc_msacc.mdb

Rafał Kowalski

Transport danych

13

background image

Brama HETEROGENICZNA

2

Serwer ODBC

b.

Doda

ć

nowe

ź

ródło danych ODBC.

Przej

ść

przez

ś

cie

ż

k

ę

menu: Start -> Settings ->

Control panel i otworzy

ć

okno

ź

ródeł danych ODBC.

Rafał Kowalski

Transport danych

14

c.

Stworzy

ć

nowe

ź

ródło typu MS Access

Driver.

d.

Wypełni

ć

parametry nowego

ź

ródła ODBC.

Wpisa

ć

nazw

ę

ETL” i wypełni

ć ś

cie

ż

k

ę

do pliku

etl_odbc_msacc

.MDB”

background image

Brama HETEROGENICZNA

3

W katalogu {Oracle HOME} nale

ż

y odszuka

ć

podkatalog [HS], a w nim

podkatalog [ADMIN],np.:

C:\ORACLE\ORA81\HS\ADMIN\

W katalogu [ADMIN] nale

ż

y skopiowa

ć

plik inithsodbc.ora na nowy plik

opisu poł

ą

czenia

ź

ródła danych ODBC. Nazwa nowego pliku MUSI

mie

ć

posta

ć

: INIT{SID}.ORA, na przykład: "

INIT

ETL

.ORA

".

e.

Przygotowa

ć

informacje steruj

ą

ce bram

ą

poł

ą

czenia

heterogenicznego.

(Klucz do bramy)

Rafał Kowalski

Transport danych

15

mie

ć

posta

ć

: INIT{SID}.ORA, na przykład: "

INIT

ETL

.ORA

".

HS_FDS_CONNECT_INFO = ETL

HS_FDS_TRACE_LEVEL = OFF

#

# Environment variables required for the

non-Oracle system

#

#set <envvar>=<value>

Przykładowy plik

INITETL.ORA.

Nazwa

ź

ródła ODBC

background image

Brama HETEROGENICZNA

4

W katalogu {Oracle HOME} nale

ż

y odszuka

ć

katalog [NETWORK], a w

nim katalog [ADMIN],np.:

C:\ORACLE\ORA81\NETWORK\ADMIN\

W katalogu [ADMIN] nale

ż

y otworzy

ć

plik parametrów konfiguracyjnych

LISTENER.ORA i doda

ć

niezb

ę

dne parametry nowego nasłuchu.

f.

Przygotowa

ć

informacje steruj

ą

ce dla programu Listener instancji

Oracle.

Poł

ą

czenie bramy z

nasłuchem ORACLE

Rafał Kowalski

Transport danych

16

SID_LIST_LISTENER =

(SID_LIST =

* * *

(SID_DESC =

(PROGRAM = hsodbc)

(SID_NAME = ETL)

(ORACLE_HOME = c:\oracle9)

)

* * *

)

Nazwa zwi

ą

zana

z plikiem w
katalogu [HS].

background image

Brama HETEROGENICZNA

5

Aktywacja nasłuchu

O:\oracle\ora92\hs\admin>lsnrctl stop

LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - . . .

Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.

ł

ą

czy si

ę

z

(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=super)(PORT=1521)))

Polecenie zako

ń

czone powodzeniem

g.

Reaktywowa

ć

proces nasłuchu z nowym parametrem.

Rafał Kowalski

Transport danych

17

Polecenie zako

ń

czone powodzeniem

O:\oracle\ora92\hs\admin>lsnrctl start

. . .

Usługa „ETL" ma liczb

ę

instancji równ

ą

1.

Instancja „ETL", stan UNKNOWN, ma dla tej usługi 1

procedur

ę

obsługi

...

Polecenie zako

ń

czone powodzeniem

O:\oracle\ora92\hs\admin>

background image

Brama HETEROGENICZNA

5

konfiguracja poł

ą

czenia klienta

W katalogu {Oracle HOME} nale

ż

y odszuka

ć

katalog [NETWORK], a w

nim katalog [ADMIN],np.:

C:\ORACLE\ORA81\NETWORK\ADMIN\

W katalogu [ADMIN] nale

ż

y otworzy

ć

plik parametrów konfiguracyjnych

TNSNAMES.ORA i doda

ć

niezb

ę

dne parametry nowego aliasu

Nowy alias

h.

Na serwerze klienta trzeba zdefiniowa

ć

alias poł

ą

czenia z

serwerem bramy heterogenicznej.

Rafał Kowalski

Transport danych

18

ETL_MSAC =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)

(HOST =

koziolek.pacanow.edu.pl

)(PORT = 1521)

)

(CONNECT_DATA = (SID = ETL))

(HS =OK)

)

Nazwa zdefiniowana w pliku

konfiguracyjnym LISTENER.ORA

Nowy alias

poł

ą

czenia

NET8

background image

Brama HETEROGENICZNA

5

Odczyt zdalnej bazy danych.

SQL> CREATE DATABASE LINK etl_hg USING ‘ETL_MSAC’;

Powi

ą

zanie bazodanowe zostało utworzone.

SQL> SELECT * FROM zaliczenie@etl_hg;

i.

Stworzy

ć

logiczne poł

ą

czenie z baz

ą

danych i odczyta

ć

informacje.

Rafał Kowalski

Transport danych

19

. . .

background image

HOKUS POKUS

Konfiguracja bez protokołu NET 8

.

SQL>

SQL> CREATE DATABASE LINK etl_hg USING '(DESCRIPTION =

2 (ADDRESS = (PROTOCOL = TCP)

3 (HOST = koziolek.pacanow.edu.pl)(PORT = 1521))

4 (CONNECT_DATA = (SID = ETL))

5 (HS =OK)

6 )';

Powi

ą

zanie bazodanowe zostało utworzone.

Rafał Kowalski

Transport danych

20

SQL> SELECT * FROM channels@etl_hg;

SQL> SELECT * FROM countries@etl_hg;

SQL> SELECT * FROM promotions@etl_hg;

SQL> CREATE TABLE channels

AS SELECT * FROM channels@etl_hg;

SQL>

CREATE TABLE countries

AS SELECT * FROM countries@etl_hg;

SQL>

CREATE TABLE promotions

AS SELECT * FROM promotions@etl_hg;

. . .

background image

KONIEC

Rafał Kowalski

Transport danych

21


Wyszukiwarka

Podobne podstrony:
Lab 3 Prezentacja tworzenia struktury logicznej HD
Prezentacja angol, Transport, Transport, który współcześnie określilibyśmy jako ciężki, istniał już
Cwiczenie 1 lab fiz, PW Transport, Gadżety i pomoce PW CD2, płytki, ChujWieCo, fizyka, fizyka, spraw
Prezentacja suplementy i ochrona danych osobowych
Prezentacja metod organizacji i zarządzania
Lab 3 Prezentacja tworzenia struktury logicznej HD
Prezentacja 6 PIM transport masy w spiekaniu
TRANSPORT GAZU prezentacja
wyklad 2 Prezentacja danych PL
Rodzaje metod aktywizujących, ADL - dwudziestolecie, Dwudziestolecie międzywojenne, Teoria literatur
Instrukcja bhp-ręczne prace transportowe, BHP, prezentacje
02 PREZENTACJA DANYCH STATYSTYCZNYCH
Cw 27maciej, TRANSPORT, SEMESTR VI, ELEKTRONIKA II, elektonika 2 lab(1), Cw 27
Cw 27macie2j, TRANSPORT, SEMESTR VI, ELEKTRONIKA II, elektonika 2 lab(1), Cw 27

więcej podobnych podstron