01. februar 2002 - 13:17Der 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!
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.
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.
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.
Synes godt om
Ny brugerNybegynder
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.