28. december 2004 - 22:18Der er
14 kommentarer og 1 løsning
RMAN lidt hjælp
Jeg har på det seneste bøvlet en del i Rman og må jo erkende at det er ganske enkelt at benytte.
Jeg har dog et spørgsmål jeg ikke rigtig kan finde svaret på nogle steder.
Når man kører en "backup database" så bliver der jo taget en kopi af alle filer, som bliver lagt over i en stor. Hvis vi nu i teorien siger, at serveren går op i røg og alt ryger skal man jo kunne genskabe basen ud fra denne fil.
Så jeg vil jo gerne teste om jeg kan få skabt databasen lokal på min pc - det burde jo være muligt, nu da jeg har lavet en "backup database".
Nogen der kan forklare lidt om hvordan det kan lade sig gøre ?!
Ja .. nemt synes jeg nu ikke umiddelbart det ser ud .. men alt er jo nemt hvis man kender det ;)
Jeg har tænkt på en anden mulighed. Hvis jeg nu tager en kold backup, som en slags "basis" backup. Hvis jeg så kopierer selve database filerne over på min pc, så må jeg jo kunne starte databasen.
De backup´er jeg så har lavet, må jeg jo kunne "smide" oveni og på den måde se om databasen virker ? ..
Nu ved jeg ikke hvilken platform du er på - men formoder det er Win2000 eller XP?
Hvis du tager en kold backup af din database kan du sagtens restore den til din lokale maskine. Det kan du iøvrigt også hvis det er en hot backup - så længe du har archive filer til det.
Start med at installere softwaren på din lokale maskine i nøjagtig samme version som på din server. Lav evt en database med samme SID som den på din server. Men sørg for at den er lukket ned. Derefter restore du dine datafiler til din lokale maskine + controlfiler og redolog filer. Umiddelbart skal de placeres samme steder som din server for at det virker, ellers må du lige sige til -> så kan vi lave en ny controlfil til dig istedet.
Kopier så din servers init.ora til din lokale maskine.
Det jeg mener er hvis jeg først ligger en kold backup som f.eks. er en måned gammel på min lokale pc. De backup`er jeg har taget der f.eks. er et par uger gamle må jeg så kunne kører og den måde teste backup`en. I mine backup`s har jeg inkluderet archivelog filer samt kontrolfiler, så ud fra det må jeg vel også kunne gendanne databasem uden at skulle flytte noget manuelt ?..
Ja. Bare følg min anvisning ovenover..Du behøver ikke archive filerne hvis du kan leve med at starte databasen som den så ud da den var lukket og du tog backuppen.
OK - det er lidt noget rod. På serverne ligger installationen af databasen i d:\oracleq\ på min pc har jeg lagt det på c:\oracle. Jeg kan seføli gå igang med at partitionere og så installerer oracle i samme folder, men findes der en måde jeg kan omgås dette ?
seleve softwaren er ligemeget. Det er mere dine datafiler, redologfiler og controlfiler der skal placeres rigtigt.
1. Hvis datafiler eller redologfiler ikke ligger rigtigt skal du lave en ny controlfil. 2. Hvis dine controlfiler ikke ligger hvor de skal kan du rette i init.ora
Fik rettet i init.ora så den nu kom igennem det med kontrol filerne. Men det er galt med de øvrige filer såsom system01.dbf. Den fejl den kommer med, kan jeg se den henviser til serverens sti .. skal der er ny control fil til at løse dette ?.. hvilket kommando er det liige man skal "fyre" af til dette
Jeg kopierede alle datafiler, control filer osv. over i database folderen. Da jeg forsøgte at starte databasen meldte den en fejl i pwd filen, som jeg efterfølgende kopierede.
Så forsvandt den fejl, men når jeg forsøger at starte databasen melder den at den ikke kan finde system01.dbf, hvor serverens sti står.
Det her er normalt noget der kræver en hel del recovery erfaring det her.
1. Gå ind på dit productions-system og lav en 'alter database backup controlfile to trace;' Du får nu en trace fil i dit udump directory med et 'create controlfile' statement i.
2. Kopier scriptet til din egen pc og ret det til så alle sti'er passer. Bemærk at der er 2 udgaver af scriptet i filen - Du skal enten bruge resetlog eller noresetlog scriptet.
3. Start test-databasen i nomount mode 'startup nomount'
4. Kør scriptet
5. Recover databasen indtil det tidspunkt du ønsker.
Men i normale recovery tilfælde - altså hvis serveren falder fra hinanden, så vil det vil være lettest at kopierer filerne ind i samme biblioteks struktur, hvor man så vil undgå disse problemer ?
Man kan jo ikke lave an controlfile to trace, hvis serveren er brudt sammen og hvad vil man så gøre ?
Normalt ville du jo have en backup af din controlfil som du vil restore + du vil restore alle de datafiler til det rigtige sted. Det her er jo kun fordi du restore til et helt andet drev.
Ellers er det jo administratorens opgave at sørge for at sådanne ting er på plads i tilfælde af recovery.
Som du jo nok har fundet ud af er jeg ikke den store oracle specialist :) - har dog været på et DBA kursus samt backup kursus.
Det du skriver forstår jeg ikke helt "Normalt ville du jo have en backup af din controlfil som du vil restore".
Jeg laver jo en ganske almindelig "backup database" (inkl. archivelog filer) - den indeholder vel også en backup af control filerne?. Så den backup jeg kører vil vel også kunne bruges i hvis ALT skal genskabes .. altså selve databasen
OK - det er lykkedes mig at genskabe den kolde backup på min maskine. Men nu vil jeg jo så opdaterer databasen med gårsdagens backup f.eks. Jeg har jo backup filerne, men hvordan fortæller jeg oracle at den skal genskabe ud fra disse backup filer fra igår ? og er det ligegyldigt hvor de er placreet ?
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.