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

Umieść zdarzenie w dzienniku zdarzeń systemu Windows za pomocą Oracle

Powód, dla którego działa pod SYS jest to, że jest to specjalne konto uprzywilejowane. Musisz utworzyć nowe poświadczenia i zmapować je do pracy

Rozwiązaniem byłoby utworzenie poświadczenia z DBMS_SCHEDULER.CREATE_CREDENTIAL wraz z kontem systemu operacyjnego, które ma wystarczające uprawnienia i przypisz nowe poświadczenia do swojej pracy.

Szczerze mówiąc, kwestia wyzwalacza jeszcze nie wiem.

Edytuj - rozwiązanie oparte na narzędziu podtransakcyjnym Oracle

Po aktualizacji OP i reakcji na komentarze:

W oparciu o przepływ pracy myślę, że lepiej jest użyć wewnętrznego powiadomienia Oracle, aby wykonać responsywne rewizja. Myślę, że próba włamania się do dziennika zdarzeń systemu Windows za pomocą zewnętrznej aplikacji wprowadza kolejną niepotrzebną warstwę złożoności.

Stworzyłbym tabelę w bazie danych, w której przechowywałbym wszystkie zdarzenia, a na górze tej tabeli utworzyłbym zadanie z powiadomieniami (SMS, poczta itp.), które byłyby uruchamiane w przypadku wystąpienia jakiejkolwiek zmiany w tabeli dziennika.

Aby użyć wyzwalaczy, gdy wystąpi błąd, należy użyć PRAGMA autonomous_transaction z głównego zakresu (pozwala na wykonanie podtransakcji). Umożliwi to zatwierdzenie dowolnego DML możesz mieć, ale cofnij resztę.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak radzić sobie z 1-poziomowym limitem zagnieżdżania w Oracle?

  2. Oracle:Wybierz z typu danych rekordu

  3. Liczba SQL dla kolumny daty

  4. Jak uzyskać wartość ASCII w Oracle?

  5. Przykład funkcji potokowej Oracle