Für den Fall, dass man die Logfiles unter Oracle vergrößern möchte sollte man so vorgehen.
In diesem Beispiel werden sechs neue Logfiles mit jeweils 800 MB größe angelegt und die alten Logfiles gelöscht.
Einfaches vergrößern der Logfiles ist (soweit ich weiß) nicht möglich.
Natürlich müssen die Verzeichnisse, Gruppen und Namen an die jeweilige Systemumgebung angepasst werden!
- Zur Sicherheit vorab noch eine DB-Sicherung durchführen
- Neue Logfiles in DB anlegen
ALTER DATABASE ADD LOGFILE GROUP 17 ('/oracle/origlogA/log_g17_m1.dbf', '/oracle/mirrlogA/log_g17_m2.dbf') SIZE 800M; ALTER DATABASE ADD LOGFILE GROUP 18 ('/oracle/origlogB/log_g18_m1.dbf', '/oracle/mirrlogB/log_g18_m2.dbf') SIZE 800M; ALTER DATABASE ADD LOGFILE GROUP 19 ('/oracle/origlogA/log_g19_m1.dbf', '/oracle/mirrlogA/log_g19_m2.dbf') SIZE 800M; ALTER DATABASE ADD LOGFILE GROUP 20 ('/oracle/origlogB/log_g20_m1.dbf', '/oracle/mirrlogB/log_g20_m2.dbf') SIZE 800M; ALTER DATABASE ADD LOGFILE GROUP 21 ('/oracle/origlogA/log_g21_m1.dbf', '/oracle/mirrlogA/log_g21_m2.dbf') SIZE 800M; ALTER DATABASE ADD LOGFILE GROUP 22 ('/oracle/origlogB/log_g22_m1.dbf', '/oracle/mirrlogB/log_g22_m2.dbf') SIZE 800M;
- Logfiles in DB durchswitchen
solangeALTER SYSTEM SWITCH LOGFILE;
bis
SELECT * FROM V$LOGFILE f, V$LOG v WHERE f.group#=v.group#
der Status „CURRENT“ auf den neuen Member /oracle/origlogA/log_g17_m1.dbf zeigt.
- alte Logfiles in DB löschen
Dann können die alten Gruppen gelöscht werden:ALTER DATABASE DROP LOGFILE GROUP 1; ALTER DATABASE DROP LOGFILE GROUP 2; ALTER DATABASE DROP LOGFILE GROUP 3; ALTER DATABASE DROP LOGFILE GROUP 4; ALTER DATABASE DROP LOGFILE GROUP 5; ALTER DATABASE DROP LOGFILE GROUP 6;
- Logfiles in DB durchswitchen
MitALTER SYSTEM SWITCH LOGFILE;
alle Logfile-Gruppen durchswitchen um zu prüfen, ob alles in Ordnung ist.
- im OS Prüfen, ob ein altes Logfile noch geöffnet ist
lsof | grep log_g.*dbf
- im OS die alten Logfiles löschen
rm /oracle/origlogA/log_g11m1.dbf /oracle/origlogB/log_g12m1.dbf /oracle/origlogA/log_g13m1.dbf /oracle/origlogB/log_g14m1.dbf /oracle/origlogA/log_g15m1.dbf /oracle/origlogB/log_g16m1.dbf
Hilfreiche SQL-Statements:
SELECT event, time_waited_micro FROM V$SYSTEM_EVENT WHERE event LIKE 'log file switch (checkpoint incomplete)'; SELECT instance_name, to_char(startup_time,'dd.mm.yyyy hh24:mi:ss') AS startup_time FROM v$instance; SELECT * FROM V$LOGFILE; SELECT * FROM V$LOG; SELECT * FROM V$LOGFILE f, V$LOG v WHERE f.group#=v.group#; |
Neueste Kommentare