Toon posts:

Oracle Database exporteren

Pagina: 1
Acties:
  • 119 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoe kan ik in Oracle 8i een database exporteren naar een text-bestand (dus een .sql)... Ik wil dit doen in sql+

Ik heb al wel gezocht.. maar kon niets vinden... Op internet kom ik niets verder.

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

:?

Dat je iets krijgt van:

CREATE TABLE Huppeldepup....

En dan voor ieder record:
INSERT INTO Huppeldepup VALUES (...,...,...);

Bedoel je dat? (Zoja: daar weet ik niks voor).

Siditamentis astuentis pactum.


Verwijderd

Op maandag 04 maart 2002 14:38 schreef Varienaja het volgende:

Bedoel je dat?
ja dat ja :)

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Je kunt 'em exporteren naar een Oracle proprietary formaat.
Naar een tekstbestand gaat niet met Oracle sofware.

Er zijn wel tools die het eea. in deze richting kunnen, onder andere TOAD van quest.

Who is John Galt?


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Ik gebruik TOAD daar kan je volgens mij zowel content als structure mee scripten.

  • elemans
  • Registratie: Mei 2000
  • Laatst online: 11-09 14:36
Dus we hebben het niet over het EXP commando?

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op maandag 04 maart 2002 14:49 schreef elemans het volgende:
Dus we hebben het niet over het EXP commando?
Nope, daarmee krijg je een export in proprietary platformonafhankelijk formaat.

Who is John Galt?


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Ik gebruikte altijd SQL*Plus.
code:
1
2
3
spool temp
select * from tabel;
spool off

Met SQL*loader is dit zo weer in te laden je krijgt gewoon een text bestand met de inhoud van de tabel
wel even de linesize goed zetten anders krijg je meerdere regels per record.

Verwijderd

Topicstarter
Maar een normaal mysqldump-achtig-commando is er niet?

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op maandag 04 maart 2002 15:50 schreef samba het volgende:
Maar een normaal mysqldump-achtig-commando is er niet?
Niet in die vorm, zie mijn eerste reply in dit topic.
Wat wil je ermee bereiken?

Who is John Galt?


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Op maandag 04 maart 2002 15:50 schreef samba het volgende:
Maar een normaal mysqldump-achtig-commando is er niet?
Mijn oplossing lijkt me toch redelijk dumperig

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 04 maart 2002 16:30 schreef justmental het volgende:
Niet in die vorm, zie mijn eerste reply in dit topic.
Wat wil je ermee bereiken?
Tot op zekere hoogte kan het wel :)

Eerst je file exporteren dmv 'exp' en dan "viewend" importeren met 'imp'. Even met de helpfiles ervan checken hoe het precies werkt.

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op maandag 04 maart 2002 17:58 schreef ACM het volgende:

[..]

Tot op zekere hoogte kan het wel :)

Eerst je file exporteren dmv 'exp' en dan "viewend" importeren met 'imp'. Even met de helpfiles ervan checken hoe het precies werkt.
Dan heb je alleen de ddl sql te pakken.
Geen data dus.

Who is John Galt?


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 04 maart 2002 20:00 schreef justmental het volgende:
Dan heb je alleen de ddl sql te pakken.
Geen data dus.
Volgens mij kan je daar de data ook mee krijgen, maar dat weet ik niet zeker :)
Is al tijdje geleden dat ik dat gebruikt heb...

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op maandag 04 maart 2002 20:02 schreef ACM het volgende:

[..]

Volgens mij kan je daar de data ook mee krijgen, maar dat weet ik niet zeker :)
Is al tijdje geleden dat ik dat gebruikt heb...
Tijd om de kennis op te frissen dan :)
Gaat helaas niet op deze manier.

Who is John Galt?


  • Killemov
  • Registratie: Januari 2000
  • Laatst online: 11-09 10:38

Killemov

Ik zoek nog een mooi icooi =)

Tja ... 't blijft Hema-spul he, dat Oracle. Of heb jij de documentatie gewoon niet (gelezen)? Je hebt er vast wel iets als een dbexport, dbunload of dbschema bij zitten.

Hey ... maar dan heb je ook wat!


  • 80000
  • Registratie: Januari 2002
  • Laatst online: 17:09

80000

mrox

justmental:
Dan heb je alleen de ddl sql te pakken.
Geen data dus.
Uiteraard ondersteunt exp en imp data om te transferen. Het voordeel boven een sqlplus download, is dat je het hele ratjetoe van indexes, synoniemen, grants, etc mee kan exporteren. Deze optie heeft helemaal de voorkeur als je kolommen hebt van een data type object.

justmental:
Tijd om de kennis op te frissen dan
Gaat helaas niet op deze manier.
Zie:
http://download-west.oracle.com/otndoc/oracle9i/901_doc/server.901/a90192/toc.htm

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op maandag 04 maart 2002 22:15 schreef 80000 het volgende:
justmental:
[..]

Uiteraard ondersteunt exp en imp data om te transferen. Het voordeel boven een sqlplus download, is dat je het hele ratjetoe van indexes, synoniemen, grants, etc mee kan exporteren. Deze optie heeft helemaal de voorkeur als je kolommen hebt van een data type object.

justmental:
[..]

Zie:
http://download-west.oracle.com/otndoc/oracle9i/901_doc/server.901/a90192/toc.htm
:)
exp en imp waren al genoemd en zijn natuurlijk De geeigende methode om data over te halen, maar de topicstarter was op zoek naar een ascii flat file oplossing.
Dat kan gedeeltelijk met de show=y optie van imp, maar dan niet voor de data.

Who is John Galt?


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 04 maart 2002 22:19 schreef justmental het volgende:
Dat kan gedeeltelijk met de show=y optie van imp, maar dan niet voor de data.
En met FULL=y ?

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 14:27

mulder

ik spuug op het trottoir

Op maandag 04 maart 2002 20:10 schreef Killemov het volgende:
Tja ... 't blijft Hema-spul he, dat Oracle. Of heb jij de documentatie gewoon niet (gelezen)? Je hebt er vast wel iets als een dbexport, dbunload of dbschema bij zitten.
Volgens mij trap je nu heeeeeeel hard op heeel veeeeel teentjes :D

oogjes open, snaveltjes dicht


  • 80000
  • Registratie: Januari 2002
  • Laatst online: 17:09

80000

mrox

justmental:
exp en imp waren al genoemd en zijn natuurlijk De geeigende methode om data over te halen, maar de topicstarter was op zoek naar een ascii flat file oplossing.
oh, ok, ASCII?!

justmental - maandag 04 maart 2002 16:30:
Wat wil je ermee bereiken?
Boeiende vraag!

|:(

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 14:27

mulder

ik spuug op het trottoir

Op maandag 04 maart 2002 22:50 schreef 80000 het volgende:
Boeiende vraag!

|:(
Jazeker, zal het even aan de hand van een kleine conversatie toelichten.

- "Hallo meneer welke bus is het snelst bij centraal"
- "Kun je beter de metro nemen"
- "Thanks dude!"

oogjes open, snaveltjes dicht


  • Dash2in1
  • Registratie: November 2001
  • Laatst online: 31-08 22:49
Vraag me eigenlijk af hoe je data ge-exporteerd van een Oracle 8 db over kan zetten naar een Oracle 7 .. database-link? toch maar ascii?

Ga me nou niet vragen waarom svp :)

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op maandag 04 maart 2002 22:37 schreef ACM het volgende:

[..]

En met FULL=y ?
Nope, en ook niet met rows=y.

Who is John Galt?


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Op maandag 04 maart 2002 22:50 schreef 80000 het volgende:
Boeiende vraag!

|:(
Zeker een boeiende vraag.
Als er nu bijvoorbeeld dit speelt:
Op maandag 04 maart 2002 23:33 schreef Dash2in1 het volgende:
Vraag me eigenlijk af hoe je data ge-exporteerd van een Oracle 8 db over kan zetten naar een Oracle 7 .. database-link? toch maar ascii?

Ga me nou niet vragen waarom svp :)
Dan zou ik zeggen:
Je moet dan de data met een versie 7 exp utility uit de 8 database exporteren, dan kun je 'em ook weer inlezen met de versie 7 imp.

Who is John Galt?


  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Ik zeg het nog maar een keer:
Ik gebruikte altijd SQL*Plus.
code:
1
2
3
4
5
6
7
set header off
set lines 500
set feedback off
en misschien nog wat sets
spool temp
select * from tabel;
spool off

ascii dump dus.
Volgens mij is dit wat ie wil.
Met een te schrijven script generator zijn de SQL's zo uit de DataDictionary aan te maken.

Geen IMP of EXP en in elke DBMS weer te laden.
Wel even de CREATE scripts aanpassen aan het nieuwe DBMS.

  • DvE
  • Registratie: Mei 2000
  • Laatst online: 11-09 19:21

DvE

ORA-00000

Op dinsdag 05 maart 2002 15:12 schreef Goodielover het volgende:
Ik zeg het nog maar een keer:
Ik gebruikte altijd SQL*Plus.
code:
1
2
3
4
5
6
7
set header off
set lines 500
set feedback off
en misschien nog wat sets
spool temp
select * from tabel;
spool off

ascii dump dus.
Volgens mij is dit wat ie wil.
Met een te schrijven script generator zijn de SQL's zo uit de DataDictionary aan te maken.

Geen IMP of EXP en in elke DBMS weer te laden.
Wel even de CREATE scripts aanpassen aan het nieuwe DBMS.
Zo, hallo? En wat wil je met dit fantastische SQL script bereiken. Hiermee krijg je leuke output, NOT!

Verwijderd

Je kan gewoon met TOAD via tools naar export gaan en daar aanvinken waarvan je sql scriptjes wel creeeren. je kan alles doen, sequences, data. create tables etc

suc6 ermee

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op woensdag 06 maart 2002 09:25 schreef DvE het volgende:
Zo, hallo? En wat wil je met dit fantastische SQL script bereiken. Hiermee krijg je leuke output, NOT!
Ipv dat je dan een mooi voorbeeld geeft wat wel een goede oplossing is?

Verwijderd

Topicstarter
Oke, conclusie: `er zijn meerdere mogelijkheden`...

Als eerste ga ik TOAD even proberen...

:9~

  • Goodielover
  • Registratie: November 2001
  • Laatst online: 18-08 11:34

Goodielover

Only The Best is Good Enough.

Op woensdag 06 maart 2002 09:25 schreef DvE het volgende:

[..]

Zo, hallo? En wat wil je met dit fantastische SQL script bereiken. Hiermee krijg je leuke output, NOT!
Hiermee krijg je alle velden van de tabel "tabel" in een bestand temp. Een ascii dump dus. YES

Verwijderd

Ik heb ff een procedure geschreven voor het insert gedeelte van de data.

Eerst ff een tabel aanmaken:
code:
1
2
create table insert_statement
  ( statement long );

Hier komt het script in dat je kunt runnen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
create or replace 
procedure insertscript 
  ( p_table_name in varchar2 )
is
  /* Auteur : Sebastiaan Gros.
     Datum  : 07/03/2002
  */
  cursor c_getColumns
    ( b_table_name in varchar2 )
  is
    select   column_name    column_name
    ,     data_type   data_type
    from     user_tab_columns
    where    upper( table_name ) = upper( b_table_name )
    order by column_id;  
  --
  sql_select varchar2(32000);
  l_first    boolean := true;
  l_comma    varchar2(50);
begin
  sql_select := 'select '||''''||'insert into ' || p_table_name 
                 || ' values ( ' || '''' || '||';               
                    
  for r_gC in c_getColumns( b_table_name => p_table_name )
  loop
    if l_first
    then
    l_comma := '';
    l_first := false;
    else
    l_comma := '||'||''''||','||''''||'||';
    end if;
    --  
    if r_gC.data_type = 'VARCHAR2'
    then
    sql_select := sql_select 
              || l_comma|| '''''''''' ||'||'|| r_gC.column_name||'||' || '''''''''';
    else
    sql_select := sql_select 
            || l_comma || r_gC.column_name;
    end if;    
  end loop;                 
  sql_select := sql_select || '||' ||''''|| ');' || '''';
  sql_select := sql_select || ' from ' || p_table_name;
  insert into insert_statement values( sql_select );
  commit;
end insertscript;

Wanneer je deze procedure runt dan wordt er een script geinsert in de table insert_statement.
Wanneer je dit script nu runt (met spool aan b.v.) dan krijg je voor de opgegeven tabel alle inserts.

Verwijderd

Topicstarter
Merci... di capri... di manibiquivalentie!
Pagina: 1