Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Archiwizator zawieszony ze względu na KOMPATYBILNY ORA-16484

Dziś rano obudziło mnie kilka alertów od EM o zawieszeniu mojego archiwizatora, podobne do tych:

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

Użyłem DG Broker, aby zatrzymać, a następnie ponownie uruchomić transport dzienników.

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

Ale archiwizator i tak by wisiał. Więc przejdź do dziennika alertów, aby uzyskać więcej wskazówek. Znalazłem to w dzienniku alertów głównego:

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

Komunikat o błędzie wydaje się oczywisty. Mam zestaw KOMPATYBILNY za niski. W tym momencie przypomniałem sobie, że miesiąc temu zmieniłem KOMPATYBILNY w podstawowym. Zapomniałem też zmienić to w gotowości. Szybka weryfikacja potwierdziła moją hipotezę. COMPATIBLE jest ustawiony na 12.1.0.2 w trybie podstawowym, ale 11.2.0 w trybie gotowości. Więc jest mój problem. Zmieniłem COMPATIBLE w trybie gotowości, odbiłem go, a następnie wznowiłem transport dziennika. Życie było w porządku i wszystko zostało naprawione.

Jeśli dobrze pamiętasz, powiedziałem, że zmieniłem KOMPATYBILNY w podstawowym miesiącu temu. Dlaczego był to problem dzisiaj, a nie wtedy? Aby to wiedzieć, musisz znać historię zmian dla tej bazy danych. Zeszłej nocy wprowadziliśmy nowy kod do produkcji. Częścią wydania kodu było dodanie nowej tabeli, która korzystała z nowej funkcji kolumny IDENTITY Oracle 12c. To była pierwsza funkcja obsługująca tylko 12c, którą wdrożyliśmy w naszej bazie kodu. W trybie gotowości próbowano utworzyć tabelę z nową funkcją, ale operacja ta nie mogła zostać zakończona z powodu nieprawidłowego ustawienia parametrów. Nadal jestem trochę zdezorientowany, jak to wpłynęło na transport kłód. Spodziewałem się, że tylko log zostanie złamany, ale tak to się objawiło.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Funkcja HEXTORAW() w Oracle

  2. Oracle:OALL8 jest w niespójnym stanie

  3. zapytanie Oracle sql, aby wyświetlić wszystkie daty z poprzedniego miesiąca

  4. Dlaczego klauzula Oracle IN ma limit 1000 tylko dla danych statycznych?

  5. Jak edytować procedurę składowaną w Oracle SQL Developer?