Database level trigger: BEFORE SHUTDOWN ON DATABASE : Database Level Trigger « Trigger « Oracle PL/SQL Tutorial






SQL>
SQL> CREATE TABLE uptime_log (
  2      database_name       VARCHAR2(30),
  3      event_name          VARCHAR2(20),
  4      event_time          DATE,
  5      triggered_by_user   VARCHAR2(30)
  6  );

Table created.

SQL>
SQL>
SQL> CREATE OR REPLACE TRIGGER log_shutdown
  2  BEFORE SHUTDOWN ON DATABASE
  3  BEGIN
  4      INSERT INTO uptime_log
  5          (database_name,
  6           event_name,
  7           event_time,
  8           triggered_by_user)
  9          VALUES (sys.database_name,
 10                  sys.sysevent,
 11                  sysdate,
 12                  sys.login_user);
 13      COMMIT;
 14  END;
 15  /

Trigger created.

SQL>
SQL> drop table uptime_log;

Table dropped.








28.14.Database Level Trigger
28.14.1.Database level trigger: AFTER STARTUP ON DATABASE
28.14.2.Database level trigger: BEFORE SHUTDOWN ON DATABASE
28.14.3.New Database triggers
28.14.4.Database logon trigger
28.14.5.Database logoff trigger
28.14.6.Save information about all errors in an after-servererror on database