Avatar billede picard Nybegynder
01. februar 2002 - 13:17 Der er 5 kommentarer og
2 løsninger

Hjælp, kan ikke finde tabel

Hejsa

Jeg har et problem !

Vi har en Oracle DB, indeholdende nogle tekster som vi skal have trukket ud af den.

Problemet er bare at vi ikke kan finde disse tekster i DB !

Benytter vi derimod en HEX Editor til at søge databasen igennem med, kan vi sagtens finde teksterne, men vi kan ikke finde den tabel hvori de ligger ?!


Vi ved altså at teksterne er der, men vi kan ikke finde tabellen ! Det drejer sig om nogle meget lange tekster.

Er der et værktøj til Oracle som kan bruges til at søge alle tabllerne igennem efter en tekst  ? Eller er der andre smarte måder hvorpå man kan finde tabllen der indeholder teksterne ??

mvh.

Christian

p.s.

Har selvfølgelig, kigget alle tabellerne igennem manuelt!
Avatar billede jgammelg Nybegynder
01. februar 2002 - 17:46 #1
Du kan sikkert ikke se dine tekster, fordi de er gemt i en col med format LOB. Prøv at kigge i dba_lobs for at finde de tabeller, som indeholder LOBS. Med lidt held er der ikke ret mange, og det skulle være muligt at finde teksterne.

mvh
Jimmy
Avatar billede jgammelg Nybegynder
01. februar 2002 - 17:54 #2
For at hente/ændre data i en LOB skal du bruge DBMS_LOB PL/SQL pakken.

Jimmy
Avatar billede Slettet bruger
04. februar 2002 - 08:44 #3
Det kunne jo også være at data er slettet og at det I kan se, ikke er i brug.
Avatar billede coily Nybegynder
04. februar 2002 - 12:03 #4
Hvis i kan bruge en HEX-editor ved i hvilken database fil i skal finde tabellen i.
Udfra offset i filen kan i beregne blok nummer ud fra db_block_size
fx ofset på 20.000 bytes block size 8K så er det i block 3
når i har fundet det kan i bruge DBA_EXTENTS til at finde det segment der anvender denne block find et det største block_id der er mindre eller lig med den block i tro data findes i.
Avatar billede picard Nybegynder
06. februar 2002 - 11:09 #5
Tak for hjælpen.

Jeg har nu fundet tabellen, med de forsvundne tekster.

mvh.

Christian
Avatar billede jgammelg Nybegynder
06. februar 2002 - 12:21 #6
Hvordan ?
Avatar billede picard Nybegynder
19. februar 2002 - 17:47 #7
Det viste sig at de lå i oracle basen, men når jeg bladrede tabellerne igennem kunne jeg ikke se teksten og troede derfor at tabellerne var tomme.

Jeg lavede derfor et udtrak over de tabeller i databasen der bestod af et LONG felt, og den vej kunne jeg udelukke utrolig mange tabeller.

Og ved lidt stædighed viste det sig at når man klikkede på feltet så blev teksten vist.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester