sql >> Databasteknik >  >> RDS >> Oracle

Arkivering hängde på grund av KOMPATIBEL ORA-16484

I morse vaknade jag av några varningar från EM om att min arkiverare hängdes, liknande följande:

Target type=Database Instance 
Target name=orcl4 
Categories=Fault 
Message=The archiver hung at time/line number: Fri Sep 09 06:07:22 2016/376. 
Severity=Critical

Jag använde DG Broker för att stoppa och sedan starta om loggtransport.

edit database orcl set state=transport-off;
edit database orcl set state=transport-on;

Men arkivarien skulle ändå bli hängd. Så det går till varningsloggen för att få fler ledtrådar. Jag hittade detta i den primära varningsloggen:

TT00: Attempting destination LOG_ARCHIVE_DEST_2 network reconnect (16484)
TT00: Destination LOG_ARCHIVE_DEST_2 network reconnect abandoned
Fri Sep 09 08:07:40 2016
Errors in file /u01/app/oracle/diag/rdbms/orcl/orcl4/trace/orcl4_tt00_16068.trc:
ORA-16484: compatibility setting is too low

Felmeddelandet verkar självförklarande. Jag har ställt COMPATIBLE för lågt. Vid det här laget kom jag ihåg att jag bytte KOMPATIBEL i primären för en månad sedan. Jag måste ha glömt att också ändra detta i standby. En snabb verifikation bevisade min hypotes. KOMPATIBEL är inställd på 12.1.0.2 i primär men 11.2.0 i vänteläge. Så där är mitt problem. Jag bytte KOMPATIBEL i vänteläget, studsade den och återupptog sedan stocktransporten. Livet var bra och allt var fixat.

Om du minns rätt sa jag att jag bytte KOMPATIBEL i primären för en månad sedan. Varför var detta ett problem idag och inte då? För att veta det måste du känna till ändringshistoriken för den här databasen. I går kväll släppte vi ny kod till produktion. En del av kodreleasen var att inkludera en ny tabell som använde Oracle 12cs nya IDENTITY-kolumnfunktion. Detta var den första 12c-bara funktionen som vi implementerade i vår kodbas. Vänteläget försökte skapa tabellen med den nya funktionen men den åtgärden kunde inte slutföras på grund av felaktig parameterinställning. Jag är fortfarande lite förvirrad över hur detta påverkade stocktransporten. Jag hade förväntat mig att endast loggansökan skulle brytas, men så här visade det sig.


  1. Utforska Postgres datumformat och deras olika funktioner

  2. Hur man säkerhetskopierar MySQL-databaser med hjälp av cron-jobb

  3. Hur man återställer MySQL-databas från .myd-, .myi-, .frm-filer

  4. Returnera rader som endast innehåller icke-alfanumeriska tecken i SQLite