Avatar billede amoelle Nybegynder
18. maj 2004 - 16:30 Der er 9 kommentarer og
1 løsning

afvikle PL/SQL script med no logging

jeg skal afvikle et sqlstyrescript, der kalder en masse andre scripts med hhv DDL kommandoer og PL/SQL kode (opgradering af databasestruktur og data)

Det hele skal køre i nolog mode, -

skal jeg connecte med option nolog
(sqlplus akm/akm@database @myScript.sql /nolog)

eller skal jeg connecte  (sqlplus akm/akm@database)
og derefter fyre scriptet med option nolog (@myScript.sql /nolog)

- og er der overhovedet forskel ??


eller skal jeg gøre noget helt tredje ?

på forhånd tak
/Anne
Avatar billede lap Nybegynder
18. maj 2004 - 16:37 #1
nolog - betyder det, at der ikke skal komme en log på skærmen eller skal der ikke genereres archive_log ? - eller måske noget 3. ?
Avatar billede amoelle Nybegynder
18. maj 2004 - 16:40 #2
Jeg spooler log og kommentarer ud i en lst fil under selve opgraderingen, - så det er selve archive_log jeg skal have slået fra.
Avatar billede Slettet bruger
18. maj 2004 - 17:37 #3
Du kan ikke slå archive-log fra.

I så fald skal du gøre det på tablespacet og med specielle options sat på dit load.

sqlplus /nolog betyder bare at du starter sqlplus uden at logge på
Avatar billede Slettet bruger
18. maj 2004 - 17:46 #4
Hvis du vil slå archivelog fra, skal du lukke databasen, starte den i mount. mode
køre 'alter database noarchivelog', lukke ned, rette init.ora og starte op.

se evt:
http://www.dbaclick.com/modules.php?op=modload&name=News&file=article&sid=218
Avatar billede amoelle Nybegynder
18. maj 2004 - 21:39 #5
Tak for hjælpen, jeg tænkte nok, at der skulle mere til  :-)

Grunden til at loggen skal slås fra, er at der skal opgraderes i to trin:
først på en kørende database med hovedparten af data for at undgå nedetid
og i trin 2 på den stoppede database på resten af data.
I realiteten vil det jo sige, at jeg ikke kan køre uden archivelog i det første trin, men først i det andet.
Avatar billede lap Nybegynder
18. maj 2004 - 21:58 #6
generelt kan det ikke anbefales at slå loggen fra - du skal i hvert fald ha' styr på din backup, som skal være på plads inden trin 2.

Umiddelbart vil jeg fraråde at køre uden log - også i trin 2. Det koster lidt plads, men sådan er det jo.
Avatar billede pnielsen Nybegynder
18. maj 2004 - 23:35 #7
Archive slår man ikke fra og til.. Det kører man bare med i et produktionssystem.
Det er et must hvis du en dag skal recover din database uden at miste data. Så lad være med at begynde at slå det fra/til. Kør med det altid! I testsystemer og i enkelte former for databaser (f.eks. datawarehouses hvor data altid kan genskabes fra andre databaser) kan man slå det fra, men ellers vil jeg aldrig sige at man kører et rigtigt system uden.


Du fik vist aldrig et svar på hvad /Nolog optionen egenligt er.

I version 8.x og ældre havde man en server manager, som man brugte på serveren istedet for sqlplus. Det var næsten det samme. I dag er f.eks. "show parameter" komandoen med i sqlplus, så der er ingen grund til at have 2 indgange.

Derfor desupporterede man server manager (srvmgr) og fjernede den helt i version 9.

For at hjælpe folk der havde skrevet script til svrmgr, lavede man en måde man kunne komme ind i en svrmgr alike prompt uden at connecte.

Man bruger den ved at skrive:
sqlplus /nolog

Du vil nu få en sqlplus vindue - uden at være connected til nogen database. Herefter connecter du som normalt - ala. CONNECT scott/tiger@database.world

(selvom den kære scott faktisk også er fjernet i nyere versioner - men det er jo en helt anden historie (rigtige dba'er smider ham alligevel på testdatabasen)) :-)

/Paw
Avatar billede pnielsen Nybegynder
18. maj 2004 - 23:39 #8
hehe... og så skriver jeg lige forkert... Den hedder selvfølgelig svrmgrl ;-)
Mener at l'et betyder linemode - correct me if I am wrong.
På NT 7.3.4 hed server manager iøvrigt svrmgr23 og i 8.0.5 hed den svrmgr30. Det var først i 8.1.x den fulgte standarden fra unix - svrmgrl.

Godnat
Avatar billede amoelle Nybegynder
19. maj 2004 - 10:26 #9
Tak for endnu flere kompetente kommentarer.
Jeg er enig i betragtningerne om hvorvidt archive skal være slået til eller fra, men driftsfolkene ( som tager en full backup hver weekend og gemmer archive logs hver nat) havde foreslået, at opgraderingsscript'ene skulle køre uden archive for at maskinen ikke skulle gå helt i knæ.
Det er jo så altså ikke muligt uden at skulle kopiere berørte tabeller over i et særligt tablespace.
Og da data (50-60 mill. records) bagefter skal over i et 'almindeligt' tablespace, øger vi nedetiden i den sidste ende.
Så konklusionen må være, at produktionen må affinde sig med dårligere performance, mens opgraderingen foregår !
/Anne
Avatar billede lap Nybegynder
19. maj 2004 - 23:05 #10
og jeg er (fortsat) enig med pnielsen - og "l" er for linemode - der var/er en semigrafisk udgave uden "l" - forresten er forfærdelig oplevelse der heldigvis kun levede i kort tid :-)
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