|
| Oracle: sqlldr-generator som alternativ t~ Fra : Thorbjørn Ravn Ander~ |
Dato : 01-12-03 14:38 |
|
Vi har en database på cirka 100 Gb som er genereret med exp, og derfor
skal indlæses med imp i Oracle 9i. Da vi bruger denne i testøjemed skal
den genetableres med jævne mellemrum, og det tager ganske enkelt for
lang tid, hvorfor jeg leder efter et alternativ til imp til genindlæsning.
Jeg mindes at sqlldr kan bringes til at være særdeles hurtig med de
rigtige parametre, og da vi er i en situation hvor vi kan oprette
tabeller, indekser osv osv uafhængigt af dataimporten, og denne kun skal
levere rækkeindhold, kan jeg formentlig klare mig med et værktøj som kan
lave en sqlldr datafil pr tabel ud fra en eksisterende database, som kan
køre på enten Solaris eller Windows.
Er der nogen der kender et sådant værktøj - det behøver ikke være
avanceret, men må gerne være robust.
På forhånd tak,
--
Thorbjoern Ravn Andersen "...plus...Tubular Bells!"
| |
Nikolaj Hansen (02-12-2003)
| Kommentar Fra : Nikolaj Hansen |
Dato : 02-12-03 17:56 |
|
Der er flere ting du kan gøre:
1. Lad være med at exportere alle dine data til test. Hvis der er 100 giga
er det næppe nødvendigt med alle for at kunne lave en fungerende test
database.
2. Hvis du går uden om exp/imp kan du med fordel slå indexes fra på dine
tabeller og bygge dem til sidst efter insert i de tomme tabeller.
3. Sqlldr med direct path. Hopper uden om constraints, redo og commits. Går
lynhurtigt, men man skal naturligvis holde tungen lige i munden.
Eks:
LOAD DATA
INFILE 'places.txt'
INTO TABLE places
INSERT
FIELDS TERMINATED BY X'09' TRAILING NULLCOLS
(
loc_id,
name,
city,
phone
)og så sqlldr userid=user99/tiger control=places.ctl direct=true
skip_index_maintenance=true readsize=131070
| |
Thorbjørn Ravn Ander~ (03-12-2003)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 03-12-03 09:10 |
|
Nikolaj Hansen wrote:
> 1. Lad være med at exportere alle dine data til test. Hvis der er 100 giga
> er det næppe nødvendigt med alle for at kunne lave en fungerende test
> database.
Testdata stammer udefra, og vi har allerede konstrueret en lille
version. Det er den store vi har brug for at teste mod for at checke
skalering.
> 3. Sqlldr med direct path. Hopper uden om constraints, redo og commits. Går
> lynhurtigt, men man skal naturligvis holde tungen lige i munden.
>
> Eks:
> LOAD DATA
> INFILE 'places.txt'
> INTO TABLE places
> INSERT
> FIELDS TERMINATED BY X'09' TRAILING NULLCOLS
Gerne. Kender du et værktøj der kan lave denne fil fra en eksisterende
databasetabel?
--
Thorbjoern Ravn Andersen "...plus...Tubular Bells!"
| |
Nikolaj Hansen (03-12-2003)
| Kommentar Fra : Nikolaj Hansen |
Dato : 03-12-03 21:18 |
|
> Gerne. Kender du et værktøj der kan lave denne fil fra en eksisterende
> databasetabel?
Jeg er 99% sikker på, at sidste version af TOAD har værktøjer til at
generere SQLLDR filer ud fra en / flere tabeller. Jeg kan lige undersøge det
når jeg er tilbage fra arbi til i morgen.
| |
|
|