sql >> Databasteknik >  >> RDS >> Oracle

Placera händelse i Windows Event Log med Oracle

Anledningen till att det fungerar under SYS är att det är ett särskilt privilegierat konto. Du måste skapa en ny referens och mappa den till jobbet

Lösningen skulle vara att skapa en referens med DBMS_SCHEDULER.CREATE_CREDENTIAL tillsammans med OS-konto som har tillräckligt med privilegier och tilldela denna nya inloggningsinformation till ditt jobb.

För att vara ärlig så vet jag inte ännu.

Redigera - lösningsbaserad med Oracles deltransaktionsfacilitet

Efter OP-uppdatering och reaktion på kommentarer:

Baserat på arbetsflödet tror jag att det är bättre att använda intern Oracles avisering för att göra den responsiva granska. Jag tror att att försöka hacka sig själv in i Windows händelselogg via extern applikation ger ytterligare ett onödigt lager av komplexitet.

Jag skulle skapa en tabell inom DB där jag skulle lagra alla händelser och ovanpå den tabellen skulle jag skapa ett jobb med aviseringar (SMS, mail, etc) som skulle köras om någon ändring i loggtabellen inträffar.

För att kunna använda triggers när ett fel uppstår bör du använda >PRAGMA autonomous_transaction från ditt huvudomfång (låter dig göra en deltransaktion). Detta gör att du kan utföra vilken DML som helst du kanske har, men gör en återställning resten.



  1. Konvertera epok till datum i sqlplus / Oracle

  2. MySQL - Visa alla permutationer?

  3. Autonummer och återställningsräkning för varje kolumnvärde

  4. SQL Server:Ersätt ogiltiga XML-tecken från ett VARCHAR(MAX)-fält