O Oracle tentará recompilar objetos inválidos conforme eles são referidos. Aqui o gatilho é inválido, e toda vez que você tentar inserir uma linha ele tentará recompilar o gatilho, e falhará, o que leva ao erro ORA-04098.
Você pode
select * from user_errors where type = 'TRIGGER' and name = 'NEWALERT'
para ver qual(is) erro(s) o gatilho realmente recebe e por que ele não compila. Neste caso, parece que está faltando um ponto e vírgula no final do insert
linha:INSERT INTO Users (userID, firstName, lastName, password)
VALUES ('how', 'im', 'testing', 'this trigger')
Então faça:
CREATE OR REPLACE TRIGGER newAlert
AFTER INSERT OR UPDATE ON Alerts
BEGIN
INSERT INTO Users (userID, firstName, lastName, password)
VALUES ('how', 'im', 'testing', 'this trigger');
END;
/
Se você receber um aviso de compilação quando fizer isso, poderá
show errors
se você estiver no SQL*Plus ou SQL Developer, ou consulte user_errors
novamente. Claro, isso pressupõe que seus
Users
tabelas tem esses nomes de coluna, e eles são todos varchar2
... mas presumivelmente você estará fazendo algo mais interessante com o gatilho realmente.