Mam środowisko Oracle EM12c (wersja 12.1.0.3) skonfigurowane do monitorowania moich produkcyjnych baz danych. W jednej bazie danych od czasu do czasu otrzymuję alert dotyczący kategorii „Czas oczekiwania w bazie danych (%)”. Jednak wyłączyłem te dane w EM.
Dowiedziałem się, że ta metryka jest alertem po stronie serwera. Wyłączenie w OMS nie zatrzymuje gromadzenia metryki przez agenta po stronie serwera. Częścią, której nie rozumiem, jest to, że jeśli wyłączyłem metrykę w OMS, nawet jeśli agent poinformuje OMS o problemie, czy OMS nie powinien go zignorować? Dlaczego nadal otrzymuję alert?
Aby to zmienić, musiałem zalogować się do danej bazy danych i wydać to:
begin dbms_server_alert.set_threshold(dbms_server_alert.db_time_waiting, dbms_server_alert.OPERATOR_GE,99, dbms_server_alert.OPERATOR_GE,100, 60,6, 'db_name',dbms_server_alert.object_type_event_class,'Network'); end; /
Ustawiłem alerty tak, aby próg ostrzegawczy wynosił 99, a krytyczny 100. Zauważ na czerwono, że dotyczy to kategorii Sieć. Możliwe kategorie to:
- Administracyjny
- Aplikacja
- Klaster
- Potwierdź
- Współczesność
- Konfiguracja
- Sieć
Podobne polecenia wydałem dla pozostałych kategorii. Teraz nie otrzymuję już tych alertów.
To wciąż frustrujące, że muszę podjąć to działanie. Rozumiem koncepcję, że jest to alert po stronie serwera. To, czego nie widzę, to dlaczego wciąż otrzymuję e-mail. OMS z pewnością może być mądrzejszy. Powinien mieć prawo powiedzieć, że otrzymałem alert, ale został wyłączony dla tego celu, więc nie będę nikomu niepokoić.