20. december 2005 - 12:13Der er
16 kommentarer og 1 løsning
9i genererer mange archive logs.
Hej
Et batchjob var blevet ændret fra at køre en gang i døgnet til at køre en gang i minuttet. Alle disse transaktioner medførte en masse logswitch og disken til archive logs løb fuld.
Jeg slettede de ældste archive logs og brugere kunne igen bruge databasen. Derefter rettede jeg batchjobbet til og troede alt var ok.
Men næh nej, et check afslørede at den stadig laver ALT for mange logswitch ift. normalt. Normalt 1-4 pr dag. Nu 4 i timen.
Hvordan får jeg den til at holde op igen ?? Helst uden at skulle genstarte.
Logminor er desværre ikke brugbar pt: A query could not be created because of the following error: VboInitFailureException: VBO-1508: An error has occured and the server object could not be initialized. please disconnect and try again. ORA-06550: line1,column112 PLZ-00905: object SYS.DBMS_LOGMNR is invalid ORA-06550: line 1, column 23: PL/SQL: Statement ignored
Men jeg har snydt og kopieret et par archive filer over på testserveren og analyseret dem der.
Vi skal finde ud af hvorfor du pludselig har så mange updates - så du kan enten gå i gang med logminer eller checke hvilke sessioner der pludselig er begyndt at køre tunge kørsler. Drill ned og se hvad de egenligt laver bottom line.
Mit gæt er at du stadig køre dine batchjobs mere end en gang i døgnet - hvis dine logswithes altså er fordelt ud over hele dagen?
Hvad gør det batchjob? Kan det have ændret på væsentligt på rækker i en tabel - så det nu kræver langt mere ?
Det underlige ved dem er at der ikke er ret mange transaktioner i dem, kun godt 2000 stk. Men en bestemt transaktion kan jo også sagtens være "tungere" end 100 andre.
Jeg er ved at gruppere osv i excel så jeg har ikke helt styr på det endnu.
Via OEM skal du ind under sys brugerens skema og kigge efter den pakke der hedder DBMS_LOGMNR.
Men check om der er noget der er invalid i basen via en sqlplus feks. select * from dba_objects where status='INVALID';
Eller recompile dem.. Script som danner recompile statements:
set heading off set feedback off set pages 200 spool comp_all1.sql select decode( OBJECT_TYPE, 'PACKAGE BODY', 'alter package "' || OWNER||'"."'||OBJECT_NAME || '" compile body;', 'alter ' || OBJECT_TYPE || ' "' || OWNER||'"."'||OBJECT_NAME || '" compile;' ) from dba_objects where timestamp like '%' and STATUS = 'INVALID' and OBJECT_TYPE in ( 'PACKAGE BODY', 'PACKAGE', 'FUNCTION', 'PROCEDURE', 'TRIGGER', 'VIEW' ) order by OWNER, OBJECT_TYPE, OBJECT_NAME; spool off @comp_all1.sql
Oki, den var invalid. Det eneste der stod var "AS".
Jeg har tilsyneladende fået styr på de mange logswitch men logminer virker stadig ikke ( får end of communication ) men det laver jeg lige et nyt spørgsmål på.
Hvilken version af Oracle er det ? Check for nyere patches inden du bakser alt for meget med det. En ora-3113 end of communication channel er altid svær at løse.
Lad mig lige høre hvad der var løsningen på de logswithes ?
Jeg skal have den patches den 25. da produktionen er lukket ned den dag så jeg ser lige om det hjælper.
Fejlen med logswitch bestod, tilsyneladende, af en overførsel fra en MSSQL server til Oraclen fejlede da programmet prøvede at indsætte data der violatede med en unik nøgle, efter dubletter er fjernet er der ihvertfald faldet ro på logswitch'es.
ahhh. så der var et job der stod og kørte igen og igen (restartede)fordi en del af det fejlede?? ;-)
Skal du op på 9.2.0.7? Så skal du bla. være opmærksom på de ændringer der er i forbindelse med htp pakkerne. Der er en sikkerhedsopdatering som opdatere det hele og gør at du skal lave nogle ændringer til dine webapplicationer (hvis i har dem!) Men det er simpelt - bare lidt info så du ikke skal side hele julen og arbejde :-) Ellers oplevede vi ikke noget ved vores opgradering til 9.2.0.7.
Men har man gjort det på sit test eller udviklingssystem er det jo også fundet.
De har i det hele taget lavet det hele om i sidste weekend. Så forstår godt det kan drille lidt.
Men patchsøgningen er den samme. Går ud fra det er patches til 9.2.x.x du leder efter? Login -> Tryk Patches and Updates -> Tryk Simple Search -> Vælg product or Family i search by feltet -> Skriv RDBMS i søgefeltet -> Vælg 9.2.0.7 i dropdown menuen -> vælg de platform i den anden drop down -> søg.. Bingo
Forstår ikke helt hvad du mener? Er det på windows? så er det patch 4163445 Den er cumulativ! Så den indeholder alle patches og kan ligges oven på alle versioner. Check readme for speciale ting - hvis der er nogle!
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.