The role of system permission ADMINISTER DATABASE TRIGGER
Create a system trigger based on database. When you encounter a permission problem, check whether you need ADMINISTER DATABASE TRIGGER permission [@ more@] SQL > create or replace trigger trigg_db 2 after logon on database 3-for each row 4 declare 5-local variables here 6 begin 7 insert into t_trace values (sys_context ('userenv','ip_address'), 8 sys_context (' userenv','terminal'), 9 sys.login_user, 10 sysdate, 11 sys.sysevent); 12 end trigg_db 13 / after logon on database * an error occurred on line 2: ORA-01031: insufficient permissions-- = = SQL > grant ADMINISTER DATABASE TRIGGER to test; authorization succeeded. SQL >-- = SQL > create or replace trigger trigg_db 2 after logon on database 3-- for each row 4 declare 5-- local variables here 6 begin 7 insert into t_trace values (sys_context ('userenv','ip_address'), 8 sys_context (' userenv','terminal'), 9 sys.login_user, 10 sysdate, 11 sys.sysevent); 12 end trigg_db; 13 / trigger has been created SQL >-- = To create a trigger on DATABASE, you must have the ADMINISTER DATABASE TRIGGER privilege. If this privilege is later revoked, then you can drop the trigger, but not alter it. -- =