System Packages Oracle PLSQL

SQL>
SQL>
SQL> CREATE TABLE error_log (
  2    timestamp     DATE,
  3    username      VARCHAR2(30),
  4    instance      NUMBER,
  5    database_name VARCHAR2(50),
  6    error_stack   VARCHAR2(2000)
  7    );
Table created.
SQL>
SQL> CREATE OR REPLACE TRIGGER LogErrors
  2    AFTER SERVERERROR ON DATABASE
  3  BEGIN
  4    INSERT INTO error_log
  5      VALUES (SYSDATE, SYS.LOGIN_USER, SYS.INSTANCE_NUM, SYS.
  6              DATABASE_NAME, DBMS_UTILITY.FORMAT_ERROR_STACK);
  7  END LogErrors;
  8  /
Trigger created.
SQL>
SQL> SELECT * FROM non_existent_table;
SELECT * FROM non_existent_table
              *
ERROR at line 1:
ORA-00942: table or view does not exist
SQL>
SQL> BEGIN
  2    INSERT INTO non_existent_table VALUES ('Hello!');
  3  END;
  4  /
  INSERT INTO non_existent_table VALUES ('Hello!');
              *
ERROR at line 2:
ORA-06550: line 2, column 15:
PL/SQL: ORA-00942: table or view does not exist
ORA-06550: line 2, column 3:
PL/SQL: SQL Statement ignored
SQL> COLUMN error_stack FORMAT a61 WRAPPED
SQL> SET LINE 80
SQL>
SQL> SELECT * FROM error_log;
TIMESTAMP USERNAME                         INSTANCE
--------- ------------------------------ ----------
DATABASE_NAME
--------------------------------------------------
ERROR_STACK
-------------------------------------------------------------
18-JUN-08 RNTSOFT                                  1
XE
ORA-00942: table or view does not exist
18-JUN-08 RNTSOFT                                  1
XE
ORA-06550: line 2, column 15:
TIMESTAMP USERNAME                         INSTANCE
--------- ------------------------------ ----------
DATABASE_NAME
--------------------------------------------------
ERROR_STACK
-------------------------------------------------------------
PL/SQL: ORA-00942: table or view does not exist
ORA-06550: line 2, column 3:
PL/SQL: SQL Statement ignored
SQL>
SQL> DROP TABLE error_log;
Table dropped.
SQL>
SQL> drop trigger LOGERRORS;
Trigger dropped.
SQL>